3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/deps/core/islands/SignalReceiver.h"
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"
33 enum class StateChange :
int {
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;
53 MCAPI ::HIDController::GamefaceTextEditContext::StateChange checkForChanges();
55 MCAPI ::TextBoxSelection getSelection()
const;
57 MCAPI ::std::string getText()
const;
59 MCAPI
void imeConfirmAndEndComposition();
61 MCAPI
void imeStartComposition();
63 MCFOLD
bool isEnabled()
const;
65 MCAPI
void replaceTextRange(::std::string
const& text,
int from,
int to);
67 MCAPI
bool tryEnable(::Bedrock::NonOwnerPointer<::ITextBoxController> textBoxController);
69 MCAPI ~GamefaceTextEditContext();
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;
103 virtual void update();
105 virtual void onKeyDown(
int keyCode, ::Bedrock::Input::KeyboardEventProcessor::InputOrigin origin) ;
107 virtual void onKeyUp(
int keyCode) ;
109 virtual void updateEditContext(
int keyCode);
111 virtual void onTextInput(::std::string
const& utf8Text);
113 virtual void imeStartComposition();
115 virtual void imeUpdateCompositionText(::std::string
const& utf8Text);
117 virtual void imeConfirmComposition(::std::string
const& utf8Text);
119 virtual void imeEndComposition();
121 virtual void onTextEditComponentGainedFocus(::std::string_view
const currentText,
int maxLength);
123 virtual void onTextEditComponentLostFocus();
126 onShowKeyboard(::std::string_view
const currentText,
int maxLength,
bool isMultiline, ::InputMode inputMode);
128 virtual void onHideKeyboard();
130 virtual void onAppFocusLost();
132 virtual void onAppFocusGained();
134 virtual int getCaretPosition()
const;
136 virtual void setCaretPosition(
int position);
138 virtual void setIMEEnabled(
bool);
144 MCAPI
explicit HIDController(::IKeyboardProxy* keyboardProxy);
146 MCAPI
void _clipboardPasteHandler(::ApplicationSignal::ClipboardPaste
const& signal);
148 MCAPI
void deinitialize();
150 MCAPI
void disableEditContext();
152 MCAPI
void enableEditContext(::std::string_view newUtf8Text,
int maxLength);
154 MCAPI ::std::string getTextBoxBackend()
const;
156 MCAPI
void initialize(::Bedrock::NotNullNonOwnerPtr<::ITextBoxController> textBoxController);
158 MCAPI
void setTextBoxBackend(::std::string_view newText);
164 MCAPI
void* $ctor(::IKeyboardProxy* keyboardProxy);
170 MCAPI
void $update();
172 MCAPI
void $onKeyDown(
int keyCode, ::Bedrock::Input::KeyboardEventProcessor::InputOrigin origin);
174 MCAPI
void $onKeyUp(
int keyCode);
176 MCAPI
void $updateEditContext(
int keyCode);
178 MCAPI
void $onTextInput(::std::string
const& utf8Text);
180 MCAPI
void $imeStartComposition();
182 MCAPI
void $imeUpdateCompositionText(::std::string
const& utf8Text);
184 MCAPI
void $imeConfirmComposition(::std::string
const& utf8Text);
186 MCAPI
void $imeEndComposition();
188 MCAPI
void $onTextEditComponentGainedFocus(::std::string_view
const currentText,
int maxLength);
190 MCAPI
void $onTextEditComponentLostFocus();
193 $onShowKeyboard(::std::string_view
const currentText,
int maxLength,
bool isMultiline, ::InputMode inputMode);
195 MCAPI
void $onHideKeyboard();
197 MCAPI
void $onAppFocusLost();
199 MCFOLD
void $onAppFocusGained();
201 MCFOLD
int $getCaretPosition()
const;
203 MCAPI
void $setCaretPosition(
int position);
205 MCFOLD
void $setIMEEnabled(
bool);
Definition ClipboardPaste.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