LeviLamina
Loading...
Searching...
No Matches
MouseMapper.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;
14struct ControllerIDtoClientMap;
15struct InputMapping;
16// clang-format on
17
18class MouseMapper : public ::InputDeviceMapper {
19public:
20 // MouseMapper inner types define
21 using MouseButtonId = int;
22
23 using MouseButtonToButtonMap = ::std::unordered_multimap<int, uint>;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<4, 4, int> mYAxisInversionFactor;
29 ::ll::TypedStorage<8, 64, ::std::unordered_multimap<int, uint>> mMouseButtonToButtonIdMap;
30 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mMouseWheelUpButtonIds;
31 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mMouseWheelDownButtonIds;
32 ::ll::TypedStorage<4, 4, int> mPrimaryGameControllerId;
33 ::ll::TypedStorage<8, 64, ::std::function<bool()>> mIsClientUsingMouseInputMode;
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual void setMapping(
40 ::InputEventQueue& eventQueue,
41 ::BindingFactory const& bindingFactory,
42 ::InputMapping const& inputMapping,
43 int controllerId
44 ) /*override*/;
45
46 virtual void clearMapping(int controllerId) /*override*/;
47
48 virtual bool tick(
49 ::InputEventQueue& eventQueue,
50 ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> const& map
51 ) /*override*/;
52
53 virtual void clearInputDeviceQueue() /*override*/;
54
55 virtual ::InputMode getInputMode() const /*override*/;
56
57 virtual void getCursorPos(float& xCursor, float& yCursor) const /*override*/;
58
59 virtual void changeControllerId(int oldId, int newId) /*override*/;
60
61 virtual ~MouseMapper() /*override*/;
62 // NOLINTEND
63
64public:
65 // destructor thunk
66 // NOLINTBEGIN
67 MCAPI void $dtor();
68 // NOLINTEND
69
70public:
71 // virtual function thunks
72 // NOLINTBEGIN
73 MCAPI void $setMapping(
74 ::InputEventQueue& eventQueue,
75 ::BindingFactory const& bindingFactory,
76 ::InputMapping const& inputMapping,
77 int controllerId
78 );
79
80 MCAPI void $clearMapping(int controllerId);
81
82 MCAPI bool
83 $tick(::InputEventQueue& eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> const& map);
84
85 MCAPI void $clearInputDeviceQueue();
86
87 MCFOLD ::InputMode $getInputMode() const;
88
89 MCAPI void $getCursorPos(float& xCursor, float& yCursor) const;
90
91 MCAPI void $changeControllerId(int oldId, int newId);
92 // NOLINTEND
93
94public:
95 // vftables
96 // NOLINTBEGIN
97 MCNAPI static void** $vftable();
98 // NOLINTEND
99};
Definition BindingFactory.h:5
Definition InputDeviceMapper.h:5
Definition InputEventQueue.h:5
Definition MouseMapper.h:5
static MCAPI void ** $vftable()
Definition InputMapping.h:5