31 #include "Core/Event/IEvent.h" 162 inline const char* EnumToString(KeyCode key)
164 #define STRKEY(val) case MxEngine::KeyCode::val: return #val 212 STRKEY(LEFT_BRACKET);
214 STRKEY(RIGHT_BRACKET);
215 STRKEY(GRAVE_ACCENT);
234 STRKEY(PRINT_SCREEN);
279 STRKEY(LEFT_CONTROL);
283 STRKEY(RIGHT_CONTROL);
289 return "INVALID_KEY";
296 using KeyVectorPointer =
const std::bitset<350>*;
299 KeyVectorPointer keyHeld;
300 KeyVectorPointer keyPressed;
301 KeyVectorPointer keyReleased;
303 inline KeyEvent(KeyVectorPointer held, KeyVectorPointer pressed, KeyVectorPointer released) noexcept
304 : keyHeld(held), keyPressed(pressed), keyReleased(released) { }
306 inline bool IsHeld(KeyCode key)
const {
return (key != KeyCode::UNKNOWN) && (*keyHeld)[size_t(key)]; }
307 inline bool IsPressed(KeyCode key)
const {
return (key != KeyCode::UNKNOWN) && (*keyPressed)[size_t(key)]; }
308 inline bool IsReleased(KeyCode key)
const {
return (key != KeyCode::UNKNOWN) && (*keyReleased)[size_t(key)]; }
Definition: KeyEvent.h:292
Definition: Application.cpp:49