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 void replaceTextRange(::std::string const& text, int from, int to);
56
57 MCAPI bool tryEnable(::Bedrock::NonOwnerPointer<::ITextBoxController> textBoxController);
58
59 MCAPI ~GamefaceTextEditContext();
60 // NOLINTEND
61
62 public:
63 // destructor thunk
64 // NOLINTBEGIN
65 MCFOLD void $dtor();
66 // NOLINTEND
67 };
68
69 using GamefaceTextEditContext = ::HIDController::GamefaceTextEditContext;
70
71public:
72 // member variables
73 // NOLINTBEGIN
74 ::ll::TypedStorage<1, 1, bool> mTextboxIsFocused;
75 ::ll::TypedStorage<1, 1, bool> mTextboxIsSelected;
76 ::ll::TypedStorage<1, 1, bool> mIsMultiline;
77 ::ll::TypedStorage<8, 80, ::TextEditContext> mEditContext;
78 ::ll::TypedStorage<8, 56, ::HIDController::GamefaceTextEditContext> mGamefaceEditContext;
79 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Bedrock::SignalReceiver>> mSignalRcvr;
80 ::ll::TypedStorage<1, 1, bool> mIsComposing;
81 ::ll::TypedStorage<4, 4, int> mCompositionStart;
82 ::ll::TypedStorage<4, 4, int> mCompositionEnd;
83 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ITextBoxController>> mTextBoxController;
84 // NOLINTEND
85
86public:
87 // prevent constructor by default
88 HIDController();
89
90public:
91 // virtual functions
92 // NOLINTBEGIN
93 virtual void update();
94
95 virtual void onKeyDown(int keyCode, ::Bedrock::Input::KeyboardEventProcessor::InputOrigin origin) /*override*/;
96
97 virtual void onKeyUp(int keyCode) /*override*/;
98
99 virtual void updateEditContext(int keyCode);
100
101 virtual void onTextInput(::std::string const& utf8Text);
102
103 virtual void imeStartComposition();
104
105 virtual void imeUpdateCompositionText(::std::string const& utf8Text);
106
107 virtual void imeConfirmComposition(::std::string const& utf8Text);
108
109 virtual void imeEndComposition();
110
111 virtual void onTextEditComponentGainedFocus(::std::string_view const currentText, int maxLength);
112
113 virtual void onTextEditComponentLostFocus();
114
115 virtual void
116 onShowKeyboard(::std::string_view const currentText, int maxLength, bool isMultiline, ::InputMode inputMode);
117
118 virtual void onHideKeyboard();
119
120 virtual void onAppFocusLost();
121
122 virtual void onAppFocusGained();
123
124 virtual int getCaretPosition() const;
125
126 virtual void setCaretPosition(int position);
127
128 virtual void setIMEEnabled(bool);
129
130 virtual ~HIDController() /*override*/;
131 // NOLINTEND
132
133public:
134 // member functions
135 // NOLINTBEGIN
136 MCAPI explicit HIDController(::IKeyboardProxy* keyboardProxy);
137
138 MCAPI void _clipboardPasteHandler(::ApplicationSignal::ClipboardPaste const& signal);
139
140 MCAPI void deinitialize();
141
142 MCAPI ::std::string getTextBoxBackend() const;
143
144 MCAPI void initialize(::Bedrock::NotNullNonOwnerPtr<::ITextBoxController> textBoxController);
145
146 MCAPI void setTextBoxBackend(::std::string_view newText);
147 // NOLINTEND
148
149public:
150 // constructor thunks
151 // NOLINTBEGIN
152 MCAPI void* $ctor(::IKeyboardProxy* keyboardProxy);
153 // NOLINTEND
154
155public:
156 // destructor thunk
157 // NOLINTBEGIN
158 MCAPI void $dtor();
159 // NOLINTEND
160
161public:
162 // virtual function thunks
163 // NOLINTBEGIN
164 MCAPI void $update();
165
166 MCAPI void $onKeyDown(int keyCode, ::Bedrock::Input::KeyboardEventProcessor::InputOrigin origin);
167
168 MCAPI void $onKeyUp(int keyCode);
169
170 MCAPI void $updateEditContext(int keyCode);
171
172 MCAPI void $onTextInput(::std::string const& utf8Text);
173
174 MCAPI void $imeStartComposition();
175
176 MCAPI void $imeUpdateCompositionText(::std::string const& utf8Text);
177
178 MCAPI void $imeConfirmComposition(::std::string const& utf8Text);
179
180 MCAPI void $imeEndComposition();
181
182 MCAPI void $onTextEditComponentGainedFocus(::std::string_view const currentText, int maxLength);
183
184 MCAPI void $onTextEditComponentLostFocus();
185
186 MCAPI void
187 $onShowKeyboard(::std::string_view const currentText, int maxLength, bool isMultiline, ::InputMode inputMode);
188
189 MCAPI void $onHideKeyboard();
190
191 MCAPI void $onAppFocusLost();
192
193 MCFOLD void $onAppFocusGained();
194
195 MCFOLD int $getCaretPosition() const;
196
197 MCAPI void $setCaretPosition(int position);
198
199 MCFOLD void $setIMEEnabled(bool);
200 // NOLINTEND
201
202public:
203 // vftables
204 // NOLINTBEGIN
205 MCNAPI static void** $vftable();
206 // NOLINTEND
207};
Definition ClipboardPaste.h:7
Definition KeyboardEventProcessor.h:7
Definition SignalReceiver.h:17
Definition HIDController.h:13
Definition HIDController.h:5
static MCAPI void ** $vftable()
Definition IGamefaceTextInputProxy.h:5
Definition IKeyboardProxy.h:5
Definition ITextBoxController.h:5