LeviLamina
Loading...
Searching...
No Matches
CustomInputZoneMapper.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/input/InputDeviceMapper.h"
8#include "mc/deps/input/InputMode.h"
9
10// auto generated forward declare list
11// clang-format off
12class BindingFactory;
13class InputEventQueue;
15class TouchControlSet;
16struct ControllerIDtoClientMap;
17struct InputMapping;
18// clang-format on
19
21public:
22 // CustomInputZoneMapper inner types define
23 using HandlePointerReturn = ::std::tuple<bool, bool>;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TouchControlSet>> mTouchControlSet;
29 ::ll::TypedStorage<4, 4, int> mYAxisInversionFactor;
30 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<int, int>>> mTouchIdsWithFlags;
31 ::ll::TypedStorage<4, 4, int> mPrimaryGameControllerId;
32 ::ll::TypedStorage<4, 4, ::InputMode> mLastInputMode;
33 // NOLINTEND
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ~CustomInputZoneMapper() /*override*/ = default;
39
40 virtual void setMapping(
41 ::InputEventQueue& eventQueue,
42 ::BindingFactory const& bindingFactory,
43 ::InputMapping const& inputMapping,
44 int controllerId
45 ) /*override*/;
46
47 virtual void clearMapping(int controllerId) /*override*/;
48
49 virtual bool
50 tick(::InputEventQueue& eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> const&) /*override*/;
51
52 virtual void clearInputDeviceQueue() /*override*/;
53
54 virtual ::InputMode getInputMode() const /*override*/;
55
56 virtual void render(::InputRenderContext& context) const /*override*/;
57
58 virtual void setWindowSize(int width, int height) /*override*/;
59
60 virtual void changeControllerId(int oldId, int newId) /*override*/;
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCAPI void $setMapping(
67 ::InputEventQueue& eventQueue,
68 ::BindingFactory const& bindingFactory,
69 ::InputMapping const& inputMapping,
70 int controllerId
71 );
72
73 MCAPI void $clearMapping(int controllerId);
74
75 MCAPI bool $tick(::InputEventQueue& eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> const&);
76
77 MCFOLD void $clearInputDeviceQueue();
78
79 MCFOLD ::InputMode $getInputMode() const;
80
81 MCFOLD void $render(::InputRenderContext& context) const;
82
83 MCFOLD void $setWindowSize(int width, int height);
84
85 MCAPI void $changeControllerId(int oldId, int newId);
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftable();
92 // NOLINTEND
93};
Definition BindingFactory.h:5
Definition CustomInputZoneMapper.h:5
static MCAPI void ** $vftable()
Definition InputDeviceMapper.h:5
Definition InputEventQueue.h:5
Definition InputRenderContext.h:5
Definition TouchControlSet.h:5
Definition InputMapping.h:5