LeviLamina
Loading...
Searching...
No Matches
UIControlFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/ChildInsertPosition.h"
7#include "mc/client/gui/FontHandle.h"
8#include "mc/client/gui/TileDirection.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/json/Value.h"
11
12// auto generated forward declare list
13// clang-format off
17class UIAnim;
18class UIControl;
20class UIResolvedDef;
21class UISoundPlayer;
22// clang-format on
23
24class UIControlFactory : public ::std::enable_shared_from_this<::UIControlFactory> {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const>> mUIDefRepository;
29 ::ll::TypedStorage<8, 8, ::UISoundPlayer const&> mSoundPlayer;
30 ::ll::TypedStorage<8, 32, ::std::string> mCurrentNamespace;
31 ::ll::TypedStorage<8, 16, ::Json::Value> mGlobalVars;
32 ::ll::TypedStorage<8, 24, ::std::vector<::Json::Value*>> mVariablesStack;
33 ::ll::TypedStorage<8, 80, ::FontHandle> mFontHandle;
34 ::ll::TypedStorage<8, 80, ::FontHandle> mRuneFontHandle;
35 ::ll::TypedStorage<8, 80, ::FontHandle> mUnicodeFontHandle;
36 ::ll::TypedStorage<8, 80, ::FontHandle> mSmoothFontHandle;
37 ::ll::TypedStorage<1, 1, bool> mLowMemoryMode;
38 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mInitialSelectedControl;
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 UIControlFactory& operator=(UIControlFactory const&);
44 UIControlFactory(UIControlFactory const&);
45 UIControlFactory();
46
47public:
48 // member functions
49 // NOLINTBEGIN
50 MCAPI UIControlFactory(
51 ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> uiDefRepo,
52 ::Json::Value const& globalVars,
53 ::UISoundPlayer const& soundPlayer,
54 ::FontHandle fontHandle,
55 ::FontHandle runeFontHandle,
56 ::FontHandle unicodeFontHandle,
57 ::FontHandle smoothFontHandle,
58 bool isLowMemory
59 );
60
61 MCAPI ::UIAnim* _addAnimToComponent(::std::string_view name, ::UIControl& ownerControl);
62
63 MCAPI ::std::shared_ptr<::UIControl> _createControlTree(
64 ::UIControlFactoryContext const&,
65 ::UIControl const& templateControl,
66 ::UIControl* parent,
67 ::ui::ChildInsertPosition childInsertPosition
68 );
69
70 MCAPI ::std::shared_ptr<::UIControl> _createControlTree(
71 ::UIControlFactoryContext const& context,
72 ::std::string_view name,
73 ::ControlScreenAction& controlScreenAction,
74 ::UIControl* parent,
75 ::ui::ChildInsertPosition childInsertPosition,
76 ::Json::Value* additionalVars,
77 bool isTemplateControl
78 );
79
80 MCAPI ::std::shared_ptr<::UIControl> _createControlTreeFromResolvedDef(
81 ::UIControlFactoryContext const& context,
82 ::UIResolvedDef const& resolvedDef,
83 ::UIControl* parentControl,
84 ::ControlScreenAction& controlScreenAction,
85 ::ui::ChildInsertPosition childInsertPosition,
86 bool isTemplateControl
87 );
88
89 MCAPI ::std::shared_ptr<::UIControl> _createControlTreeRootOnly(
90 ::UIControlFactoryContext const& context,
91 ::std::string_view name,
92 ::ControlScreenAction& controlScreenAction
93 );
94
95 MCAPI void _createCustom(::UIControl& control, ::UIResolvedDef const& def);
96
97 MCAPI ::std::shared_ptr<::UIControl> _createFromResolvedDef(
98 ::UIControlFactoryContext const& context,
99 ::UIResolvedDef const& resolvedDef,
100 ::UIControl* parentControl,
101 ::ControlScreenAction& controlScreenAction,
102 ::ui::ChildInsertPosition childInsertPosition,
103 bool isTemplateControl
104 );
105
106 MCAPI void _createGradientRenderer(::CustomRenderComponent& customRenderComponent, ::UIResolvedDef const& def);
107
108 MCAPI ::FontHandle _getFontFromFontType(::std::string const& fontType) const;
109
110 MCAPI ::std::pair<::FontHandle, ::FontHandle> _getFontsFromFontType(::std::string const& fontType) const;
111
112 MCAPI void _populateAnimations(::UIResolvedDef const& def, ::UIControl& control);
113
114 MCAPI void _populateButtonComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
115
116 MCAPI void _populateCollectionComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
117
118 MCAPI void _populateCollectionItemComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
119
120 MCAPI void _populateControl(::UIResolvedDef const& def, ::UIControl& control);
121
122 MCAPI void _populateCustomRenderComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
123
124 MCAPI void _populateDataBindingComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
125
126 MCAPI void _populateDebugRendererComponent(::UIResolvedDef const& def, ::UIControl& control);
127
128 MCAPI void _populateDropdownComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
129
130 MCAPI void _populateFactoryComponent(
131 ::UIControlFactoryContext const& context,
132 ::UIResolvedDef const& def,
133 ::UIControl& ownerControl
134 );
135
136 MCAPI void _populateFocusComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
137
138 MCAPI void _populateFocusContainerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
139
140 MCAPI void _populateGestureComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
141
142 MCAPI void _populateGridComponent(
143 ::UIControlFactoryContext const& context,
144 ::UIResolvedDef const& def,
145 ::UIControl& ownerControl
146 );
147
148 MCAPI void _populateGridItemComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
149
150 MCAPI void _populateImageCyclingComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
151
152 MCAPI void _populateInputComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
153
154 MCAPI void _populateLayoutComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
155
156 MCAPI void _populatePageIndicatorGridComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
157
158 MCAPI void _populatePageIndicatorManagerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
159
160 MCAPI void _populateScreenComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
161
162 MCAPI void _populateScrollViewComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
163
164 MCAPI void _populateSelectionWheelComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
165
166 MCAPI void _populateSliderBoxComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
167
168 MCAPI void _populateSliderComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
169
170 MCAPI void _populateSliderGroupManagerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
171
172 MCAPI void _populateSoundComponent(::UIResolvedDef const& def, ::UIControl& ownerControl, bool alwaysCreate);
173
174 MCAPI void _populateSpriteComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
175
176 MCAPI void _populateStackPanelComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
177
178 MCAPI void _populateTextComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
179
180 MCAPI void _populateTextCyclingComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
181
182 MCAPI void _populateTextEditComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
183
184 MCAPI void
185 _populateTextToSpeechComponent(::UIResolvedDef const& def, ::UIControl& ownerControl, int controlPriorityDefault);
186
187 MCAPI void _populateTextToSpeechContainerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
188
189 MCAPI void _populateToggleComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
190
191 MCAPI void _populateToggleGroupManagerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
192
193 MCAPI void _populateTooltipTriggerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
194
195 MCAPI void
196 _postCreate(::UIControlFactoryContext const& context, ::UIControl& control, ::UIResolvedDef const& controlDef);
197
198 MCAPI ::ui::TileDirection const
199 _resolveTileDirection(::UIResolvedDef const& ownerDef, ::UIControl&, ::std::string const& propertyName);
200
201 MCAPI ~UIControlFactory();
202 // NOLINTEND
203
204public:
205 // constructor thunks
206 // NOLINTBEGIN
207 MCAPI void* $ctor(
208 ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> uiDefRepo,
209 ::Json::Value const& globalVars,
210 ::UISoundPlayer const& soundPlayer,
211 ::FontHandle fontHandle,
212 ::FontHandle runeFontHandle,
213 ::FontHandle unicodeFontHandle,
214 ::FontHandle smoothFontHandle,
215 bool isLowMemory
216 );
217 // NOLINTEND
218
219public:
220 // destructor thunk
221 // NOLINTBEGIN
222 MCAPI void $dtor();
223 // NOLINTEND
224};
Definition ControlScreenAction.h:5
Definition CustomRenderComponent.h:5
Definition IUIDefRepository.h:5
Definition UIAnim.h:5
Definition UIControlFactoryContext.h:5
Definition UIControlFactory.h:5
Definition UIControl.h:5
Definition UIResolvedDef.h:5
Definition UISoundPlayer.h:5