LeviLamina
Loading...
Searching...
No Matches
InputDeviceMapper.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/InputBindingMode.h"
8#include "mc/deps/input/InputMode.h"
9
10// auto generated forward declare list
11// clang-format off
12class BindingFactory;
13class InputEventQueue;
16struct InputMapping;
17// clang-format on
18
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<4, 4, int> mScreenWidth;
24 ::ll::TypedStorage<4, 4, int> mScreenHeight;
25 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::InputBindingMode>> mBindingMode;
26 // NOLINTEND
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~InputDeviceMapper() = 0;
32
33 virtual void setMapping(
34 ::InputEventQueue& eventQueue,
35 ::BindingFactory const& bindingFactory,
36 ::InputMapping const& inputMapping,
37 int controllerId
38 ) = 0;
39
40 virtual void clearMapping(int controllerId) = 0;
41
42 virtual void clearInputDeviceQueue();
43
44 virtual void clearInputDeviceQueueForFrame();
45
46 virtual bool
47 tick(::InputEventQueue& eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap> const& map) = 0;
48
49 virtual ::InputMode getInputMode() const = 0;
50
51 virtual void getCursorPos(float& xCursor, float& yCursor) const;
52
53 virtual void render(::InputRenderContext& context) const;
54
55 virtual void setWindowSize(int width, int height);
56
57 virtual void setBindingMode(::InputBindingMode mode, int controllerId);
58
59 virtual ::InputBindingMode getBindingMode(int controllerId);
60
61 virtual void changeControllerId(int oldId, int newId);
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCFOLD void $clearInputDeviceQueue();
68
69 MCFOLD void $clearInputDeviceQueueForFrame();
70
71 MCAPI void $getCursorPos(float& xCursor, float& yCursor) const;
72
73 MCFOLD void $render(::InputRenderContext& context) const;
74
75 MCAPI void $setWindowSize(int width, int height);
76
77 MCAPI void $setBindingMode(::InputBindingMode mode, int controllerId);
78
79 MCAPI ::InputBindingMode $getBindingMode(int controllerId);
80
81 MCFOLD void $changeControllerId(int oldId, int newId);
82 // NOLINTEND
83
84public:
85 // vftables
86 // NOLINTBEGIN
87 MCNAPI static void** $vftable();
88 // NOLINTEND
89};
Definition BindingFactory.h:5
Definition InputDeviceMapper.h:5
static MCAPI void ** $vftable()
Definition InputEventQueue.h:5
Definition InputRenderContext.h:5
Definition ControllerIDtoClientMap.h:13
Definition InputMapping.h:5