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
14class UIControl;
18struct IUIDefRepository;
19struct UIAnim;
20struct UIResolvedDef;
21struct 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 ::std::shared_ptr<::UIControl> _createFromResolvedDef(
96 ::UIControlFactoryContext const& context,
97 ::UIResolvedDef const& resolvedDef,
98 ::UIControl* parentControl,
99 ::ControlScreenAction& controlScreenAction,
100 ::ui::ChildInsertPosition childInsertPosition,
101 bool isTemplateControl
102 );
103
104 MCAPI void _createGradientRenderer(::CustomRenderComponent& customRenderComponent, ::UIResolvedDef const& def);
105
106 MCAPI ::FontHandle _getFontFromFontType(::std::string const& fontType) const;
107
108 MCAPI ::std::pair<::FontHandle, ::FontHandle> _getFontsFromFontType(::std::string const& fontType) const;
109
110 MCAPI void _populateAnimations(::UIResolvedDef const& def, ::UIControl& control);
111
112 MCAPI void _populateButtonComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
113
114 MCAPI void _populateCollectionComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
115
116 MCAPI void _populateCollectionItemComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
117
118 MCAPI void _populateControl(::UIResolvedDef const& def, ::UIControl& control);
119
120 MCAPI void _populateCustomRenderComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
121
122 MCAPI void _populateDataBindingComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
123
124 MCAPI void _populateDebugRendererComponent(::UIResolvedDef const& def, ::UIControl& control);
125
126 MCAPI void _populateDropdownComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
127
128 MCAPI void _populateFactoryComponent(
129 ::UIControlFactoryContext const& context,
130 ::UIResolvedDef const& def,
131 ::UIControl& ownerControl
132 );
133
134 MCAPI void _populateFocusComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
135
136 MCAPI void _populateFocusContainerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
137
138 MCAPI void _populateGestureComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
139
140 MCAPI void _populateGridComponent(
141 ::UIControlFactoryContext const& context,
142 ::UIResolvedDef const& def,
143 ::UIControl& ownerControl
144 );
145
146 MCAPI void _populateGridItemComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
147
148 MCAPI void _populateImageCyclingComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
149
150 MCAPI void _populateInputComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
151
152 MCAPI void _populateLayoutComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
153
154 MCAPI void _populatePageIndicatorGridComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
155
156 MCAPI void _populatePageIndicatorManagerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
157
158 MCAPI void _populateScreenComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
159
160 MCAPI void _populateScrollViewComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
161
162 MCAPI void _populateSelectionWheelComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
163
164 MCAPI void _populateSliderBoxComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
165
166 MCAPI void _populateSliderComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
167
168 MCAPI void _populateSliderGroupManagerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
169
170 MCAPI void _populateSoundComponent(::UIResolvedDef const& def, ::UIControl& ownerControl, bool alwaysCreate);
171
172 MCAPI void _populateSpriteComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
173
174 MCAPI void _populateStackPanelComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
175
176 MCAPI void _populateTextComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
177
178 MCAPI void _populateTextCyclingComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
179
180 MCAPI void _populateTextEditComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
181
182 MCAPI void
183 _populateTextToSpeechComponent(::UIResolvedDef const& def, ::UIControl& ownerControl, int controlPriorityDefault);
184
185 MCAPI void _populateToggleComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
186
187 MCAPI void _populateToggleGroupManagerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
188
189 MCAPI void _populateTooltipTriggerComponent(::UIResolvedDef const& def, ::UIControl& ownerControl);
190
191 MCAPI void
192 _postCreate(::UIControlFactoryContext const& context, ::UIControl& control, ::UIResolvedDef const& controlDef);
193
194 MCAPI ::ui::TileDirection const
195 _resolveTileDirection(::UIResolvedDef const& ownerDef, ::UIControl&, ::std::string const& propertyName);
196
197 MCAPI ::std::shared_ptr<::UIControl> createControlTree(
198 ::UIControl const& templateControl,
199 ::UIControl* parent,
200 ::ui::ChildInsertPosition childInsertPosition
201 );
202
203 MCAPI ~UIControlFactory();
204 // NOLINTEND
205
206public:
207 // constructor thunks
208 // NOLINTBEGIN
209 MCAPI void* $ctor(
210 ::Bedrock::NotNullNonOwnerPtr<::IUIDefRepository const> uiDefRepo,
211 ::Json::Value const& globalVars,
212 ::UISoundPlayer const& soundPlayer,
213 ::FontHandle fontHandle,
214 ::FontHandle runeFontHandle,
215 ::FontHandle unicodeFontHandle,
216 ::FontHandle smoothFontHandle,
217 bool isLowMemory
218 );
219 // NOLINTEND
220
221public:
222 // destructor thunk
223 // NOLINTBEGIN
224 MCAPI void $dtor();
225 // NOLINTEND
226};
Definition UIControlFactoryContext.h:5
Definition UIControlFactory.h:5
Definition UIControl.h:5
Definition ControlScreenAction.h:5
Definition CustomRenderComponent.h:5
Definition IUIDefRepository.h:5
Definition UIAnim.h:5
Definition UIResolvedDef.h:5
Definition UISoundPlayer.h:5