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) ;
161 handleTouchPadTouch(::TouchPadTouchEventData const& touchEventData, ::FocusImpact focusImpact) ;
163 virtual
void setTextboxText(::std::
string const& text, ::TextboxTextUpdateReason reason) ;
165 virtual
void onKeyboardDismissed() ;
167 virtual
bool absorbsInput() const ;
169 virtual
bool screenIsNotFlushable() const ;
171 virtual
bool alwaysAcceptsInput() const ;
173 virtual
bool isShowingMenu() const ;
175 virtual
bool isModal() const ;
177 virtual
bool shouldStealMouse() const ;
179 virtual
bool screenDrawsLast() const ;
181 virtual
bool shouldBeSkippedInAutomation() const ;
183 virtual
int getWidth() ;
185 virtual
int getHeight() ;
187 virtual
bool renderOnlyWhenTopMost() const ;
189 virtual
bool lowFreqRendering() const ;
191 virtual
bool ignoreAsTop() const ;
193 virtual ::ui::SceneType getSceneType() const ;
195 virtual ::std::
string getRawScreenName() const ;
197 virtual ::std::
string getScreenName() const ;
199 virtual
bool equalsScreenName(::std::string_view comparison) const ;
201 virtual
bool containsScreenNameSubstring(::std::string_view substring) const ;
203 virtual
bool equalsRawScreenName(::std::string_view comparison) 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) ;
284 MCAPI
void $onScreenExit(
bool isPopping,
bool doScreenTransitions, ::
std::shared_ptr<::
AbstractScene> pushedScene);
286 MCAPI
void $onScreenEntrance(
bool isRevisiting,
bool doScreenTransitions);
309 MCAPI
void $onFocusLost();
313 MCAPI
bool $renderGameBehind() const;
315 MCAPI
bool $closeOnPlayerHurt() const;
354 MCNAPI
void $handleDirection(::DirectionId directionId,
float x,
float y, ::FocusImpact focusImpact);
356 MCAPI
void $handleTextChar(::
std::
string const& inputUtf8, ::FocusImpact focusImpact);
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:85
Definition UIControlFactory.h:5
Definition UIMeasureStrategy.h:5
MCAPI void $schedulePop()
MCAPI bool $shouldBeSkippedInAutomation() const
MCAPI void $onInternetUpdate()
MCAPI::RectangleArea $getAreaOfControlByName(::std::string const &controlName) const
MCAPI::std::string $getScreenName() const
MCAPI void $handleInputModeChanged(::InputMode inputMode)
MCAPI void $handleButtonPress(uint buttonId, ::FocusImpact focusImpact)
MCAPI bool $isGamepadDeflectionModeEnabled() const
MCAPI::std::string $getRawScreenName() const
MCAPI bool $loadScreenImmediately() const
MCAPI void $cleanInputComponents()
MCAPI void $onFocusGained()
MCAPI bool $canBePopped() const
MCAPI bool $shouldStealMouse() const
MCAPI void $leaveScreen()
MCAPI void $handleRawInputEvent(int id, ::RawInputType keyType, ::ButtonState state, bool allowRemapping)
MCAPI bool $canBeTransitioned() const
MCAPI void $setScreenState(::std::vector<::std::pair<::std::string_view, ::std::string_view > > const &routeQueryParameters)
MCAPI bool $renderOnlyWhenTopMost() const
MCAPI void $onDelete(::CachedScenes &cache, ::TaskGroup &taskGroup)
MCAPI bool $handlePointerLocation(::PointerLocationEventData const &pointerLocationData, ::FocusImpact focusImpact)
MCAPI bool $equalsRawScreenName(::std::string_view comparison) const
MCAPI void setInitializedCallback(::std::function< void()> initializedCallback)
MCAPI void $setShouldSendEvents(bool shouldSendEvents)
MCAPI bool $alwaysAcceptsInput() const
MCAPI void $onSetKeyboardHeight(float keyboardHeight)
MCAPI::std::string $getRoute() const
MCAPI bool $ignoreAsTop() const
MCAPI bool $canBePushed() const
MCAPI::ui::SceneType $getSceneType() const
MCAPI void $handleButtonRelease(uint buttonId, ::FocusImpact focusImpact)
MCAPI bool $isGamepadCursorEnabled() const
MCAPI void $onKeyboardDismissed()
MCAPI bool $equalsScreenName(::std::string_view comparison) const
MCAPI ::std::weak_ptr<::AbstractSceneProxy > $getProxy()
MCAPI bool $absorbsInput() const
MCAPI void $onGameEventNotification(::ui::GameEventNotification notification)
MCAPI bool $isTerminating() const
MCAPI bool $getShouldSendEvents()
MCAPI bool $screenDrawsLast() const
MCAPI bool $containsScreenNameSubstring(::std::string_view substring) const
MCAPI bool $useCustomPocketToast() const
MCAPI bool $isModal() const
MCAPI::glm::vec2 const & $getGamepadCursorPosition() const
MCAPI bool $isEntering() const
MCAPI bool $screenIsNotFlushable() const
MCAPI void $frameUpdate(::MinecraftUIFrameUpdateContext &frameUpdateContext)
MCAPI void $handleLicenseChanged()
MCAPI::std::string $getScreenTelemetryName() const
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::IClientInstance > const &client, ::KeyboardManager &keyboardManager, ::std::shared_ptr<::ScreenController > controller, ::std::unique_ptr<::VisualTree > visualTree, ::std::shared_ptr<::UIControlFactory > controlFactory, ::UIMeasureStrategy &measureStrategy, ::std::unique_ptr<::LayoutManager > layoutManager, ::GamepadCursorData gamepadCursorData, ::std::weak_ptr<::ITTSEventManager > ttsEventManager)
MCAPI void $handleTouchPadTouch(::TouchPadTouchEventData const &touchEventData, ::FocusImpact focusImpact)
MCAPI void $setTextboxText(::std::string const &text, ::TextboxTextUpdateReason reason)
MCAPI void $init(::ScreenSizeData const &screenSizeData)
MCAPI bool $lowFreqRendering() const
MCAPI bool $isExiting() const
MCAPI void $handleDirection(::DirectionId directionId, float x, float y, ::FocusImpact focusImpact)
MCAPI ::std::vector<::RectangleArea > $getInputAreas() const
MCAPI void $setSize(::ScreenSizeData const &screenSizeData)
MCAPI void $handlePointerPressed(bool pressed)
MCAPI void $applyInput(float a)
MCAPI void $preFrameTick()
MCAPI void $addEventProperties(::std::unordered_map<::std::string, ::std::string > &eventProperties) const
MCAPI bool $isShowingMenu() const
MCAPI int $getScreenVersion() const
Definition VisualTree.h:5
Definition FrameRenderObject.h:5
Definition GamepadCursorData.h:5
Definition PointerLocationEventData.h:5
Definition ScreenSizeData.h:5
Definition TouchPadTouchEventData.h:5