diff --git a/ui/layers/box_content.cpp b/ui/layers/box_content.cpp index 5034048..be8b707 100644 --- a/ui/layers/box_content.cpp +++ b/ui/layers/box_content.cpp @@ -179,6 +179,24 @@ void BoxContent::scrollToY(int top, int bottom) { } } +void BoxContent::sendScrollViewportEvent(not_null event) { + if (_scroll) { + _scroll->viewportEvent(event); + } +} + +rpl::producer<> BoxContent::scrolls() const { + return _scroll ? _scroll->scrolls() : rpl::never<>(); +} + +int BoxContent::scrollTop() const { + return _scroll ? _scroll->scrollTop() : 0; +} + +int BoxContent::scrollHeight() const { + return _scroll ? _scroll->height() : 0; +} + void BoxContent::scrollByDraggingDelta(int delta) { _draggingScroll.checkDeltaScroll(_scroll ? delta : 0); } diff --git a/ui/layers/box_content.h b/ui/layers/box_content.h index ec1ac76..034e0ee 100644 --- a/ui/layers/box_content.h +++ b/ui/layers/box_content.h @@ -209,6 +209,10 @@ public: void scrollByDraggingDelta(int delta); void scrollToY(int top, int bottom = -1); + void sendScrollViewportEvent(not_null event); + [[nodiscard]] rpl::producer<> scrolls() const; + [[nodiscard]] int scrollTop() const; + [[nodiscard]] int scrollHeight() const; protected: virtual void prepare() = 0;