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;
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 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65 MCAPI void $setMapping(
66 ::InputEventQueue& eventQueue,
67 ::BindingFactory const& bindingFactory,
68 ::InputMapping const& inputMapping,
69 int controllerId
70 );
71
72 MCAPI void $clearMapping(int controllerId);
73
74 MCAPI bool
75 $tick(::InputEventQueue& eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> const& map);
76
77 MCAPI void $clearInputDeviceQueue();
78
79 MCFOLD ::InputMode $getInputMode() const;
80
81 MCAPI void $getCursorPos(float& xCursor, float& yCursor) const;
82
83 MCAPI void $changeControllerId(int oldId, int newId);
84 // NOLINTEND
85
86public:
87 // vftables
88 // NOLINTBEGIN
89 MCNAPI static void** $vftable();
90 // NOLINTEND
91};
Definition BindingFactory.h:5
Definition InputDeviceMapper.h:5
Definition InputEventQueue.h:5
Definition MouseMapper.h:5
static MCAPI void ** $vftable()
Definition ControllerIDtoClientMap.h:5
Definition InputMapping.h:5