Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
View.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/oreui/ScreenPerformanceTelemetry.h"
7#include "mc/client/gui/oreui/interface/IView.h"
8#include "mc/client/gui/oreui/interface/RouteMode.h"
9#include "mc/client/gui/oreui/interface/ViewState.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/external/gameface/cohtml/ControlType.h"
12#include "mc/external/gameface/cohtml/Cursors.h"
13#include "mc/external/gameface/cohtml/IViewListener.h"
14#include "mc/platform/brstd/flat_map.h"
15
16// auto generated forward declare list
17// clang-format off
18class IClientInstance;
20class KeyboardManager;
21class Option;
22class ScreenContext;
24namespace OreUI { class BedrockInputSource; }
25namespace OreUI { class FocusNavigationBinding; }
26namespace OreUI { class FocusNavigationController; }
27namespace OreUI { class IScene; }
28namespace OreUI { class ITelemetry; }
29namespace OreUI { class IViewTestHelper; }
30namespace OreUI { class RouterLocation; }
31namespace OreUI { class ViewInputHandler; }
32namespace OreUI { class ViewRenderer; }
33namespace OreUI::Detail { class ViewBindings; }
34namespace cohtml { class IClientSideSocket; }
35namespace cohtml { class ISocketListener; }
36namespace cohtml { class View; }
37namespace cohtml { struct ScreenInfo; }
38// clang-format on
39
40namespace OreUI {
41
42class View : public ::OreUI::IView, public ::cohtml::IViewListener {
43public:
44 // member variables
45 // NOLINTBEGIN
46 ::ll::TypedStorage<8, 8, ::cohtml::View*> mGamefaceView;
47 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::ViewRenderer>> mRenderer;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::FocusNavigationBinding>> mFocusNavigationBinding;
49 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::FocusNavigationController>> mFocusNavigationController;
50 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::ViewInputHandler>> mInputHandler;
51 ::ll::TypedStorage<8, 32, ::std::string> mUrl;
52 ::ll::TypedStorage<8, 24, ::std::vector<::std::reference_wrapper<::OreUI::IScene>>> mScenes;
53 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::BedrockInputSource>> mBedrockInputSource;
54 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClientInstance;
55 ::ll::TypedStorage<8, 8, ::KeyboardManager&> mKeyboardManager;
56 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::Detail::ViewBindings>> mBindings;
57 ::ll::TypedStorage<8, 8, ::OreUI::ITelemetry&> mTelemetry;
58 ::ll::TypedStorage<8, 400, ::std::optional<::OreUI::ScreenPerformanceTelemetry>> mScreenPerformanceTelemetry;
59 ::ll::TypedStorage<1, 1, ::OreUI::ViewState> mState;
60 ::ll::TypedStorage<4, 4, ::OreUI::RouteMode> mRouteMode;
61 ::ll::TypedStorage<8, 8, double> mLastUpdateTime;
62 ::ll::TypedStorage<8, 8, double> mTimeStamp;
63 ::ll::TypedStorage<8, 8, ::Option*> mScreenAnimationsOption;
64 ::ll::
65 TypedStorage<8, 48, ::brstd::flat_map<int, uint64, ::std::less<int>, ::std::vector<int>, ::std::vector<uint64>>>
66 mAudioStreams;
67 // NOLINTEND
68
69public:
70 // prevent constructor by default
71 View& operator=(View const&);
72 View(View const&);
73 View();
74
75public:
76 // virtual functions
77 // NOLINTBEGIN
78 virtual ~View() /*override*/ = default;
79
80 virtual void pushCurrentScene(::OreUI::IScene& scene, ::OreUI::RouteMode routeMode) /*override*/;
81
82 virtual bool hasScenes() const /*override*/;
83
84 virtual void removeScene(::OreUI::IScene const& scene) /*override*/;
85
86 virtual void update(double time) /*override*/;
87
88 virtual void render(::ScreenContext& screenContext) /*override*/;
89
90 virtual void renderOffscreen(::ScreenContext& screenContext) /*override*/;
91
92 virtual void resize(uint width, uint height) /*override*/;
93
94 virtual void reload() /*override*/;
95
96 virtual void leave() /*override*/;
97
98 virtual void onSuspend() /*override*/;
99
100 virtual void onResume() /*override*/;
101
102 virtual void onRouteChanged(
103 ::std::optional<::OreUI::RouterLocation> const& previousLocation,
104 ::std::optional<::OreUI::RouterLocation> const& currentLocation
105 ) /*override*/;
106
107 virtual ::std::string_view getUrl() const /*override*/;
108
109 virtual ::OreUI::RouteMode getRouteMode() const /*override*/;
110
111 virtual uint getWidth() const /*override*/;
112
113 virtual uint getHeight() const /*override*/;
114
115 virtual ::OreUI::ViewState getState() const /*override*/;
116
117 virtual void setTextBoxState(::TextBoxStateChange const& stateChange) /*override*/;
118
119 virtual void onKeyboardDismissed() /*override*/;
120
121 virtual void setCaretLocation(int caretLocation) /*override*/;
122
123 virtual void triggerEvent(::std::string const& eventName, ::std::string const& eventData) /*override*/;
124
125 virtual ::std::unique_ptr<::IGamefaceTextInputProxy> getTextInputProxy() /*override*/;
126
127 virtual void OnLoadFailed(char const* url, char const* error) /*override*/;
128
129 virtual void OnReadyForBindings() /*override*/;
130
131 virtual void OnBindingsReleased() /*override*/;
132
133 virtual ::cohtml::ScreenInfo OnScreenInfoRequested() /*override*/;
134
135 virtual void OnTextInputTypeChanged(::cohtml::TextInputControlType::ControlType type) /*override*/;
136
137 virtual void OnCaretRectChanged(int x, int y, uint width, uint height) /*override*/;
138
139 virtual void
140 OnCursorChanged(::cohtml::CursorTypes::Cursors cursor, char const*, float const*, float const*) /*override*/;
141
142 virtual ::cohtml::IClientSideSocket* OnCreateWebSocket(
143 ::cohtml::ISocketListener* listener,
144 char const* url,
145 char const** protocols,
146 uint protocolsCount
147 ) /*override*/;
148
149 virtual void OnAudioStreamCreated(int id, int bitDepth, int channels, float samplingRate) /*override*/;
150
151 virtual void OnAudioStreamClosed(int id) /*override*/;
152
153 virtual void OnAudioStreamPlay(int id) /*override*/;
154
155 virtual void OnAudioStreamPause(int id) /*override*/;
156
157 virtual void OnAudioDataReceived(int id, int samples, float** pcm, int channels) /*override*/;
158
159 virtual void OnAudioStreamEnded(int id) /*override*/;
160
161 virtual void OnAudioStreamVolumeChanged(int id, float volume) /*override*/;
162
163 virtual void OnClipboardTextSet(char const* text, uint lengthBytes) /*override*/;
164
165 virtual void OnClipboardTextGet(::cohtml::IViewListener::IClipboardData* setDataObject) /*override*/;
166
167 virtual ::OreUI::IViewTestHelper* getViewTestHelper() /*override*/;
168 // NOLINTEND
169
170public:
171 // virtual function thunks
172 // NOLINTBEGIN
173 MCNAPI void $pushCurrentScene(::OreUI::IScene& scene, ::OreUI::RouteMode routeMode);
174
175 MCNAPI bool $hasScenes() const;
176
177 MCAPI void $removeScene(::OreUI::IScene const& scene);
178
179 MCAPI void $update(double time);
180
181 MCNAPI void $render(::ScreenContext& screenContext);
182
183 MCNAPI void $renderOffscreen(::ScreenContext& screenContext);
184
185 MCNAPI void $resize(uint width, uint height);
186
187 MCNAPI void $reload();
188
189 MCNAPI void $leave();
190
191 MCNAPI void $onSuspend();
192
193 MCNAPI void $onResume();
194
195 MCNAPI void $onRouteChanged(
196 ::std::optional<::OreUI::RouterLocation> const& previousLocation,
197 ::std::optional<::OreUI::RouterLocation> const& currentLocation
198 );
199
200 MCNAPI ::std::string_view $getUrl() const;
201
202 MCNAPI ::OreUI::RouteMode $getRouteMode() const;
203
204 MCNAPI uint $getWidth() const;
205
206 MCNAPI uint $getHeight() const;
207
208 MCNAPI ::OreUI::ViewState $getState() const;
209
210 MCNAPI void $setTextBoxState(::TextBoxStateChange const& stateChange);
211
212 MCNAPI void $onKeyboardDismissed();
213
214 MCNAPI void $setCaretLocation(int caretLocation);
215
216 MCAPI void $triggerEvent(::std::string const& eventName, ::std::string const& eventData);
217
219
220 MCNAPI void $OnLoadFailed(char const* url, char const* error);
221
222 MCAPI void $OnReadyForBindings();
223
224 MCAPI void $OnBindingsReleased();
225
226 MCNAPI ::cohtml::ScreenInfo $OnScreenInfoRequested();
227
228 MCNAPI void $OnTextInputTypeChanged(::cohtml::TextInputControlType::ControlType type);
229
230 MCNAPI void $OnCaretRectChanged(int x, int y, uint width, uint height);
231
232 MCNAPI void $OnCursorChanged(::cohtml::CursorTypes::Cursors cursor, char const*, float const*, float const*);
233
234 MCNAPI ::cohtml::IClientSideSocket* $OnCreateWebSocket(
235 ::cohtml::ISocketListener* listener,
236 char const* url,
237 char const** protocols,
238 uint protocolsCount
239 );
240
241 MCNAPI void $OnAudioStreamCreated(int id, int bitDepth, int channels, float samplingRate);
242
243 MCNAPI void $OnAudioStreamClosed(int id);
244
245 MCNAPI void $OnAudioStreamPlay(int id);
246
247 MCNAPI void $OnAudioStreamPause(int id);
248
249 MCNAPI void $OnAudioDataReceived(int id, int samples, float** pcm, int channels);
250
251 MCNAPI void $OnAudioStreamEnded(int id);
252
253 MCNAPI void $OnAudioStreamVolumeChanged(int id, float volume);
254
255 MCNAPI void $OnClipboardTextSet(char const* text, uint lengthBytes);
256
257 MCNAPI void $OnClipboardTextGet(::cohtml::IViewListener::IClipboardData* setDataObject);
258
260 // NOLINTEND
261};
262
263} // namespace OreUI
Definition IClientInstance.h:5
Definition IGamefaceTextInputProxy.h:5
Definition KeyboardManager.h:5
Definition Option.h:22
Definition BedrockInputSource.h:7
Definition ViewBindings.h:7
Definition FocusNavigationBinding.h:7
Definition FocusNavigationController.h:7
Definition IScene.h:7
Definition ITelemetry.h:7
Definition IViewTestHelper.h:7
Definition RouterLocation.h:7
Definition ViewInputHandler.h:7
Definition ViewRenderer.h:7
Definition View.h:7
MCAPI::std::string_view $getUrl() const
MCAPI void $OnAudioDataReceived(int id, int samples, float **pcm, int channels)
MCAPI::OreUI::IViewTestHelper * $getViewTestHelper()
MCAPI void $leave()
MCAPI void $OnAudioStreamPlay(int id)
MCAPI::OreUI::RouteMode $getRouteMode() const
MCAPI void $setTextBoxState(::TextBoxStateChange const &stateChange)
MCAPI void $OnCaretRectChanged(int x, int y, uint width, uint height)
MCAPI ::std::unique_ptr<::IGamefaceTextInputProxy > $getTextInputProxy()
MCAPI void $OnAudioStreamCreated(int id, int bitDepth, int channels, float samplingRate)
MCAPI void $OnClipboardTextGet(::cohtml::IViewListener::IClipboardData *setDataObject)
MCAPI uint $getHeight() const
MCAPI void $setCaretLocation(int caretLocation)
MCAPI void $onResume()
MCAPI void $OnAudioStreamClosed(int id)
MCAPI void $OnAudioStreamVolumeChanged(int id, float volume)
MCAPI void $onSuspend()
MCAPI void $onRouteChanged(::std::optional<::OreUI::RouterLocation > const &previousLocation, ::std::optional<::OreUI::RouterLocation > const &currentLocation)
MCAPI void $OnClipboardTextSet(char const *text, uint lengthBytes)
MCAPI::cohtml::IClientSideSocket * $OnCreateWebSocket(::cohtml::ISocketListener *listener, char const *url, char const **protocols, uint protocolsCount)
MCAPI void $reload()
MCAPI void $resize(uint width, uint height)
MCAPI void $OnAudioStreamEnded(int id)
MCAPI void $render(::ScreenContext &screenContext)
MCAPI void $pushCurrentScene(::OreUI::IScene &scene, ::OreUI::RouteMode routeMode)
MCAPI void $OnTextInputTypeChanged(::cohtml::TextInputControlType::ControlType type)
MCAPI uint $getWidth() const
MCAPI void $onKeyboardDismissed()
MCAPI::OreUI::ViewState $getState() const
MCAPI void $OnAudioStreamPause(int id)
MCAPI void $renderOffscreen(::ScreenContext &screenContext)
MCAPI::cohtml::ScreenInfo $OnScreenInfoRequested()
MCAPI void $OnLoadFailed(char const *url, char const *error)
MCAPI bool $hasScenes() const
MCAPI void $OnCursorChanged(::cohtml::CursorTypes::Cursors cursor, char const *, float const *, float const *)
Definition ScreenContext.h:5
Definition IClientSideSocket.h:7
Definition ISocketListener.h:7
Definition View.h:7
STL namespace.
Definition TextBoxStateChange.h:5
Definition IViewListener.h:15
Definition ScreenInfo.h:7