Zen 0.3.0
Loading...
Searching...
No Matches
ZEN_InputSystem.cpp
1#include <SDL3/SDL_keyboard.h>
2#include <SDL3/SDL_mouse.h>
3#include <zen/inputs/ZEN_InputSystem.h>
4
5namespace Zen {
6 void InputSystem::begin() { m_currKeyboard = SDL_GetKeyboardState(nullptr); }
7
8 void InputSystem::end() {
9 std::memcpy(m_prev.data(), m_currKeyboard, SDL_SCANCODE_COUNT * sizeof(bool));
10 }
11
12 void InputSystem::reset() {
13 SDL_ResetKeyboard();
14 m_prev.fill(0);
15 }
16
17 bool InputSystem::held(int scancode) const {
18 return (m_currKeyboard && m_currKeyboard[scancode]);
19 }
20 bool InputSystem::pressed(int scancode) const {
21 return m_currKeyboard && (m_currKeyboard[scancode] && !m_prev[scancode]);
22 }
23 bool InputSystem::released(int scancode) const {
24 return m_currKeyboard && (!m_currKeyboard[scancode] && m_prev[scancode]);
25 }
26
27} // namespace Zen