2#include "Core/Input/KeyCode.h"
11 enum class Button : U32
18 MouseX1 = MK_XBUTTON1,
19 MouseX2 = MK_XBUTTON2,
22 static constexpr U32 ConvertMouseButtonToArrayIndex(Mouse::Button btn)
26 case Mouse::Button::Left:
return 0;
27 case Mouse::Button::Right:
return 1;
28 case Mouse::Button::Middle:
return 2;
29 case Mouse::Button::MouseX1:
return 3;
30 case Mouse::Button::MouseX2:
return 4;
39 constexpr Point(I32 x = 0, I32 y = 0) : X(x), Y(y) {}
49 , Modifier(Modifier::MOD_None)
60 constexpr ButtonState(Mouse::Button btn = Mouse::Button::None)
62 , Modifier(Modifier::MOD_None)
79 std::array<ButtonState, 5> ButtonStates;
88 constexpr KeyState(KeyCode key = KeyCode::None)
90 , Modifier(Modifier::MOD_None)
103 std::array<
KeyState, ConvertKeyCodeToArrayIndex(KeyCode::KEYCODE_COUNT)> KeyStates;
107 using MouseButton = Mouse::Button;