LeviLamina
Loading...
Searching...
No Matches
SelectionWheelComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/controls/ComponentReceiveActionType.h"
7#include "mc/client/gui/controls/UIComponent.h"
8#include "mc/deps/input/InputMode.h"
9
10// auto generated forward declare list
11// clang-format off
14class UIControl;
15class VisualTree;
17struct ScreenEvent;
18// clang-format on
19
21public:
22 // SelectionWheelComponent inner types declare
23 // clang-format off
25 // clang-format on
26
27 // SelectionWheelComponent inner types define
28 enum class SelectionWheelIterateDir : uchar {
29 Left = 0,
30 Right = 1,
31 };
32
34 public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<8, 8, uint64> mHoverSlice;
38 ::ll::TypedStorage<4, 4, uint> mButtonEventName;
39 ::ll::TypedStorage<1, 1, bool> mIsInteracted;
40 ::ll::TypedStorage<1, 1, bool> mIsSlotButtonPressed;
41 // NOLINTEND
42 };
43
44 using HoverSliceType = uint64;
45
46public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mWeakScreenControl;
50 ::ll::TypedStorage<8, 24, ::std::vector<::std::weak_ptr<::UIControl>>> mStateControls;
51 ::ll::TypedStorage<1, 1, bool> mConsumeEvents;
52 ::ll::TypedStorage<8, 8, uint64> mSliceCount;
53 ::ll::TypedStorage<8, 8, uint64> mHoverSlice;
54 ::ll::TypedStorage<8, 8, uint64> mLastValidHoverSlice;
55 ::ll::TypedStorage<4, 4, float> mInnerRadius;
56 ::ll::TypedStorage<4, 4, float> mOuterRadius;
57 ::ll::TypedStorage<4, 4, uint> mAnalogButtonNameId;
58 ::ll::TypedStorage<4, 4, uint> mSelectButtonNameId;
59 ::ll::TypedStorage<4, 4, uint> mHoverButtonNameId;
60 ::ll::TypedStorage<4, 4, uint> mIterateLeftNameId;
61 ::ll::TypedStorage<4, 4, uint> mIterateRightNameId;
62 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mSelectSlotNameIds;
63 ::ll::TypedStorage<4, 4, ::InputMode> mInputMode;
64 // NOLINTEND
65
66public:
67 // prevent constructor by default
68 SelectionWheelComponent();
69
70public:
71 // virtual functions
72 // NOLINTBEGIN
73 virtual ~SelectionWheelComponent() /*override*/;
74
75 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner) const /*override*/;
76
77 virtual void reset() /*override*/;
78
79 virtual void reload(::UIComponent const& rhs) /*override*/;
80
81 virtual ::ComponentReceiveActionType receive(
82 ::VisualTree& visualTree,
83 ::ScreenInputContext& context,
84 ::UIAnimationController& animationController,
85 ::ScreenEvent const& screenEvent
86 ) /*override*/;
87
88 virtual ::ComponentReceiveActionType receive(::ScreenEvent const& screenEvent) /*override*/;
89
90 virtual void onVisibilityChanged(bool visible) /*override*/;
91
92 virtual void onEnabledChanged(bool enabled) /*override*/;
93 // NOLINTEND
94
95public:
96 // member functions
97 // NOLINTBEGIN
98 MCAPI explicit SelectionWheelComponent(::UIControl& owner);
99
100 MCAPI void _broadcastNewHoverSliceButtonEvent(
101 ::ScreenInputContext& context,
102 ::SelectionWheelComponent::ButtonInteractionInfo const& buttonInteractionInfo
103 );
104
105 MCAPI uint64 _computeHoverSliceDeflection(::PointerMoveScreenEventData const& moveData);
106
107 MCAPI void _updateControlVisibility();
108
109 MCAPI void addStateControl(::std::shared_ptr<::UIControl> control);
110 // NOLINTEND
111
112public:
113 // constructor thunks
114 // NOLINTBEGIN
115 MCAPI void* $ctor(::UIControl& owner);
116 // NOLINTEND
117
118public:
119 // destructor thunk
120 // NOLINTBEGIN
121 MCAPI void $dtor();
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
128
129 MCAPI void $reset();
130
131 MCAPI void $reload(::UIComponent const& rhs);
132
133 MCAPI ::ComponentReceiveActionType $receive(
134 ::VisualTree& visualTree,
135 ::ScreenInputContext& context,
136 ::UIAnimationController& animationController,
137 ::ScreenEvent const& screenEvent
138 );
139
140 MCAPI ::ComponentReceiveActionType $receive(::ScreenEvent const& screenEvent);
141
142 MCAPI void $onVisibilityChanged(bool visible);
143
144 MCAPI void $onEnabledChanged(bool enabled);
145 // NOLINTEND
146
147public:
148 // vftables
149 // NOLINTBEGIN
150 MCNAPI static void** $vftable();
151 // NOLINTEND
152};
Definition ScreenInputContext.h:5
Definition SelectionWheelComponent.h:5
static MCAPI void ** $vftable()
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition UIControl.h:5
Definition VisualTree.h:5
Definition PointerMoveScreenEventData.h:5
Definition ScreenEvent.h:5
Definition SelectionWheelComponent.h:15