diff --git a/NAS2D/EnumKeyCode.h b/NAS2D/EnumKeyCode.h new file mode 100644 index 00000000..5311195d --- /dev/null +++ b/NAS2D/EnumKeyCode.h @@ -0,0 +1,192 @@ +#pragma once + +#include + + +namespace +{ + constexpr int scanCodeToKeyCode(int scanCode) + { + const auto scanCodeMask = 1 << 30; + const auto keyCode = scanCode | scanCodeMask; + return keyCode; + } +} + + +namespace NAS2D +{ + enum class KeyCode : uint32_t + { + KEY_FIRST = 0, + KEY_UNKNOWN = 0, + KEY_BACKSPACE = '\b', + KEY_TAB = '\t', + KEY_RETURN = '\r', + KEY_ENTER = '\r', + KEY_ESCAPE = '\033', + KEY_SPACE = ' ', + KEY_EXCLAIM = '!', + KEY_QUOTEDBL = '"', + KEY_HASH = '#', + KEY_PERCENT = '%', + KEY_DOLLAR = '$', + KEY_AMPERSAND = '&', + KEY_QUOTE = '\'', + KEY_LEFTPAREN = '(', + KEY_RIGHTPAREN = ')', + KEY_ASTERISK = '*', + KEY_PLUS = '+', + KEY_COMMA = ',', + KEY_MINUS = '-', + KEY_PERIOD = '.', + KEY_SLASH = '/', + KEY_0 = '0', + KEY_1 = '1', + KEY_2 = '2', + KEY_3 = '3', + KEY_4 = '4', + KEY_5 = '5', + KEY_6 = '6', + KEY_7 = '7', + KEY_8 = '8', + KEY_9 = '9', + KEY_COLON = ':', + KEY_SEMICOLON = ';', + KEY_LESS = '<', + KEY_EQUALS = '=', + KEY_GREATER = '>', + KEY_QUESTION = '?', + KEY_AT = '@', + + // Special Symbols + KEY_LEFTBRACKET = '[', + KEY_BACKSLASH = '\\', + KEY_RIGHTBRACKET = ']', + KEY_CARET = '^', + KEY_UNDERSCORE = '_', + KEY_BACKQUOTE = '`', + + KEY_a = 'a', + KEY_b = 'b', + KEY_c = 'c', + KEY_d = 'd', + KEY_e = 'e', + KEY_f = 'f', + KEY_g = 'g', + KEY_h = 'h', + KEY_i = 'i', + KEY_j = 'j', + KEY_k = 'k', + KEY_l = 'l', + KEY_m = 'm', + KEY_n = 'n', + KEY_o = 'o', + KEY_p = 'p', + KEY_q = 'q', + KEY_r = 'r', + KEY_s = 's', + KEY_t = 't', + KEY_u = 'u', + KEY_v = 'v', + KEY_w = 'w', + KEY_x = 'x', + KEY_y = 'y', + KEY_z = 'z', + + // Numeric Keypad + KEY_KP1 = scanCodeToKeyCode(89), + KEY_KP2 = scanCodeToKeyCode(90), + KEY_KP3 = scanCodeToKeyCode(91), + KEY_KP4 = scanCodeToKeyCode(92), + KEY_KP5 = scanCodeToKeyCode(93), + KEY_KP6 = scanCodeToKeyCode(94), + KEY_KP7 = scanCodeToKeyCode(95), + KEY_KP8 = scanCodeToKeyCode(96), + KEY_KP9 = scanCodeToKeyCode(97), + KEY_KP0 = scanCodeToKeyCode(98), + KEY_KP_PERIOD = scanCodeToKeyCode(99), + KEY_KP_DIVIDE = scanCodeToKeyCode(84), + KEY_KP_MULTIPLY = scanCodeToKeyCode(85), + KEY_KP_MINUS = scanCodeToKeyCode(86), + KEY_KP_PLUS = scanCodeToKeyCode(87), + KEY_KP_ENTER = scanCodeToKeyCode(88), + KEY_KP_EQUALS = scanCodeToKeyCode(103), + KEY_KP_COMMA = scanCodeToKeyCode(133), + + // Arrows/Home/End + KEY_UP = scanCodeToKeyCode(82), + KEY_DOWN = scanCodeToKeyCode(81), + KEY_RIGHT = scanCodeToKeyCode(79), + KEY_LEFT = scanCodeToKeyCode(80), + KEY_INSERT = scanCodeToKeyCode(73), + KEY_PAUSE = scanCodeToKeyCode(72), + KEY_HOME = scanCodeToKeyCode(74), + KEY_END = scanCodeToKeyCode(77), + KEY_DELETE = '\177', + KEY_PAGEUP = scanCodeToKeyCode(75), + KEY_PAGEDOWN = scanCodeToKeyCode(78), + + // Function Keys + KEY_F1 = scanCodeToKeyCode(58), + KEY_F2 = scanCodeToKeyCode(59), + KEY_F3 = scanCodeToKeyCode(60), + KEY_F4 = scanCodeToKeyCode(61), + KEY_F5 = scanCodeToKeyCode(62), + KEY_F6 = scanCodeToKeyCode(63), + KEY_F7 = scanCodeToKeyCode(64), + KEY_F8 = scanCodeToKeyCode(65), + KEY_F9 = scanCodeToKeyCode(66), + KEY_F10 = scanCodeToKeyCode(67), + KEY_F11 = scanCodeToKeyCode(68), + KEY_F12 = scanCodeToKeyCode(69), + KEY_F13 = scanCodeToKeyCode(104), + KEY_F14 = scanCodeToKeyCode(105), + KEY_F15 = scanCodeToKeyCode(106), + KEY_F16 = scanCodeToKeyCode(107), + KEY_F17 = scanCodeToKeyCode(108), + KEY_F18 = scanCodeToKeyCode(109), + KEY_F19 = scanCodeToKeyCode(110), + KEY_F20 = scanCodeToKeyCode(111), + KEY_F21 = scanCodeToKeyCode(112), + KEY_F22 = scanCodeToKeyCode(113), + KEY_F23 = scanCodeToKeyCode(114), + KEY_F24 = scanCodeToKeyCode(115), + + // Key State Modifiers + KEY_NUMLOCK = scanCodeToKeyCode(83), + KEY_CAPSLOCK = scanCodeToKeyCode(57), + KEY_SCROLLOCK = scanCodeToKeyCode(71), + KEY_RSHIFT = scanCodeToKeyCode(229), + KEY_LSHIFT = scanCodeToKeyCode(225), + KEY_RCTRL = scanCodeToKeyCode(228), + KEY_LCTRL = scanCodeToKeyCode(224), + KEY_RALT = scanCodeToKeyCode(230), + KEY_LALT = scanCodeToKeyCode(226), + KEY_RGUI = scanCodeToKeyCode(231), + KEY_LGUI = scanCodeToKeyCode(227), + KEY_MODE = scanCodeToKeyCode(257), + + // Miscellaneous function keys + KEY_HELP = scanCodeToKeyCode(117), + KEY_PRINTSCREEN = scanCodeToKeyCode(70), + KEY_ALTERASE = scanCodeToKeyCode(153), + KEY_SYSREQ = scanCodeToKeyCode(154), + KEY_CLEAR = scanCodeToKeyCode(159), + KEY_MENU = scanCodeToKeyCode(118), + KEY_POWER = scanCodeToKeyCode(102), + KEY_UNDO = scanCodeToKeyCode(122), + + // Audio Control + KEY_MUTE = scanCodeToKeyCode(127), + KEY_VOLUME_UP = scanCodeToKeyCode(128), + KEY_VOLUME_DOWN = scanCodeToKeyCode(129), + KEY_AUDIO_NEXT = scanCodeToKeyCode(258), + KEY_AUDIO_PREV = scanCodeToKeyCode(259), + KEY_AUDIO_STOP = scanCodeToKeyCode(260), + KEY_AUDIO_PLAY = scanCodeToKeyCode(261), + KEY_AUDIO_MUTE = scanCodeToKeyCode(262), + + KEY_LAST, + }; +} diff --git a/NAS2D/EnumKeyModifier.cpp b/NAS2D/EnumKeyModifier.cpp new file mode 100644 index 00000000..3cca208f --- /dev/null +++ b/NAS2D/EnumKeyModifier.cpp @@ -0,0 +1,37 @@ +#include "EnumKeyModifier.h" + +#include + + +namespace NAS2D +{ + KeyModifier& operator|=(KeyModifier& a, const KeyModifier& b) noexcept + { + using underlying = std::underlying_type_t; + auto underlying_a = static_cast(a); + auto underlying_b = static_cast(b); + a = static_cast(underlying_a | underlying_b); + return a; + } + + KeyModifier& operator&=(KeyModifier& a, const KeyModifier& b) noexcept + { + using underlying = std::underlying_type_t; + auto underlying_a = static_cast(a); + auto underlying_b = static_cast(b); + a = static_cast(underlying_a & underlying_b); + return a; + } + + KeyModifier operator|(KeyModifier a, const KeyModifier& b) noexcept + { + a |= b; + return a; + } + + KeyModifier operator&(KeyModifier a, const KeyModifier& b) noexcept + { + a &= b; + return a; + } +} diff --git a/NAS2D/EnumKeyModifier.h b/NAS2D/EnumKeyModifier.h new file mode 100644 index 00000000..d30e096f --- /dev/null +++ b/NAS2D/EnumKeyModifier.h @@ -0,0 +1,34 @@ +#pragma once + +#include + + +namespace NAS2D +{ + enum class KeyModifier : uint16_t + { + None = 0x0000, + ShiftLeft = 0x0001, + ShiftRight = 0x0002, + Shift = ShiftLeft | ShiftRight, + CtrlLeft = 0x0040, + CtrlRight = 0x0080, + Ctrl = CtrlLeft | CtrlRight, + AltLeft = 0x0100, + AltRight = 0x0200, + Alt = AltLeft | AltRight, + MetaLeft = 0x0400, + MetaRight = 0x0800, + Meta = MetaLeft | MetaRight, + Num = 0x1000, + Caps = 0x2000, + Mode = 0x4000, + Reserved = 0x8000, + }; + + + KeyModifier& operator|=(KeyModifier& a, const KeyModifier& b) noexcept; + KeyModifier& operator&=(KeyModifier& a, const KeyModifier& b) noexcept; + KeyModifier operator|(KeyModifier a, const KeyModifier& b) noexcept; + KeyModifier operator&(KeyModifier a, const KeyModifier& b) noexcept; +} diff --git a/NAS2D/EnumMouseButton.h b/NAS2D/EnumMouseButton.h new file mode 100644 index 00000000..da655531 --- /dev/null +++ b/NAS2D/EnumMouseButton.h @@ -0,0 +1,13 @@ +#pragma once + + +namespace NAS2D +{ + enum class MouseButton + { + None, + Left, + Middle, + Right, + }; +} diff --git a/NAS2D/EventHandler.cpp b/NAS2D/EventHandler.cpp index bd2913b9..eb618a2e 100644 --- a/NAS2D/EventHandler.cpp +++ b/NAS2D/EventHandler.cpp @@ -9,7 +9,7 @@ // ================================================================================== #include "EventHandler.h" -#include "EventHandlerKeyModifier.h" +#include "EnumKeyModifier.h" #include @@ -28,39 +28,6 @@ using namespace NAS2D; */ const int MAX_MESSAGE_PROCESSING = 100; -namespace NAS2D -{ - EventHandler::KeyModifier& operator|=(EventHandler::KeyModifier& a, const EventHandler::KeyModifier& b) noexcept - { - using underlying = std::underlying_type_t; - auto underlying_a = static_cast(a); - auto underlying_b = static_cast(b); - a = static_cast(underlying_a | underlying_b); - return a; - } - - EventHandler::KeyModifier& operator&=(EventHandler::KeyModifier& a, const EventHandler::KeyModifier& b) noexcept - { - using underlying = std::underlying_type_t; - auto underlying_a = static_cast(a); - auto underlying_b = static_cast(b); - a = static_cast(underlying_a & underlying_b); - return a; - } - - EventHandler::KeyModifier operator|(EventHandler::KeyModifier a, const EventHandler::KeyModifier& b) noexcept - { - a |= b; - return a; - } - - EventHandler::KeyModifier operator&(EventHandler::KeyModifier a, const EventHandler::KeyModifier& b) noexcept - { - a &= b; - return a; - } -} - /** * Triggered whenever the application gains or loses focus. diff --git a/NAS2D/EventHandler.h b/NAS2D/EventHandler.h index bd76850f..d86d1eb3 100644 --- a/NAS2D/EventHandler.h +++ b/NAS2D/EventHandler.h @@ -19,6 +19,10 @@ namespace NAS2D { + enum class KeyModifier : uint16_t; + enum class KeyCode : uint32_t; + enum class MouseButton; + /** * Handles and dispatches low-level events. @@ -26,11 +30,6 @@ namespace NAS2D class EventHandler { public: - enum class KeyModifier : uint16_t; - enum class KeyCode : uint32_t; - enum class MouseButton; - - using ActivateSignal = Signal; using WindowHiddenSignal = Signal; using WindowExposedSignal = Signal<>; @@ -143,12 +142,4 @@ namespace NAS2D }; void postQuitEvent(); - - - EventHandler::KeyModifier& operator|=(EventHandler::KeyModifier& a, const EventHandler::KeyModifier& b) noexcept; - EventHandler::KeyModifier& operator&=(EventHandler::KeyModifier& a, const EventHandler::KeyModifier& b) noexcept; - EventHandler::KeyModifier operator|(EventHandler::KeyModifier a, const EventHandler::KeyModifier& b) noexcept; - EventHandler::KeyModifier operator&(EventHandler::KeyModifier a, const EventHandler::KeyModifier& b) noexcept; - - } // namespace diff --git a/NAS2D/EventHandlerKeyCode.h b/NAS2D/EventHandlerKeyCode.h deleted file mode 100644 index 3074d838..00000000 --- a/NAS2D/EventHandlerKeyCode.h +++ /dev/null @@ -1,190 +0,0 @@ -#pragma once - -#include "EventHandler.h" - - -namespace -{ - constexpr int scanCodeToKeyCode(int scanCode) - { - const auto scanCodeMask = 1 << 30; - const auto keyCode = scanCode | scanCodeMask; - return keyCode; - } -} - - -enum class NAS2D::EventHandler::KeyCode : uint32_t -{ - KEY_UNKNOWN = 0, - KEY_FIRST = 0, - KEY_BACKSPACE = '\b', - KEY_TAB = '\t', - KEY_RETURN = '\r', - KEY_ENTER = '\r', - KEY_ESCAPE = '\033', - KEY_SPACE = ' ', - KEY_EXCLAIM = '!', - KEY_QUOTEDBL = '"', - KEY_HASH = '#', - KEY_PERCENT = '%', - KEY_DOLLAR = '$', - KEY_AMPERSAND = '&', - KEY_QUOTE = '\'', - KEY_LEFTPAREN = '(', - KEY_RIGHTPAREN = ')', - KEY_ASTERISK = '*', - KEY_PLUS = '+', - KEY_COMMA = ',', - KEY_MINUS = '-', - KEY_PERIOD = '.', - KEY_SLASH = '/', - KEY_0 = '0', - KEY_1 = '1', - KEY_2 = '2', - KEY_3 = '3', - KEY_4 = '4', - KEY_5 = '5', - KEY_6 = '6', - KEY_7 = '7', - KEY_8 = '8', - KEY_9 = '9', - KEY_COLON = ':', - KEY_SEMICOLON = ';', - KEY_LESS = '<', - KEY_EQUALS = '=', - KEY_GREATER = '>', - KEY_QUESTION = '?', - KEY_AT = '@', - - // Special Symbols - KEY_LEFTBRACKET = '[', - KEY_BACKSLASH = '\\', - KEY_RIGHTBRACKET = ']', - KEY_CARET = '^', - KEY_UNDERSCORE = '_', - KEY_BACKQUOTE = '`', - - KEY_a = 'a', - KEY_b = 'b', - KEY_c = 'c', - KEY_d = 'd', - KEY_e = 'e', - KEY_f = 'f', - KEY_g = 'g', - KEY_h = 'h', - KEY_i = 'i', - KEY_j = 'j', - KEY_k = 'k', - KEY_l = 'l', - KEY_m = 'm', - KEY_n = 'n', - KEY_o = 'o', - KEY_p = 'p', - KEY_q = 'q', - KEY_r = 'r', - KEY_s = 's', - KEY_t = 't', - KEY_u = 'u', - KEY_v = 'v', - KEY_w = 'w', - KEY_x = 'x', - KEY_y = 'y', - KEY_z = 'z', - - // Numeric Keypad - KEY_KP1 = scanCodeToKeyCode(89), - KEY_KP2 = scanCodeToKeyCode(90), - KEY_KP3 = scanCodeToKeyCode(91), - KEY_KP4 = scanCodeToKeyCode(92), - KEY_KP5 = scanCodeToKeyCode(93), - KEY_KP6 = scanCodeToKeyCode(94), - KEY_KP7 = scanCodeToKeyCode(95), - KEY_KP8 = scanCodeToKeyCode(96), - KEY_KP9 = scanCodeToKeyCode(97), - KEY_KP0 = scanCodeToKeyCode(98), - KEY_KP_PERIOD = scanCodeToKeyCode(99), - KEY_KP_DIVIDE = scanCodeToKeyCode(84), - KEY_KP_MULTIPLY = scanCodeToKeyCode(85), - KEY_KP_MINUS = scanCodeToKeyCode(86), - KEY_KP_PLUS = scanCodeToKeyCode(87), - KEY_KP_ENTER = scanCodeToKeyCode(88), - KEY_KP_EQUALS = scanCodeToKeyCode(103), - KEY_KP_COMMA = scanCodeToKeyCode(133), - - // Arrows/Home/End - KEY_UP = scanCodeToKeyCode(82), - KEY_DOWN = scanCodeToKeyCode(81), - KEY_RIGHT = scanCodeToKeyCode(79), - KEY_LEFT = scanCodeToKeyCode(80), - KEY_INSERT = scanCodeToKeyCode(73), - KEY_PAUSE = scanCodeToKeyCode(72), - KEY_HOME = scanCodeToKeyCode(74), - KEY_END = scanCodeToKeyCode(77), - KEY_DELETE = '\177', - KEY_PAGEUP = scanCodeToKeyCode(75), - KEY_PAGEDOWN = scanCodeToKeyCode(78), - - // Function Keys - KEY_F1 = scanCodeToKeyCode(58), - KEY_F2 = scanCodeToKeyCode(59), - KEY_F3 = scanCodeToKeyCode(60), - KEY_F4 = scanCodeToKeyCode(61), - KEY_F5 = scanCodeToKeyCode(62), - KEY_F6 = scanCodeToKeyCode(63), - KEY_F7 = scanCodeToKeyCode(64), - KEY_F8 = scanCodeToKeyCode(65), - KEY_F9 = scanCodeToKeyCode(66), - KEY_F10 = scanCodeToKeyCode(67), - KEY_F11 = scanCodeToKeyCode(68), - KEY_F12 = scanCodeToKeyCode(69), - KEY_F13 = scanCodeToKeyCode(104), - KEY_F14 = scanCodeToKeyCode(105), - KEY_F15 = scanCodeToKeyCode(106), - KEY_F16 = scanCodeToKeyCode(107), - KEY_F17 = scanCodeToKeyCode(108), - KEY_F18 = scanCodeToKeyCode(109), - KEY_F19 = scanCodeToKeyCode(110), - KEY_F20 = scanCodeToKeyCode(111), - KEY_F21 = scanCodeToKeyCode(112), - KEY_F22 = scanCodeToKeyCode(113), - KEY_F23 = scanCodeToKeyCode(114), - KEY_F24 = scanCodeToKeyCode(115), - - // Key State Modifiers - KEY_NUMLOCK = scanCodeToKeyCode(83), - KEY_CAPSLOCK = scanCodeToKeyCode(57), - KEY_SCROLLOCK = scanCodeToKeyCode(71), - KEY_RSHIFT = scanCodeToKeyCode(229), - KEY_LSHIFT = scanCodeToKeyCode(225), - KEY_RCTRL = scanCodeToKeyCode(228), - KEY_LCTRL = scanCodeToKeyCode(224), - KEY_RALT = scanCodeToKeyCode(230), - KEY_LALT = scanCodeToKeyCode(226), - KEY_RGUI = scanCodeToKeyCode(231), - KEY_LGUI = scanCodeToKeyCode(227), - KEY_MODE = scanCodeToKeyCode(257), - - // Miscellaneous function keys - KEY_HELP = scanCodeToKeyCode(117), - KEY_PRINTSCREEN = scanCodeToKeyCode(70), - KEY_ALTERASE = scanCodeToKeyCode(153), - KEY_SYSREQ = scanCodeToKeyCode(154), - KEY_CLEAR = scanCodeToKeyCode(159), - KEY_MENU = scanCodeToKeyCode(118), - KEY_POWER = scanCodeToKeyCode(102), - KEY_UNDO = scanCodeToKeyCode(122), - - // Audio Control - KEY_MUTE = scanCodeToKeyCode(127), - KEY_VOLUME_UP = scanCodeToKeyCode(128), - KEY_VOLUME_DOWN = scanCodeToKeyCode(129), - KEY_AUDIO_NEXT = scanCodeToKeyCode(258), - KEY_AUDIO_PREV = scanCodeToKeyCode(259), - KEY_AUDIO_STOP = scanCodeToKeyCode(260), - KEY_AUDIO_PLAY = scanCodeToKeyCode(261), - KEY_AUDIO_MUTE = scanCodeToKeyCode(262), - - // Additional Keys here - KEY_LAST -}; diff --git a/NAS2D/EventHandlerKeyModifier.h b/NAS2D/EventHandlerKeyModifier.h deleted file mode 100644 index e0bc9576..00000000 --- a/NAS2D/EventHandlerKeyModifier.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "EventHandler.h" - - -enum class NAS2D::EventHandler::KeyModifier : uint16_t -{ - None = 0x0000, - ShiftLeft = 0x0001, - ShiftRight = 0x0002, - Shift = ShiftLeft | ShiftRight, - CtrlLeft = 0x0040, - CtrlRight = 0x0080, - Ctrl = CtrlLeft | CtrlRight, - AltLeft = 0x0100, - AltRight = 0x0200, - Alt = AltLeft | AltRight, - MetaLeft = 0x0400, - MetaRight = 0x0800, - Meta = MetaLeft | MetaRight, - Num = 0x1000, - Caps = 0x2000, - Mode = 0x4000, - Reserved = 0x8000 -}; diff --git a/NAS2D/EventHandlerMouseButton.h b/NAS2D/EventHandlerMouseButton.h deleted file mode 100644 index 0d60f894..00000000 --- a/NAS2D/EventHandlerMouseButton.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "EventHandler.h" - - -enum class NAS2D::EventHandler::MouseButton -{ - None, - Left, - Middle, - Right -}; diff --git a/NAS2D/NAS2D.vcxproj b/NAS2D/NAS2D.vcxproj index 961e1ae3..9a53f78e 100644 --- a/NAS2D/NAS2D.vcxproj +++ b/NAS2D/NAS2D.vcxproj @@ -152,6 +152,7 @@ + @@ -200,10 +201,10 @@ + + + - - - diff --git a/NAS2D/NAS2D.vcxproj.filters b/NAS2D/NAS2D.vcxproj.filters index ff252b8b..5f448fcd 100644 --- a/NAS2D/NAS2D.vcxproj.filters +++ b/NAS2D/NAS2D.vcxproj.filters @@ -42,6 +42,9 @@ Source Files + + Source Files + Source Files @@ -182,16 +185,16 @@ Header Files - + Header Files - + Header Files - + Header Files - + Header Files diff --git a/test-graphics/TestGraphics.cpp b/test-graphics/TestGraphics.cpp index 96969e2a..93c91f64 100644 --- a/test-graphics/TestGraphics.cpp +++ b/test-graphics/TestGraphics.cpp @@ -1,6 +1,6 @@ #include "TestGraphics.h" -#include +#include #include #include #include @@ -115,20 +115,20 @@ NAS2D::State* TestGraphics::update() return this; } -void TestGraphics::onKeyDown(NAS2D::EventHandler::KeyCode key, NAS2D::EventHandler::KeyModifier /*mod*/, bool /*repeat*/) +void TestGraphics::onKeyDown(NAS2D::KeyCode key, NAS2D::KeyModifier /*mod*/, bool /*repeat*/) { switch (key) { - case NAS2D::EventHandler::KeyCode::KEY_ESCAPE: + case NAS2D::KeyCode::KEY_ESCAPE: NAS2D::postQuitEvent(); break; - case NAS2D::EventHandler::KeyCode::KEY_F1: + case NAS2D::KeyCode::KEY_F1: { auto& renderer = NAS2D::Utility::get(); renderer.fullscreen(!renderer.fullscreen()); break; } - case NAS2D::EventHandler::KeyCode::KEY_F2: + case NAS2D::KeyCode::KEY_F2: { auto& renderer = NAS2D::Utility::get(); renderer.resizeable(!renderer.resizeable()); @@ -142,7 +142,7 @@ void TestGraphics::onKeyDown(NAS2D::EventHandler::KeyCode key, NAS2D::EventHandl void TestGraphics::onMouseMove(NAS2D::Point /*position*/, NAS2D::Vector /*change*/) {} -void TestGraphics::onMouseDown(NAS2D::EventHandler::MouseButton /*button*/, NAS2D::Point /*position*/) +void TestGraphics::onMouseDown(NAS2D::MouseButton /*button*/, NAS2D::Point /*position*/) {} void TestGraphics::onWindowResized(int /*w*/, int /*h*/) diff --git a/test-graphics/TestGraphics.h b/test-graphics/TestGraphics.h index 6dd6980a..c7be01b0 100644 --- a/test-graphics/TestGraphics.h +++ b/test-graphics/TestGraphics.h @@ -15,9 +15,9 @@ class TestGraphics : public NAS2D::State void initialize() override; NAS2D::State* update() override; - void onKeyDown(NAS2D::EventHandler::KeyCode key, NAS2D::EventHandler::KeyModifier mod, bool repeat); + void onKeyDown(NAS2D::KeyCode key, NAS2D::KeyModifier mod, bool repeat); void onMouseMove(NAS2D::Point position, NAS2D::Vector change); - void onMouseDown(NAS2D::EventHandler::MouseButton button, NAS2D::Point position); + void onMouseDown(NAS2D::MouseButton button, NAS2D::Point position); void onWindowResized(int w, int h); diff --git a/test/EventHandler.test.cpp b/test/EventHandler.test.cpp index a66b16a3..46b1fbd1 100644 --- a/test/EventHandler.test.cpp +++ b/test/EventHandler.test.cpp @@ -1,37 +1,37 @@ #include "NAS2D/EventHandler.h" -#include "NAS2D/EventHandlerKeyModifier.h" +#include "NAS2D/EnumKeyModifier.h" #include TEST(EventHandler, shift) { - EXPECT_TRUE(NAS2D::EventHandler::shift(NAS2D::EventHandler::KeyModifier::Shift)); - EXPECT_TRUE(NAS2D::EventHandler::shift(NAS2D::EventHandler::KeyModifier::ShiftLeft)); - EXPECT_TRUE(NAS2D::EventHandler::shift(NAS2D::EventHandler::KeyModifier::ShiftRight)); - EXPECT_TRUE(NAS2D::EventHandler::shift(NAS2D::EventHandler::KeyModifier::ShiftLeft | NAS2D::EventHandler::KeyModifier::CtrlLeft)); - EXPECT_FALSE(NAS2D::EventHandler::shift(NAS2D::EventHandler::KeyModifier::Caps)); - EXPECT_FALSE(NAS2D::EventHandler::shift(NAS2D::EventHandler::KeyModifier::Ctrl)); - EXPECT_FALSE(NAS2D::EventHandler::shift(NAS2D::EventHandler::KeyModifier::Alt)); + EXPECT_TRUE(NAS2D::EventHandler::shift(NAS2D::KeyModifier::Shift)); + EXPECT_TRUE(NAS2D::EventHandler::shift(NAS2D::KeyModifier::ShiftLeft)); + EXPECT_TRUE(NAS2D::EventHandler::shift(NAS2D::KeyModifier::ShiftRight)); + EXPECT_TRUE(NAS2D::EventHandler::shift(NAS2D::KeyModifier::ShiftLeft | NAS2D::KeyModifier::CtrlLeft)); + EXPECT_FALSE(NAS2D::EventHandler::shift(NAS2D::KeyModifier::Caps)); + EXPECT_FALSE(NAS2D::EventHandler::shift(NAS2D::KeyModifier::Ctrl)); + EXPECT_FALSE(NAS2D::EventHandler::shift(NAS2D::KeyModifier::Alt)); } TEST(EventHandler, numlock) { - EXPECT_TRUE(NAS2D::EventHandler::numlock(NAS2D::EventHandler::KeyModifier::Num)); - EXPECT_TRUE(NAS2D::EventHandler::numlock(NAS2D::EventHandler::KeyModifier::Num | NAS2D::EventHandler::KeyModifier::CtrlLeft)); - EXPECT_FALSE(NAS2D::EventHandler::numlock(NAS2D::EventHandler::KeyModifier::Shift)); - EXPECT_FALSE(NAS2D::EventHandler::numlock(NAS2D::EventHandler::KeyModifier::Ctrl)); - EXPECT_FALSE(NAS2D::EventHandler::numlock(NAS2D::EventHandler::KeyModifier::Alt)); + EXPECT_TRUE(NAS2D::EventHandler::numlock(NAS2D::KeyModifier::Num)); + EXPECT_TRUE(NAS2D::EventHandler::numlock(NAS2D::KeyModifier::Num | NAS2D::KeyModifier::CtrlLeft)); + EXPECT_FALSE(NAS2D::EventHandler::numlock(NAS2D::KeyModifier::Shift)); + EXPECT_FALSE(NAS2D::EventHandler::numlock(NAS2D::KeyModifier::Ctrl)); + EXPECT_FALSE(NAS2D::EventHandler::numlock(NAS2D::KeyModifier::Alt)); } TEST(EventHandler, control) { - EXPECT_TRUE(NAS2D::EventHandler::control(NAS2D::EventHandler::KeyModifier::Ctrl)); - EXPECT_TRUE(NAS2D::EventHandler::control(NAS2D::EventHandler::KeyModifier::Ctrl | NAS2D::EventHandler::KeyModifier::CtrlLeft)); - EXPECT_FALSE(NAS2D::EventHandler::control(NAS2D::EventHandler::KeyModifier::Shift)); - EXPECT_FALSE(NAS2D::EventHandler::control(NAS2D::EventHandler::KeyModifier::Alt)); + EXPECT_TRUE(NAS2D::EventHandler::control(NAS2D::KeyModifier::Ctrl)); + EXPECT_TRUE(NAS2D::EventHandler::control(NAS2D::KeyModifier::Ctrl | NAS2D::KeyModifier::CtrlLeft)); + EXPECT_FALSE(NAS2D::EventHandler::control(NAS2D::KeyModifier::Shift)); + EXPECT_FALSE(NAS2D::EventHandler::control(NAS2D::KeyModifier::Alt)); } TEST(EventHandler, alt) { - EXPECT_TRUE(NAS2D::EventHandler::alt(NAS2D::EventHandler::KeyModifier::Alt)); - EXPECT_TRUE(NAS2D::EventHandler::alt(NAS2D::EventHandler::KeyModifier::Alt | NAS2D::EventHandler::KeyModifier::CtrlLeft)); - EXPECT_FALSE(NAS2D::EventHandler::alt(NAS2D::EventHandler::KeyModifier::Shift)); - EXPECT_FALSE(NAS2D::EventHandler::alt(NAS2D::EventHandler::KeyModifier::Ctrl)); + EXPECT_TRUE(NAS2D::EventHandler::alt(NAS2D::KeyModifier::Alt)); + EXPECT_TRUE(NAS2D::EventHandler::alt(NAS2D::KeyModifier::Alt | NAS2D::KeyModifier::CtrlLeft)); + EXPECT_FALSE(NAS2D::EventHandler::alt(NAS2D::KeyModifier::Shift)); + EXPECT_FALSE(NAS2D::EventHandler::alt(NAS2D::KeyModifier::Ctrl)); }