3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/input/InputBindingMode.h"
8#include "mc/deps/input/InputMode.h"
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;
31 virtual ~InputDeviceMapper() = 0;
33 virtual void setMapping(
34 ::InputEventQueue& eventQueue,
35 ::BindingFactory
const& bindingFactory,
36 ::InputMapping
const& inputMapping,
40 virtual void clearMapping(
int controllerId) = 0;
42 virtual void clearInputDeviceQueue();
44 virtual void clearInputDeviceQueueForFrame();
47 tick(::InputEventQueue& eventQueue, ::Bedrock::NotNullNonOwnerPtr<::ControllerIDtoClientMap>
const& map) = 0;
49 virtual ::InputMode getInputMode()
const = 0;
51 virtual void getCursorPos(
float& xCursor,
float& yCursor)
const;
53 virtual void render(::InputRenderContext& context)
const;
55 virtual void setWindowSize(
int width,
int height);
57 virtual void setBindingMode(::InputBindingMode mode,
int controllerId);
59 virtual ::InputBindingMode getBindingMode(
int controllerId);
61 virtual void changeControllerId(
int oldId,
int newId);
67 MCFOLD
void $clearInputDeviceQueue();
69 MCFOLD
void $clearInputDeviceQueueForFrame();
71 MCAPI
void $getCursorPos(
float& xCursor,
float& yCursor)
const;
73 MCFOLD
void $render(::InputRenderContext& context)
const;
75 MCAPI
void $setWindowSize(
int width,
int height);
77 MCAPI
void $setBindingMode(::InputBindingMode mode,
int controllerId);
79 MCAPI ::InputBindingMode $getBindingMode(
int controllerId);
81 MCFOLD
void $changeControllerId(
int oldId,
int newId);
Definition BindingFactory.h:5
Definition InputRenderContext.h:5
Definition ControllerIDtoClientMap.h:13