3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/GameEventNotification.h"
7#include "mc/client/gui/SceneType.h"
8#include "mc/client/gui/screens/BaseScreen.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/input/InputMode.h"
11#include "mc/deps/input/TextboxTextUpdateReason.h"
12#include "mc/deps/input/enums/ButtonState.h"
13#include "mc/deps/input/enums/DirectionId.h"
14#include "mc/deps/input/enums/FocusImpact.h"
15#include "mc/deps/input/enums/RawInputType.h"
46 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClientInstance;
47 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ScreenView>> mScreenView;
48 ::ll::TypedStorage<8, 64, ::std::function<void()>> mOnInitializedCallback;
49 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::AbstractSceneProxy>> mProxy;
61 virtual bool isGamepadCursorEnabled() const ;
63 virtual
bool isGamepadDeflectionModeEnabled() const ;
65 virtual ::glm::vec2 const& getGamepadCursorPosition() const ;
67 virtual ::std::vector<::RectangleArea> getInputAreas() const ;
69 virtual
void cleanInputComponents() ;
71 virtual
void onCreation() ;
73 virtual
void onLeave() ;
75 virtual
bool canBePushed() const ;
77 virtual
bool canBePopped() const ;
79 virtual
bool canBeTransitioned() const ;
82 onScreenExit(
bool isPopping,
bool doScreenTransitions, ::std::shared_ptr<::AbstractScene> pushedScene) ;
84 virtual
void onScreenEntrance(
bool isRevisiting,
bool doScreenTransitions) ;
86 virtual
bool isEntering() const ;
88 virtual
bool isExiting() const ;
90 virtual
void schedulePop() ;
92 virtual
bool isTerminating() const ;
94 virtual
bool loadScreenImmediately() const ;
96 virtual ::std::weak_ptr<::AbstractSceneProxy> getProxy() ;
98 virtual
void setScreenState(
99 ::std::vector<::std::pair<::std::string_view, ::std::string_view>> const& routeQueryParameters
102 virtual ::RectangleArea getAreaOfControlByName(::std::
string const& controlName) const ;
104 virtual
void init(::ScreenSizeData const& screenSizeData) ;
106 virtual
void onSetKeyboardHeight(
float keyboardHeight) ;
108 virtual
void onFocusLost() ;
110 virtual
void onInternetUpdate() ;
112 virtual
bool renderGameBehind() const ;
114 virtual
bool closeOnPlayerHurt() const ;
116 virtual
bool useCustomPocketToast() const ;
118 virtual
void setSize(::ScreenSizeData const& screenSizeData) ;
120 virtual
void handleButtonPress(uint buttonId, ::FocusImpact focusImpact) ;
122 virtual
void handleButtonRelease(uint buttonId, ::FocusImpact focusImpact) ;
124 virtual
bool handlePointerLocation(
125 ::PointerLocationEventData const& pointerLocationData,
126 ::FocusImpact focusImpact
129 virtual
void handlePointerPressed(
bool pressed) ;
131 virtual
void handleLicenseChanged() ;
133 virtual
void terminate() ;
135 virtual
void onFocusGained() ;
137 virtual
void onGameEventNotification(::ui::GameEventNotification notification) ;
139 virtual
void reload() ;
141 virtual
void leaveScreen() ;
143 virtual
void preFrameTick() ;
145 virtual
void frameUpdate(::MinecraftUIFrameUpdateContext& frameUpdateContext) ;
147 virtual
void render(::ScreenContext& screenContext, ::FrameRenderObject const& renderObj) ;
149 virtual
void applyInput(
float a) ;
151 virtual
void handleInputModeChanged(::InputMode inputMode) ;
154 handleRawInputEvent(
int id, ::RawInputType keyType, ::ButtonState state,
bool allowRemapping) ;
156 virtual
void handleDirection(::DirectionId directionId,
float x,
float y, ::FocusImpact focusImpact) ;
158 virtual
void handleTextChar(::std::
string const& inputUtf8, ::FocusImpact focusImpact) ;
160 virtual
void handleCaretLocation(
int caretLocation, ::FocusImpact focusImpact) ;
163 handleTouchPadTouch(::TouchPadTouchEventData const& touchEventData, ::FocusImpact focusImpact) ;
165 virtual
void setTextboxText(::std::
string const& text, ::TextboxTextUpdateReason reason) ;
167 virtual
void onKeyboardDismissed() ;
169 virtual
bool absorbsInput() const ;
171 virtual
bool screenIsNotFlushable() const ;
173 virtual
bool alwaysAcceptsInput() const ;
175 virtual
bool isShowingMenu() const ;
177 virtual
bool isModal() const ;
179 virtual
bool shouldStealMouse() const ;
181 virtual
bool screenDrawsLast() const ;
183 virtual
bool shouldBeSkippedInAutomation() const ;
185 virtual
int getWidth() ;
187 virtual
int getHeight() ;
189 virtual
bool renderOnlyWhenTopMost() const ;
191 virtual
bool lowFreqRendering() const ;
193 virtual
bool ignoreAsTop() const ;
195 virtual ::ui::SceneType getSceneType() const ;
197 virtual ::std::
string getRawScreenName() const ;
199 virtual ::std::
string getScreenName() const ;
201 virtual
bool equalsScreenName(::std::string_view comparison) const ;
203 virtual
bool containsScreenNameSubstring(::std::string_view substring) const ;
205 virtual ::std::
string getRoute() const ;
207 virtual ::std::
string getScreenTelemetryName() const ;
209 virtual
bool getShouldSendEvents() ;
211 virtual
void setShouldSendEvents(
bool shouldSendEvents) ;
213 virtual
void addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const
216 virtual
int getScreenVersion() const ;
218 virtual
void onDelete(::CachedScenes& cache, ::TaskGroup& taskGroup) ;
225 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
226 ::KeyboardManager& keyboardManager,
227 ::std::shared_ptr<::ScreenController> controller,
228 ::std::unique_ptr<::VisualTree> visualTree,
229 ::std::shared_ptr<::UIControlFactory> controlFactory,
230 ::UIMeasureStrategy& measureStrategy,
231 ::std::unique_ptr<::LayoutManager> layoutManager,
232 ::GamepadCursorData gamepadCursorData,
233 ::std::weak_ptr<::ITTSEventManager> ttsEventManager
236 MCAPI
void setInitializedCallback(::std::function<
void()> initializedCallback);
243 ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client,
244 ::KeyboardManager& keyboardManager,
245 ::std::shared_ptr<::ScreenController> controller,
246 ::std::unique_ptr<::VisualTree> visualTree,
247 ::std::shared_ptr<::UIControlFactory> controlFactory,
248 ::UIMeasureStrategy& measureStrategy,
249 ::std::unique_ptr<::LayoutManager> layoutManager,
250 ::GamepadCursorData gamepadCursorData,
251 ::std::weak_ptr<::ITTSEventManager> ttsEventManager
264 MCAPI
bool $isGamepadCursorEnabled() const;
266 MCAPI
bool $isGamepadDeflectionModeEnabled() const;
268 MCAPI ::glm::vec2 const& $getGamepadCursorPosition() const;
270 MCAPI ::std::vector<::RectangleArea> $getInputAreas() const;
272 MCAPI
void $cleanInputComponents();
274 MCAPI
void $onCreation();
276 MCAPI
void $onLeave();
278 MCAPI
bool $canBePushed() const;
280 MCAPI
bool $canBePopped() const;
282 MCAPI
bool $canBeTransitioned() const;
284 MCAPI
void $onScreenExit(
bool isPopping,
bool doScreenTransitions, ::std::shared_ptr<::AbstractScene> pushedScene);
286 MCAPI
void $onScreenEntrance(
bool isRevisiting,
bool doScreenTransitions);
288 MCAPI
bool $isEntering() const;
290 MCAPI
bool $isExiting() const;
292 MCAPI
void $schedulePop();
294 MCAPI
bool $isTerminating() const;
296 MCAPI
bool $loadScreenImmediately() const;
298 MCAPI ::std::weak_ptr<::AbstractSceneProxy> $getProxy();
301 $setScreenState(::std::vector<::std::pair<::std::string_view, ::std::string_view>> const& routeQueryParameters);
303 MCAPI ::RectangleArea $getAreaOfControlByName(::std::
string const& controlName) const;
305 MCAPI
void $init(::ScreenSizeData const& screenSizeData);
307 MCAPI
void $onSetKeyboardHeight(
float keyboardHeight);
309 MCAPI
void $onFocusLost();
311 MCAPI
void $onInternetUpdate();
313 MCAPI
bool $renderGameBehind() const;
315 MCAPI
bool $closeOnPlayerHurt() const;
317 MCAPI
bool $useCustomPocketToast() const;
319 MCAPI
void $setSize(::ScreenSizeData const& screenSizeData);
321 MCAPI
void $handleButtonPress(uint buttonId, ::FocusImpact focusImpact);
323 MCAPI
void $handleButtonRelease(uint buttonId, ::FocusImpact focusImpact);
325 MCAPI
bool $handlePointerLocation(::PointerLocationEventData const& pointerLocationData, ::FocusImpact focusImpact);
327 MCFOLD
void $handlePointerPressed(
bool pressed);
329 MCAPI
void $handleLicenseChanged();
331 MCAPI
void $terminate();
333 MCAPI
void $onFocusGained();
335 MCAPI
void $onGameEventNotification(::ui::GameEventNotification notification);
337 MCAPI
void $reload();
339 MCAPI
void $leaveScreen();
341 MCAPI
void $preFrameTick();
343 MCAPI
void $frameUpdate(::MinecraftUIFrameUpdateContext& frameUpdateContext);
345 MCAPI
void $render(::ScreenContext& screenContext, ::FrameRenderObject const& renderObj);
347 MCAPI
void $applyInput(
float a);
349 MCAPI
void $handleInputModeChanged(::InputMode inputMode);
351 MCAPI
void $handleRawInputEvent(
int id, ::RawInputType keyType, ::ButtonState state,
bool allowRemapping);
353 MCAPI
void $handleDirection(::DirectionId directionId,
float x,
float y, ::FocusImpact focusImpact);
355 MCAPI
void $handleTextChar(::std::
string const& inputUtf8, ::FocusImpact focusImpact);
357 MCFOLD
void $handleCaretLocation(
int caretLocation, ::FocusImpact focusImpact);
359 MCAPI
void $handleTouchPadTouch(::TouchPadTouchEventData const& touchEventData, ::FocusImpact focusImpact);
361 MCAPI
void $setTextboxText(::std::
string const& text, ::TextboxTextUpdateReason reason);
363 MCAPI
void $onKeyboardDismissed();
365 MCAPI
bool $absorbsInput() const;
367 MCAPI
bool $screenIsNotFlushable() const;
369 MCAPI
bool $alwaysAcceptsInput() const;
371 MCAPI
bool $isShowingMenu() const;
373 MCAPI
bool $isModal() const;
375 MCAPI
bool $shouldStealMouse() const;
377 MCAPI
bool $screenDrawsLast() const;
379 MCAPI
bool $shouldBeSkippedInAutomation() const;
381 MCAPI
int $getWidth();
383 MCAPI
int $getHeight();
385 MCAPI
bool $renderOnlyWhenTopMost() const;
387 MCAPI
bool $lowFreqRendering() const;
389 MCAPI
bool $ignoreAsTop() const;
391 MCAPI ::ui::SceneType $getSceneType() const;
393 MCAPI ::std::
string $getRawScreenName() const;
395 MCAPI ::std::
string $getScreenName() const;
397 MCAPI
bool $equalsScreenName(::std::string_view comparison) const;
399 MCAPI
bool $containsScreenNameSubstring(::std::string_view substring) const;
401 MCAPI ::std::
string $getRoute() const;
403 MCAPI ::std::
string $getScreenTelemetryName() const;
405 MCAPI
bool $getShouldSendEvents();
407 MCAPI
void $setShouldSendEvents(
bool shouldSendEvents);
409 MCAPI
void $addEventProperties(::std::unordered_map<::std::
string, ::std::
string>& eventProperties) const;
411 MCAPI
int $getScreenVersion() const;
413 MCAPI
void $onDelete(::CachedScenes& cache, ::TaskGroup& taskGroup);
Definition AbstractSceneProxy.h:5
Definition AbstractScene.h:5
Definition BaseScreen.h:5
Definition CachedScenes.h:5
Definition IClientInstance.h:5
Definition ITTSEventManager.h:5
Definition KeyboardManager.h:5
Definition LayoutManager.h:5
Definition MinecraftUIFrameUpdateContext.h:5
Definition RectangleArea.h:5
Definition ScreenContext.h:5
Definition ScreenController.h:5
Definition ScreenView.h:5
Definition TaskGroup.h:57
Definition UIControlFactory.h:5
Definition UIMeasureStrategy.h:5
static MCAPI void ** $vftable()
Definition VisualTree.h:5
Definition FrameRenderObject.h:5
Definition GamepadCursorData.h:5
Definition PointerLocationEventData.h:8
Definition ScreenSizeData.h:5
Definition TouchPadTouchEventData.h:5