5 #include "Mountain/core.hpp" 22 static constexpr
size_t GamepadMax = 15;
58 using KeyStatuses = std::array<bool_t, magic_enum::enum_count<KeyStatus>()>;
60 using MouseStatuses = std::array<bool_t, magic_enum::enum_count<MouseButtonStatus>()>;
62 MOUNTAIN_API
static inline uint32_t m_CurrentBoundWindow = 0;
64 MOUNTAIN_API
static inline std::array<KeyStatuses, static_cast<size_t>(Key::Count)> m_Keyboard;
66 MOUNTAIN_API
static inline std::array<MouseStatuses, magic_enum::enum_count<MouseButton>()> m_Mouse;
68 MOUNTAIN_API
static inline std::array<GamepadInput, GamepadMax> m_Gamepads;
70 MOUNTAIN_API
static inline Vector2 m_LastMousePosition;
72 MOUNTAIN_API
static inline Vector2 m_MousePosition;
74 MOUNTAIN_API
static inline Vector2 m_MouseDelta;
76 MOUNTAIN_API
static inline Vector2 m_MouseWheel;
78 MOUNTAIN_API
static inline GLFWwindow* m_WindowHandle =
nullptr;
81 MOUNTAIN_API
static void Initialize();
84 MOUNTAIN_API
static void Update();
86 MOUNTAIN_API
static void Reset();
88 static void HandleKeyboard(GLFWwindow* window, int32_t key, int32_t scancode, int32_t action, int32_t mods);
90 static void HandleMouseButton(GLFWwindow* window, int32_t mouseButton, int32_t action, int32_t mods);
92 static void HandleMouseWheel(GLFWwindow* window, double_t wheelX, double_t wheelY);
94 static void HandleJoyStickCallBack(int32_t jid, int32_t event);
96 static void UpdateGamepads();
98 static void UpdateConnectedGamepads();
Defines the Mountain::Window class.
MouseButton
List of mouse buttons
KeyStatus
List of keyboard button states
MouseButtonStatus
List of mouse button states
A wrapper for the main window.
Key
List of keyboard buttons
Contains all declarations of the Mountain Framework.