3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/oreui/input/GamefaceImeComposer.h"
7#include "mc/client/gui/oreui/input/InputSource.h"
8#include "mc/common/SubClientId.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/core/utility/pub_sub/Subscription.h"
24namespace cohtml {
class View; }
32 enum class SupportedClients :
int {
40 ::ll::TypedStorage<1, 1, ::SubClientId> mSubClientId;
41 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::TouchInputHandler>> mTouchInputHandler;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::TextInputHandler>> mTextInputHandler;
43 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::GamepadInputHandler>> mGamepadInputHandler;
44 ::ll::TypedStorage<8, 8, ::KeyboardManager&> mKeyboardManager;
45 ::ll::TypedStorage<8, 8, ::cohtml::View&> mView;
46 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap>> mControllerToClientMap;
47 ::ll::TypedStorage<1, 1, bool> mShouldIgnoreBedrockInput;
48 ::ll::TypedStorage<1, 1, bool> mEmulateTouchInput;
49 ::ll::TypedStorage<1, 1, bool> mIsPointerDown;
50 ::ll::TypedStorage<1, 1, bool const> mIsPrimaryClient;
51 ::ll::TypedStorage<1, 1, bool> mIsFullKeyboard;
52 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mIsFullKeyboardSubscription;
53 ::ll::TypedStorage<1, 1, bool> mInvertMouse;
54 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mInvertMouseSubscription;
55 ::ll::TypedStorage<8, 48, ::std::optional<::OreUI::GamefaceImeComposer>> mImeComposer;
60 ViewInputHandler& operator=(ViewInputHandler
const&);
61 ViewInputHandler(ViewInputHandler
const&);
67 MCAPI ViewInputHandler(
68 ::SubClientId subClientId,
69 ::std::unique_ptr<::OreUI::TextInputHandler> textInputHandler,
70 ::std::unique_ptr<::OreUI::TouchInputHandler> touchInputHandler,
71 ::std::unique_ptr<::OreUI::GamepadInputHandler> gamepadInputHandler,
72 ::KeyboardManager& keyboardManager,
74 ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> controllerIdToClientMap,
79 MCAPI
void _onImeCompositionChanged(::std::string
const& composition);
81 MCAPI
void handleInput(::OreUI::InputSource inputSource, ::MouseAction
const& mouseAction);
83 MCAPI
void handleKeyboardInput(::OreUI::InputSource inputSource, ::KeyboardAction
const& keyboardAction);
85 MCAPI
void handleNativeTextInput(::OreUI::InputSource inputSource, ::std::string_view text);
87 MCAPI
void imeStartComposition(::OreUI::InputSource inputSource);
89 MCAPI
void sendTextChangedEvent(::OreUI::TextInputResult inputResult);
91 MCAPI
void setTextBoxState(::OreUI::InputSource inputSource, ::TextBoxStateChange
const& stateChange);
93 MCAPI ~ViewInputHandler();
100 ::SubClientId subClientId,
101 ::std::unique_ptr<::OreUI::TextInputHandler> textInputHandler,
102 ::std::unique_ptr<::OreUI::TouchInputHandler> touchInputHandler,
103 ::std::unique_ptr<::OreUI::GamepadInputHandler> gamepadInputHandler,
104 ::KeyboardManager& keyboardManager,
105 ::cohtml::View& view,
106 ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> controllerIdToClientMap,
107 bool isPrimaryClient,
Definition KeyboardAction.h:5
Definition KeyboardManager.h:5
Definition MouseAction.h:5
Definition TextInputHandler.h:7
Definition ControllerIDtoClientMap.h:13
Definition TextInputResult.h:7
Definition TextBoxStateChange.h:5