3#include "mc/_HeaderOutputPredefine.h"
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"
32 enum class StateChange :
int {
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;
52 MCAPI ::HIDController::GamefaceTextEditContext::StateChange checkForChanges();
54 MCAPI ::std::string getText()
const;
56 MCAPI
bool tryEnable(::Bedrock::NonOwnerPointer<::ITextBoxController> textBoxController);
58 MCAPI ~GamefaceTextEditContext();
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;
90 virtual void update();
92 virtual void onKeyDown(
int keyCode, ::Bedrock::Input::KeyboardEventProcessor::InputOrigin origin) ;
94 virtual void onKeyUp(
int keyCode) ;
96 virtual void updateEditContext(
int keyCode);
98 virtual void onTextInput(::std::string
const& utf8Text);
100 virtual void imeStartComposition();
102 virtual void imeUpdateCompositionText(::std::string
const& utf8Text);
104 virtual void imeConfirmComposition(::std::string
const& utf8Text);
106 virtual void imeEndComposition();
108 virtual void onTextEditComponentGainedFocus(::std::string_view
const currentText,
int maxLength);
110 virtual void onTextEditComponentLostFocus();
113 onShowKeyboard(::std::string_view
const currentText,
int maxLength,
bool isMultiline, ::InputMode inputMode);
115 virtual void onHideKeyboard();
117 virtual void onAppFocusLost();
119 virtual void onAppFocusGained();
121 virtual int getCaretPosition()
const;
123 virtual void setCaretPosition(
int position);
125 virtual void setIMEEnabled(
bool);
127 virtual ~HIDController() ;
133 MCAPI
explicit HIDController(::IKeyboardProxy* keyboardProxy);
135 MCAPI
void _clipboardPasteHandler(::ApplicationSignal::ClipboardPaste
const& signal);
137 MCAPI
void _feedKeyState(
int keyCode,
int state);
139 MCAPI ::std::string getTextBoxBackend()
const;
141 MCAPI
void initialize(::Bedrock::NotNullNonOwnerPtr<::ITextBoxController> textBoxController);
147 MCAPI
void* $ctor(::IKeyboardProxy* keyboardProxy);
159 MCAPI
void $update();
161 MCAPI
void $onKeyDown(
int keyCode, ::Bedrock::Input::KeyboardEventProcessor::InputOrigin origin);
163 MCAPI
void $onKeyUp(
int keyCode);
165 MCAPI
void $updateEditContext(
int keyCode);
167 MCAPI
void $onTextInput(::std::string
const& utf8Text);
169 MCAPI
void $imeStartComposition();
171 MCAPI
void $imeUpdateCompositionText(::std::string
const& utf8Text);
173 MCAPI
void $imeConfirmComposition(::std::string
const& utf8Text);
175 MCAPI
void $imeEndComposition();
177 MCAPI
void $onTextEditComponentGainedFocus(::std::string_view
const currentText,
int maxLength);
179 MCAPI
void $onTextEditComponentLostFocus();
182 $onShowKeyboard(::std::string_view
const currentText,
int maxLength,
bool isMultiline, ::InputMode inputMode);
184 MCAPI
void $onHideKeyboard();
186 MCAPI
void $onAppFocusLost();
188 MCFOLD
void $onAppFocusGained();
190 MCFOLD
int $getCaretPosition()
const;
192 MCAPI
void $setCaretPosition(
int position);
194 MCFOLD
void $setIMEEnabled(
bool);
Definition ClipboardPaste.h:16
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