3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/oreui/interface/RouteMode.h"
7#include "mc/client/gui/oreui/interface/ViewState.h"
8#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
9#include "mc/deps/input/TextBoxCaretMovement.h"
16namespace OreUI {
class IScene; }
23class IView :
public ::Bedrock::EnableNonOwnerReferences {
29 virtual void pushCurrentScene(::OreUI::IScene& scene, ::OreUI::RouteMode routeMode) = 0;
31 virtual bool hasScenes()
const = 0;
33 virtual void removeScene(::OreUI::IScene
const& scene) = 0;
35 virtual void update(
double time) = 0;
37 virtual void render(::ScreenContext& screenContext) = 0;
39 virtual void resize(uint width, uint height) = 0;
41 virtual void reload() = 0;
43 virtual void leave() = 0;
45 virtual void onSuspend() = 0;
47 virtual void onResume() = 0;
49 virtual void onRouteChanged(
50 ::std::optional<::OreUI::RouterLocation>
const& previousLocation,
51 ::std::optional<::OreUI::RouterLocation>
const& currentLocation
54 virtual ::std::string_view getUrl()
const = 0;
56 virtual ::OreUI::RouteMode getRouteMode()
const = 0;
58 virtual uint getWidth()
const = 0;
60 virtual uint getHeight()
const = 0;
62 virtual ::OreUI::ViewState getState()
const = 0;
64 virtual void setTextBoxState(::TextBoxStateChange
const& stateChange) = 0;
66 virtual ::std::optional<int> calculateCaretPositionAfterMovement(::TextBoxCaretMovement movement) = 0;
68 virtual void onKeyboardDismissed() = 0;
70 virtual void setCaretLocation(
int caretLocation) = 0;
72 virtual void triggerEvent(::std::string
const& eventName, ::std::string
const& eventData) = 0;
74 virtual ::std::unique_ptr<::IGamefaceTextInputProxy> getTextInputProxy() = 0;
76 virtual ::OreUI::IViewTestHelper* getViewTestHelper() = 0;
Definition IGamefaceTextInputProxy.h:5
Definition IViewTestHelper.h:7
static MCAPI void ** $vftable()
Definition RouterLocation.h:7
Definition ScreenContext.h:5
Definition TextBoxStateChange.h:5