3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/controls/ComponentReceiveActionType.h"
7#include "mc/client/gui/controls/ScrollbarDynamics.h"
8#include "mc/client/gui/controls/UIComponent.h"
9#include "mc/client/gui/screens/AnimationStatus.h"
10#include "mc/deps/input/enums/ButtonState.h"
27 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mScrollViewPort;
28 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mScrollContent;
29 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mScrollTrack;
30 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mScrollBox;
31 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mBoxAndTrackPanel;
32 ::ll::TypedStorage<4, 4, uint> mTrackScrollButtonId;
33 ::ll::TypedStorage<4, 4, uint> mTouchScrollButtonId;
34 ::ll::TypedStorage<4, 4, uint> mScrollingActiveEventId;
35 ::ll::TypedStorage<4, 4, uint> mScrollBarReleasedEventId;
36 ::ll::TypedStorage<4, 4, uint> mScrollBarBottomEventId;
37 ::ll::TypedStorage<1, 1, ::ButtonState> mLastTouchButtonState;
38 ::ll::TypedStorage<1, 1, ::ButtonState> mLastScrollBoxPressedState;
39 ::ll::TypedStorage<4, 4, float> mDistanceForScrollEventsToPassOn;
40 ::ll::TypedStorage<4, 4, float> mScrollSpeed;
41 ::ll::TypedStorage<1, 1, bool> mGestureControlMode;
42 ::ll::TypedStorage<1, 1, bool> mAlwaysHandleScrolling;
43 ::ll::TypedStorage<1, 1, bool> mTouchMode;
44 ::ll::TypedStorage<1, 1, bool> mAllowScrollEvenWhenContentFits;
45 ::ll::TypedStorage<1, 1, bool> mScrollbarAlwaysVisible;
46 ::ll::TypedStorage<4, 76, ::ScrollbarDynamics> mScrollbarDynamics;
47 ::ll::TypedStorage<1, 1, bool> mTouchScrollBarVisible;
48 ::ll::TypedStorage<4, 4, float> mTouchScrollBarIntensity;
49 ::ll::TypedStorage<1, 1, bool> mJumpToBottomOnUpdate;
50 ::ll::TypedStorage<4, 4, float> mContentSize;
55 ScrollViewComponent();
60 virtual ~ScrollViewComponent() =
default;
62 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner)
const ;
64 virtual void reset() ;
66 virtual void reload(::UIComponent
const& rhs) ;
68 virtual ::ComponentReceiveActionType receive(
69 ::VisualTree& visualTree,
70 ::ScreenInputContext& context,
71 ::UIAnimationController& animationController,
72 ::ScreenEvent
const& screenEvent
75 virtual void onNotifyChildRemoved() ;
77 virtual bool onLayoutChange() ;
92 ::glm::vec2
const& scrollContentSize,
93 ::glm::vec2
const& scrollViewPortSize
98 MCNAPI
void _updateScroll(::glm::vec2
const& delta,
bool updateScrollBoxLayout);
112 ::glm::vec2
const& position,
113 ::glm::vec2
const& deltaPosition,
133 MCNAPI
void $reload(::UIComponent
const& rhs);
Definition LayoutComponent.h:5
Definition ScreenInputContext.h:5
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition VisualTree.h:5
Definition ScreenEvent.h:5