Plasma Engine  2.0
Loading...
Searching...
No Matches
InputDevice_win32.h
1#pragma once
2
3#include <Core/Input/DeviceTypes/MouseKeyboard.h>
4#include <Foundation/Basics/Platform/Win/MinWindows.h>
5
7{
8 PL_ADD_DYNAMIC_REFLECTION(plStandardInputDevice, plInputDeviceMouseKeyboard);
9
10public:
11 plStandardInputDevice(plUInt32 uiWindowNumber);
13
15 void WindowMessage(plMinWindows::HWND hWnd, plMinWindows::UINT msg, plMinWindows::WPARAM wparam, plMinWindows::LPARAM lparam);
16
23 static void LocalizeButtonDisplayNames();
24
26 virtual plMouseCursorClipMode::Enum GetClipMouseCursor() const override { return m_ClipCursorMode; }
27
28 virtual void SetShowMouseCursor(bool bShow) override;
29 virtual bool GetShowMouseCursor() const override;
30
31protected:
32 virtual void InitializeDevice() override;
33 virtual void RegisterInputSlots() override;
34 virtual void ResetInputSlotValues() override;
35 virtual void UpdateInputSlotValues() override;
36
37private:
38 void ApplyClipRect(plMouseCursorClipMode::Enum mode, plMinWindows::HWND hWnd);
39 void OnFocusLost(plMinWindows::HWND hWnd);
40
41 static bool s_bMainWindowUsed;
42 plUInt32 m_uiWindowNumber = 0;
43 bool m_bShowCursor = true;
45 bool m_bApplyClipRect = false;
46 plUInt8 m_uiMouseButtonReceivedDown[5] = {0, 0, 0, 0, 0};
47 plUInt8 m_uiMouseButtonReceivedUp[5] = {0, 0, 0, 0, 0};
48};
This is the base class for all input devices that handle mouse and keyboard input.
Definition MouseKeyboard.h:26
virtual void UpdateInputSlotValues() override
Override this, if you need to query the state of the hardware to update the input slots.
Definition DeviceTypes.cpp:175
Android standard input device.
Definition InputDevice_android.h:10
virtual bool GetShowMouseCursor() const override
Returns whether the mouse cursor is shown.
virtual void RegisterInputSlots() override
Override this to register all the input slots that this device exposes.
virtual void InitializeDevice() override
Override this if you need to do device specific initialization before the first use.
virtual void ResetInputSlotValues() override
Override this, if you need to reset certain input slot values to zero, after the plInputManager is fi...
virtual void SetShowMouseCursor(bool bShow) override
Shows or hides the mouse cursor inside the application window.
virtual plMouseCursorClipMode::Enum GetClipMouseCursor() const override
Returns whether the mouse is confined to the application window or not.
Definition InputDevice_win32.h:26
virtual void SetClipMouseCursor(plMouseCursorClipMode::Enum mode) override
Will trap the mouse inside the application window. Should usually be enabled, to prevent accidental t...
Enum
Definition MouseKeyboard.h:10
@ NoClip
The mouse can move unrestricted and leave the application window.
Definition MouseKeyboard.h:11