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