LkEngine 0.1.2
 
Loading...
Searching...
No Matches
MouseCodes.h
1#pragma once
2
3#include <cstdint>
4
5
6namespace LkEngine {
7
9 enum class EMouseButton : uint16_t
10 {
11 Button0, /* Left */
12 Button1, /* Right */
13 Button2, /* Middle */
14 Button3,
15 Button4,
16 Button5,
17 None,
18
19 /* Keep aliases below the rest. */
20 Left = Button0,
21 Right = Button1,
22 Middle = Button2,
23 };
24
27 {
28 None = -1,
29 Pressed,
30 Held,
31 Released
32 };
33
35 enum class ECursorMode
36 {
37 Normal = 0,
38 Hidden = 1,
39 Locked = 2
40 };
41
44 {
45 None,
46 Up,
47 Down
48 };
49
54 {
55 EMouseButton Button = EMouseButton::None;
56 EMouseButtonState State = EMouseButtonState::None;
57 EMouseButtonState OldState = EMouseButtonState::None;
58 };
59
60
61 namespace Enum
62 {
63 FORCEINLINE static constexpr const char* ToString(const EMouseButton MouseButton)
64 {
65 switch (MouseButton)
66 {
67 case EMouseButton::Button0: return "Button0";
68 case EMouseButton::Button1: return "Button1";
69 case EMouseButton::Button2: return "Button2";
70 case EMouseButton::Button3: return "Button3";
71 case EMouseButton::Button4: return "Button4";
72 case EMouseButton::Button5: return "Button5";
73 case EMouseButton::None: return "None";
74 }
75
76 assert(false);
77 return nullptr;
78 }
79
80 FORCEINLINE static constexpr const char* ToString(const ECursorMode CursorMode)
81 {
82 switch (CursorMode)
83 {
84 case ECursorMode::Normal: return "Normal";
85 case ECursorMode::Hidden: return "Hidden";
86 case ECursorMode::Locked: return "Locked";
87 }
88
89 assert(false);
90 return nullptr;
91 }
92
93 FORCEINLINE static constexpr const char* ToString(const EMouseScrollDirection ScrollDirection)
94 {
95 switch (ScrollDirection)
96 {
97 case EMouseScrollDirection::Up: return "Up";
98 case EMouseScrollDirection::Down: return "Down";
99 case EMouseScrollDirection::None: return "None";
100 }
101
102 assert(false);
103 return nullptr;
104 }
105 }
106
107}
Definition Asset.h:11
ECursorMode
Definition MouseCodes.h:36
EMouseButton
Definition MouseCodes.h:10
EMouseButtonState
Definition MouseCodes.h:27
EMouseScrollDirection
Definition MouseCodes.h:44
Definition MouseCodes.h:54