Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ViewInputHandler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/SubClientId.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9
10// auto generated forward declare list
11// clang-format off
12class IGameController;
13class IOptionRegistry;
14class KeyboardAction;
15class KeyboardManager;
16class MouseAction;
18namespace Input::Debug { class ISplitscreenRedirect; }
19namespace OreUI { class FocusNavigationController; }
20namespace OreUI { class GamepadInputHandler; }
21namespace OreUI { class TextInputHandler; }
22namespace OreUI { class TouchInputHandler; }
23namespace cohtml { class View; }
24namespace cohtml { struct KeyEventData; }
25// clang-format on
26
27namespace OreUI {
28
29class ViewInputHandler {
30public:
31 // ViewInputHandler inner types define
32 enum class SupportedClients : int {
33 Primary = 0,
34 All = 1,
35 };
36
37public:
38 // member variables
39 // NOLINTBEGIN
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<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect>>
48 mDebugSplitscreenInputRedirect;
49 ::ll::TypedStorage<1, 1, bool> mEmulateTouchInput;
50 ::ll::TypedStorage<1, 1, bool> mIsPointerDown;
51 ::ll::TypedStorage<1, 1, bool const> mIsPrimaryClient;
52 ::ll::TypedStorage<1, 1, bool> mIsFullKeyboard;
53 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mIsFullKeyboardSubscription;
54 ::ll::TypedStorage<1, 1, bool> mInvertMouse;
55 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mInvertMouseSubscription;
56 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::OreUI::FocusNavigationController>> mFocusController;
57 // NOLINTEND
58
59public:
60 // prevent constructor by default
61 ViewInputHandler& operator=(ViewInputHandler const&);
62 ViewInputHandler(ViewInputHandler const&);
63 ViewInputHandler();
64
65public:
66 // member functions
67 // NOLINTBEGIN
69 ::SubClientId subClientId,
70 ::std::unique_ptr<::OreUI::TextInputHandler> textInputHandler,
71 ::std::unique_ptr<::OreUI::TouchInputHandler> touchInputHandler,
72 ::std::unique_ptr<::OreUI::GamepadInputHandler> gamepadInputHandler,
73 ::KeyboardManager& keyboardManager,
74 ::cohtml::View& view,
75 ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> controllerIdToClientMap,
76 ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect> const& debugSplitscreenInputRedirect,
77 bool isPrimaryClient,
78 ::IOptionRegistry& options
79 );
80
81 MCNAPI bool _handleFocusNavigationKey(::cohtml::KeyEventData const& keyEvent) const;
82
83 MCNAPI void handleKeyboardInput(::KeyboardAction const& keyboardAction);
84
85 MCNAPI void handleMouseInput(::MouseAction const& mouseAction);
86
88
89 MCNAPI bool shouldHandleGamepad(::std::shared_ptr<::IGameController> gamePad);
90
91 MCAPI ~ViewInputHandler();
92 // NOLINTEND
93
94public:
95 // constructor thunks
96 // NOLINTBEGIN
97 MCNAPI void* $ctor(
98 ::SubClientId subClientId,
99 ::std::unique_ptr<::OreUI::TextInputHandler> textInputHandler,
100 ::std::unique_ptr<::OreUI::TouchInputHandler> touchInputHandler,
101 ::std::unique_ptr<::OreUI::GamepadInputHandler> gamepadInputHandler,
102 ::KeyboardManager& keyboardManager,
103 ::cohtml::View& view,
104 ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> controllerIdToClientMap,
105 ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect> const& debugSplitscreenInputRedirect,
106 bool isPrimaryClient,
107 ::IOptionRegistry& options
108 );
109 // NOLINTEND
110
111public:
112 // destructor thunk
113 // NOLINTBEGIN
114 MCAPI void $dtor();
115 // NOLINTEND
116};
117
118} // namespace OreUI
Definition IGameController.h:5
Definition IOptionRegistry.h:5
Definition ISplitscreenRedirect.h:7
Definition KeyboardAction.h:5
Definition KeyboardManager.h:5
Definition MouseAction.h:5
Definition FocusNavigationController.h:7
Definition GamepadInputHandler.h:7
Definition TextInputHandler.h:7
Definition TouchInputHandler.h:7
Definition ViewInputHandler.h:7
MCAPI ViewInputHandler(::SubClientId subClientId, ::std::unique_ptr<::OreUI::TextInputHandler > textInputHandler, ::std::unique_ptr<::OreUI::TouchInputHandler > touchInputHandler, ::std::unique_ptr<::OreUI::GamepadInputHandler > gamepadInputHandler, ::KeyboardManager &keyboardManager, ::cohtml::View &view, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap > controllerIdToClientMap, ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect > const &debugSplitscreenInputRedirect, bool isPrimaryClient, ::IOptionRegistry &options)
MCAPI void handleMouseInput(::MouseAction const &mouseAction)
MCAPI bool _handleFocusNavigationKey(::cohtml::KeyEventData const &keyEvent) const
MCAPI void setFocusController(::OreUI::FocusNavigationController *controller)
MCAPI void * $ctor(::SubClientId subClientId, ::std::unique_ptr<::OreUI::TextInputHandler > textInputHandler, ::std::unique_ptr<::OreUI::TouchInputHandler > touchInputHandler, ::std::unique_ptr<::OreUI::GamepadInputHandler > gamepadInputHandler, ::KeyboardManager &keyboardManager, ::cohtml::View &view, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap > controllerIdToClientMap, ::Bedrock::NotNullNonOwnerPtr<::Input::Debug::ISplitscreenRedirect > const &debugSplitscreenInputRedirect, bool isPrimaryClient, ::IOptionRegistry &options)
MCAPI bool shouldHandleGamepad(::std::shared_ptr<::IGameController > gamePad)
MCAPI void handleKeyboardInput(::KeyboardAction const &keyboardAction)
Definition View.h:7
Definition ControllerIDtoClientMap.h:5
Definition KeyEventData.h:7