LeviLamina
Loading...
Searching...
No Matches
CommonPlatform.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/platform/DisplayOrientation.h"
7#include "mc/deps/core/platform/FileStorageDirectory.h"
8#include "mc/deps/core/utility/NonOwnerPointer.h"
9#include "mc/platform/brstd/move_only_function.h"
10
11// auto generated forward declare list
12// clang-format off
13class ActivationUri;
14class PropertyBag;
16namespace Bedrock { class ActivationArguments; }
17namespace Bedrock { class IIslandCore; }
18namespace Bedrock { class IIslandManager; }
19namespace Bedrock { struct PlatformBuildInfo; }
20namespace Bedrock { struct PlatformRuntimeInfo; }
21class IMinecraftGame;
22// clang-format on
23
24namespace Bedrock {
25
27public:
28 // CommonPlatform inner types define
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformRuntimeInfo>> mPlatformRuntimeInfo;
35 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::PlatformBuildInfo>> mPlatformBuildInfo;
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::IIslandManager>> mIslandMgr;
37 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::IIslandCore>> mApp;
38 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IMinecraftGame>> mMinecraftGame_Shim;
39 ::ll::TypedStorage<8, 64, ::brstd::move_only_function<::std::unique_ptr<::IMinecraftGame>()>> mCreateGame;
40 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mbQueueRenderParameterSignal;
41 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mHasInitialized;
42 // NOLINTEND
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47#ifdef LL_PLAT_S
48 virtual ~CommonPlatform() = default;
49#else // LL_PLAT_C
50 virtual ~CommonPlatform();
51#endif
52
53 virtual bool updatePlatformInfo() = 0;
54
55 virtual bool updatePlatformGraphicsInfo() = 0;
56
57 virtual void issueShutdown();
58
59 virtual void issueSuspend();
60
61 virtual void issueResume();
62
63 virtual void issueBack();
64
65 virtual void issueLowMemory();
66
67 virtual void issueFocusLost();
68
69 virtual void issueFocusGained();
70
71 virtual void issueInputPaneVisible();
72
73 virtual void issueInputPaneHidden();
74
75 virtual void issueSuspendWarning();
76
77 virtual void issueVisibilityChange(bool visible);
78
79 virtual void issueWindowSizeChange(int width, int height);
80
81 virtual void issueDPIChange(float dpi);
82
83 virtual void issueOrientationChange(::DisplayOrientation const&);
84
85 virtual void feedButtonPress(int const& button);
86
87 virtual void feedKeyPress(char const key);
88
89 virtual void setTextboxText(::std::string const& text);
90
91 virtual void setStorageDirectory(
92 ::FileStorageDirectory dir,
93 bool isCallback,
94 ::PropertyBag const& extraData,
95 ::std::function<void(bool)>
96 );
97
98 virtual ::FileStorageDirectory setInitialStorageDirectory(::FileStorageDirectory dir);
99
100 virtual ::FileStorageDirectory getStorageDirectory() const;
101
102 virtual bool _preAppCreation(::Bedrock::ActivationArguments const&) = 0;
103
104 virtual bool _postAppCreation(::Bedrock::ActivationArguments const&) = 0;
105
106 virtual void _processActivationArguments(::Bedrock::ActivationArguments const&) = 0;
107
108 virtual bool _update(bool) = 0;
109
110 virtual bool _isShuttingDown() = 0;
111
112 virtual bool _isShutdown() = 0;
113
114 virtual void pushNotificationReceived_Shim(::PushNotificationMessage const&) = 0;
115
116 virtual void notifyUriListeners_Shim(::ActivationUri const&) = 0;
117
118 virtual ::std::string getDeviceId_Shim() const = 0;
119 // NOLINTEND
120
121public:
122 // member functions
123 // NOLINTBEGIN
124 MCAPI_C bool _createApp();
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCAPI void $dtor();
131 // NOLINTEND
132
133public:
134 // virtual function thunks
135 // NOLINTBEGIN
136#ifdef LL_PLAT_C
137 MCFOLD void $issueShutdown();
138
139 MCFOLD void $issueSuspend();
140
141 MCFOLD void $issueResume();
142
143 MCFOLD void $issueBack();
144
145 MCFOLD void $issueLowMemory();
146
147 MCFOLD void $issueFocusLost();
148
149 MCFOLD void $issueFocusGained();
150
151 MCFOLD void $issueInputPaneVisible();
152
153 MCFOLD void $issueInputPaneHidden();
154
155 MCFOLD void $issueSuspendWarning();
156
157 MCFOLD void $issueVisibilityChange(bool visible);
158
159 MCFOLD void $issueWindowSizeChange(int width, int height);
160
161 MCFOLD void $issueDPIChange(float dpi);
162
163 MCFOLD void $issueOrientationChange(::DisplayOrientation const&);
164
165 MCAPI void $feedButtonPress(int const& button);
166
167 MCAPI void $feedKeyPress(char const key);
168
169 MCFOLD void $setTextboxText(::std::string const& text);
170
171 MCFOLD void $setStorageDirectory(
172 ::FileStorageDirectory dir,
173 bool isCallback,
174 ::PropertyBag const& extraData,
175 ::std::function<void(bool)>
176 );
177
178 MCFOLD ::FileStorageDirectory $setInitialStorageDirectory(::FileStorageDirectory dir);
179
180 MCFOLD ::FileStorageDirectory $getStorageDirectory() const;
181#endif
182
183
184 // NOLINTEND
185
186public:
187 // vftables
188 // NOLINTBEGIN
189 MCNAPI static void** $vftable();
190 // NOLINTEND
191};
192
193} // namespace Bedrock
Definition ActivationUri.h:5
Definition ActivationArguments.h:7
Definition CommonPlatform.h:26
static MCAPI void ** $vftable()
Definition IIslandCore.h:12
Definition IIslandManager.h:13
Definition IMinecraftGame.h:5
Definition PropertyBag.h:8
Definition PushNotificationMessage.h:5
Definition move_only_function.h:9
Definition PlatformBuildInfo.h:7
Definition PlatformRuntimeInfo.h:7