LeviLamina
Loading...
Searching...
No Matches
HIDController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/input/InputMode.h"
8#include "mc/deps/input/KeyboardEventProcessor.h"
9#include "mc/deps/input/TextBoxSelection.h"
10#include "mc/deps/input/TextEditContext.h"
11
12// auto generated forward declare list
13// clang-format off
15class IKeyboardProxy;
17namespace ApplicationSignal { class ClipboardPaste; }
18namespace Bedrock { class SignalReceiver; }
19// clang-format on
20
22public:
23 // HIDController inner types declare
24 // clang-format off
26 // clang-format on
27
28 // HIDController inner types define
30 public:
31 // GamefaceTextEditContext inner types define
32 enum class StateChange : int {
33 None = 0,
34 Text = 1,
35 Selection = 2,
36 TextAndSelection = 3,
37 };
38
39 public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IGamefaceTextInputProxy>> mTextInputProxy;
43 ::ll::TypedStorage<8, 32, ::std::string> mLastCheckText;
44 ::ll::TypedStorage<4, 12, ::TextBoxSelection> mLastCheckSelection;
45 ::ll::TypedStorage<1, 1, bool> mForceApplyChanges;
46 ::ll::TypedStorage<1, 1, bool> mIsComposing;
47 // NOLINTEND
48
49 public:
50 // member functions
51 // NOLINTBEGIN
52 MCAPI ::HIDController::GamefaceTextEditContext::StateChange checkForChanges();
53
54 MCAPI ::std::string getText() const;
55
56 MCAPI bool tryEnable(::Bedrock::NonOwnerPointer<::ITextBoxController> textBoxController);
57
58 MCAPI ~GamefaceTextEditContext();
59 // NOLINTEND
60
61 public:
62 // destructor thunk
63 // NOLINTBEGIN
64 MCFOLD void $dtor();
65 // NOLINTEND
66 };
67
68public:
69 // member variables
70 // NOLINTBEGIN
71 ::ll::TypedStorage<1, 1, bool> mTextboxIsFocused;
72 ::ll::TypedStorage<1, 1, bool> mTextboxIsSelected;
73 ::ll::TypedStorage<1, 1, bool> mIsMultiline;
74 ::ll::TypedStorage<8, 80, ::TextEditContext> mEditContext;
75 ::ll::TypedStorage<8, 56, ::HIDController::GamefaceTextEditContext> mGamefaceEditContext;
76 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::SignalReceiver>> mSignalRcvr;
77 ::ll::TypedStorage<1, 1, bool> mIsComposing;
78 ::ll::TypedStorage<4, 4, int> mCompositionStart;
79 ::ll::TypedStorage<4, 4, int> mCompositionEnd;
80 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ITextBoxController>> mTextBoxController;
81 // NOLINTEND
82
83public:
84 // prevent constructor by default
85 HIDController();
86
87public:
88 // virtual functions
89 // NOLINTBEGIN
90 virtual void update();
91
92 virtual void onKeyDown(int keyCode, ::Bedrock::Input::KeyboardEventProcessor::InputOrigin origin) /*override*/;
93
94 virtual void onKeyUp(int keyCode) /*override*/;
95
96 virtual void updateEditContext(int keyCode);
97
98 virtual void onTextInput(::std::string const& utf8Text);
99
100 virtual void imeStartComposition();
101
102 virtual void imeUpdateCompositionText(::std::string const& utf8Text);
103
104 virtual void imeConfirmComposition(::std::string const& utf8Text);
105
106 virtual void imeEndComposition();
107
108 virtual void onTextEditComponentGainedFocus(::std::string_view const currentText, int maxLength);
109
110 virtual void onTextEditComponentLostFocus();
111
112 virtual void
113 onShowKeyboard(::std::string_view const currentText, int maxLength, bool isMultiline, ::InputMode inputMode);
114
115 virtual void onHideKeyboard();
116
117 virtual void onAppFocusLost();
118
119 virtual void onAppFocusGained();
120
121 virtual int getCaretPosition() const;
122
123 virtual void setCaretPosition(int position);
124
125 virtual void setIMEEnabled(bool);
126
127 virtual ~HIDController() /*override*/;
128 // NOLINTEND
129
130public:
131 // member functions
132 // NOLINTBEGIN
133 MCAPI explicit HIDController(::IKeyboardProxy* keyboardProxy);
134
135 MCAPI void _clipboardPasteHandler(::ApplicationSignal::ClipboardPaste const& signal);
136
137 MCAPI void _feedKeyState(int keyCode, int state);
138
139 MCAPI ::std::string getTextBoxBackend() const;
140
141 MCAPI void initialize(::Bedrock::NotNullNonOwnerPtr<::ITextBoxController> textBoxController);
142 // NOLINTEND
143
144public:
145 // constructor thunks
146 // NOLINTBEGIN
147 MCAPI void* $ctor(::IKeyboardProxy* keyboardProxy);
148 // NOLINTEND
149
150public:
151 // destructor thunk
152 // NOLINTBEGIN
153 MCAPI void $dtor();
154 // NOLINTEND
155
156public:
157 // virtual function thunks
158 // NOLINTBEGIN
159 MCAPI void $update();
160
161 MCAPI void $onKeyDown(int keyCode, ::Bedrock::Input::KeyboardEventProcessor::InputOrigin origin);
162
163 MCAPI void $onKeyUp(int keyCode);
164
165 MCAPI void $updateEditContext(int keyCode);
166
167 MCAPI void $onTextInput(::std::string const& utf8Text);
168
169 MCAPI void $imeStartComposition();
170
171 MCAPI void $imeUpdateCompositionText(::std::string const& utf8Text);
172
173 MCAPI void $imeConfirmComposition(::std::string const& utf8Text);
174
175 MCAPI void $imeEndComposition();
176
177 MCAPI void $onTextEditComponentGainedFocus(::std::string_view const currentText, int maxLength);
178
179 MCAPI void $onTextEditComponentLostFocus();
180
181 MCAPI void
182 $onShowKeyboard(::std::string_view const currentText, int maxLength, bool isMultiline, ::InputMode inputMode);
183
184 MCAPI void $onHideKeyboard();
185
186 MCAPI void $onAppFocusLost();
187
188 MCFOLD void $onAppFocusGained();
189
190 MCFOLD int $getCaretPosition() const;
191
192 MCAPI void $setCaretPosition(int position);
193
194 MCFOLD void $setIMEEnabled(bool);
195 // NOLINTEND
196
197public:
198 // vftables
199 // NOLINTBEGIN
200 MCNAPI static void** $vftable();
201 // NOLINTEND
202};
Definition ClipboardPaste.h:16
Definition KeyboardEventProcessor.h:7
Definition SignalReceiver.h:18
Definition HIDController.h:13
Definition HIDController.h:5
static MCAPI void ** $vftable()
Definition IGamefaceTextInputProxy.h:5
Definition IKeyboardProxy.h:5
Definition ITextBoxController.h:5