From 7d5f055547e70fa93ee9ac944e62f8d657b9dc55 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 19 Oct 2018 08:36:44 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/Input/Event.cpp | 7 --- src/libjin/Input/Event.h | 105 --------------------------------------- src/libjin/Input/Input.h | 9 ---- src/libjin/Input/Joypad.cpp | 0 src/libjin/Input/Joypad.h | 50 ------------------- src/libjin/Input/Keyboard.cpp | 0 src/libjin/Input/Keyboard.h | 17 ------- src/libjin/Input/Mouse.cpp | 27 ---------- src/libjin/Input/Mouse.h | 31 ------------ src/libjin/Input/je_event.cpp | 8 +++ src/libjin/Input/je_event.h | 105 +++++++++++++++++++++++++++++++++++++++ src/libjin/Input/je_input.h | 9 ++++ src/libjin/Input/je_joypad.cpp | 0 src/libjin/Input/je_joypad.h | 50 +++++++++++++++++++ src/libjin/Input/je_keyboard.cpp | 0 src/libjin/Input/je_keyboard.h | 17 +++++++ src/libjin/Input/je_mouse.cpp | 28 +++++++++++ src/libjin/Input/je_mouse.h | 31 ++++++++++++ 18 files changed, 248 insertions(+), 246 deletions(-) delete mode 100644 src/libjin/Input/Event.cpp delete mode 100644 src/libjin/Input/Event.h delete mode 100644 src/libjin/Input/Input.h delete mode 100644 src/libjin/Input/Joypad.cpp delete mode 100644 src/libjin/Input/Joypad.h delete mode 100644 src/libjin/Input/Keyboard.cpp delete mode 100644 src/libjin/Input/Keyboard.h delete mode 100644 src/libjin/Input/Mouse.cpp delete mode 100644 src/libjin/Input/Mouse.h create mode 100644 src/libjin/Input/je_event.cpp create mode 100644 src/libjin/Input/je_event.h create mode 100644 src/libjin/Input/je_input.h create mode 100644 src/libjin/Input/je_joypad.cpp create mode 100644 src/libjin/Input/je_joypad.h create mode 100644 src/libjin/Input/je_keyboard.cpp create mode 100644 src/libjin/Input/je_keyboard.h create mode 100644 src/libjin/Input/je_mouse.cpp create mode 100644 src/libjin/Input/je_mouse.h (limited to 'src/libjin/Input') diff --git a/src/libjin/Input/Event.cpp b/src/libjin/Input/Event.cpp deleted file mode 100644 index c8eb78c..0000000 --- a/src/libjin/Input/Event.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "event.h" -#include "SDL2\SDL.h" - -namespace jin -{ - -} // namespace jin \ No newline at end of file diff --git a/src/libjin/Input/Event.h b/src/libjin/Input/Event.h deleted file mode 100644 index 3f2bc8e..0000000 --- a/src/libjin/Input/Event.h +++ /dev/null @@ -1,105 +0,0 @@ -#ifndef __LIBJIN_EVENT_H -#define __LIBJIN_EVENT_H -#include "../configuration.h" -#if LIBJIN_MODULES_INPUT - -namespace jin -{ - namespace input - { - #if LIBJIN_INPUT_SDL - #include "SDL.h" - - typedef SDL_Event Event; - typedef SDL_Keycode Key; - typedef SDL_MouseWheelEvent Wheel; - - enum EventType { - QUIT = SDL_QUIT, - /* keyboard events */ - KEY_DOWN = SDL_KEYDOWN, - KEY_UP = SDL_KEYUP, - /* mouse events */ - MOUSE_MOTION = SDL_MOUSEMOTION, - MOUSE_BUTTON_DOWN = SDL_MOUSEBUTTONDOWN, - MOUSE_BUTTON_UP = SDL_MOUSEBUTTONUP, - MOUSE_WHEEL = SDL_MOUSEWHEEL, - /* joypad events */ - JOYBUTTONDOWN = SDL_JOYBUTTONDOWN, - JOYBUTTONUP = SDL_JOYBUTTONUP, - JOYAXISMOTION = SDL_JOYAXISMOTION, - JOYBALLMOTION = SDL_JOYBALLMOTION, - JOYHATMOTION = SDL_JOYHATMOTION, - JOYDEVICEADDED = SDL_JOYDEVICEADDED, - JOYDEVICEREMOVED = SDL_JOYDEVICEREMOVED, - CONTROLLERBUTTONDOWN = SDL_CONTROLLERBUTTONDOWN, - CONTROLLERBUTTONUP = SDL_CONTROLLERBUTTONUP, - CONTROLLERAXISMOTION = SDL_CONTROLLERAXISMOTION, - /* window evnets */ - WINDOW_EVENT = SDL_WINDOWEVENT, - }; - - enum WindowEvent { - WINDOW_SHOWN = SDL_WINDOWEVENT_SHOWN , - WINDOW_HIDDEN = SDL_WINDOWEVENT_HIDDEN , - WINDOW_EXPOSED = SDL_WINDOWEVENT_EXPOSED , - WINDOW_MOVED = SDL_WINDOWEVENT_MOVED , - WINDOW_RESIZED = SDL_WINDOWEVENT_RESIZED , - WINDOW_SIZE_CAHNGE = SDL_WINDOWEVENT_SIZE_CHANGED , - WINDOW_MINIMIZED = SDL_WINDOWEVENT_MINIMIZED , - WINDOW_MAXIMIZED = SDL_WINDOWEVENT_MAXIMIZED , - WINDOW_RESTORED = SDL_WINDOWEVENT_RESTORED , - WINDOW_ENTER = SDL_WINDOWEVENT_ENTER , - WINDOW_LEAVE = SDL_WINDOWEVENT_LEAVE , - WINDOW_FOCUS_GAINED = SDL_WINDOWEVENT_FOCUS_GAINED, - WINDOW_FOCUS_LOST = SDL_WINDOWEVENT_FOCUS_LOST , - WINDOW_CLOSE = SDL_WINDOWEVENT_CLOSE , - WINDOW_TAKE_FOCUS = SDL_WINDOWEVENT_TAKE_FOCUS , - WINDOW_HIT_TEST = SDL_WINDOWEVENT_HIT_TEST , - }; - - inline int pollEvent(Event* e) - { - return SDL_PollEvent(e); - } - - inline const char* getKeyName(Key key) - { - return SDL_GetKeyName(key); - } - - inline const char* getButtonName(int button) - { - switch (button) - { - case 1: return "Left"; - case 2: return "Middle"; - case 3: return "Right"; - case 4: return "WheelUp"; - case 5: return "WheelDown"; - default: return "?"; - } - } - - /* - inline const char* getWheelName(Wheel wheel) - { - if (wheel.x == -1) - return "left"; - else if (wheel.x == 1) - return "right"; - else if (wheel.y == -1) - return "near"; - else if (wheel.y == 1) - return "far"; - else - return "none"; - } - */ - - #endif // LIBJIN_INPUT_SDL - } // namespace input -} // namespace jin - -#endif // LIBJIN_MODULES_INPUT -#endif \ No newline at end of file diff --git a/src/libjin/Input/Input.h b/src/libjin/Input/Input.h deleted file mode 100644 index a828ac7..0000000 --- a/src/libjin/Input/Input.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __LIBJIN_INPUT_H -#define __LIBJIN_INPUT_H - -#include "event.h" -#include "keyboard.h" -#include "mouse.h" -#include "joypad.h" - -#endif \ No newline at end of file diff --git a/src/libjin/Input/Joypad.cpp b/src/libjin/Input/Joypad.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/src/libjin/Input/Joypad.h b/src/libjin/Input/Joypad.h deleted file mode 100644 index 570699e..0000000 --- a/src/libjin/Input/Joypad.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef __LIBJIN_JOYPAD_H -#define __LIBJIN_JOYPAD_H - -#include - -namespace jin -{ - namespace input - { - - inline const char* getJoyButtonName(int button) - { - switch (button) - { - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_A: return "A"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_B : return "B"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_X : return "X"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_Y: return "Y"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_BACK: return "Back"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_GUIDE: return "Guide"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_START: return "Start"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_LEFTSTICK: return "LeftStick"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_RIGHTSTICK: return "RightStick"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_LEFTSHOULDER: return "LeftShoulder"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_RIGHTSHOULDER: return "RightShoulder"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_DPAD_UP: return "DpadUp"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_DPAD_DOWN: return "DpadDown"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_DPAD_LEFT: return "DpadLeft"; break; - case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_DPAD_RIGHT: return "DpadRight"; break; - default: return NULL; - } - } - - inline const char* getJoyAxisName(int axis) - { - switch (axis) - { - case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_LEFTX: return "LeftX"; break; - case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_LEFTY: return "LeftY"; break; - case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_RIGHTX: return "RightX"; break; - case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_RIGHTY: return "RightY"; break; - case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_TRIGGERLEFT: return "TriggerLeft"; break; - case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_TRIGGERRIGHT: return "TriggerRight"; break; - } - } - - } // namespace input -} // namespace jin - -#endif \ No newline at end of file diff --git a/src/libjin/Input/Keyboard.cpp b/src/libjin/Input/Keyboard.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/src/libjin/Input/Keyboard.h b/src/libjin/Input/Keyboard.h deleted file mode 100644 index 60f1169..0000000 --- a/src/libjin/Input/Keyboard.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef __LIBJIN_KEYBOARD_H -#define __LIBJIN_KEYBOARD_H - -namespace jin -{ - namespace input - { - - class Keyboard - { - - }; - - } // namespace input -} // namespace jin - -#endif // __LIBJIN_KEYBOARD_H \ No newline at end of file diff --git a/src/libjin/Input/Mouse.cpp b/src/libjin/Input/Mouse.cpp deleted file mode 100644 index dcaa771..0000000 --- a/src/libjin/Input/Mouse.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "../configuration.h" -#ifdef LIBJIN_MODULES_INPUT - -#include "SDL.h" -#include "Mouse.h" - -namespace jin -{ - namespace input - { - - void Mouse::getState(int* x, int* y) - { - #ifdef LIBJIN_INPUT_SDL - SDL_GetMouseState(x, y); - #endif // LIBJIN_INPUT_SDL - } - - void Mouse::setVisible(bool visible) - { - SDL_ShowCursor(visible ? SDL_ENABLE : SDL_DISABLE); - } - - } // namespace input -} // namespace jin - -#endif // LIBJIN_MODULES_INPUT \ No newline at end of file diff --git a/src/libjin/Input/Mouse.h b/src/libjin/Input/Mouse.h deleted file mode 100644 index 7e93792..0000000 --- a/src/libjin/Input/Mouse.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __LIBJIN_MOUSE_H -#define __LIBJIN_MOUSE_H -#include "../configuration.h" -#ifdef LIBJIN_MODULES_INPUT - -#include "../Common/Singleton.hpp" - -namespace jin -{ - namespace input - { - - class Mouse : public Singleton - { - public: - void getState(int* x, int* y); - void setVisible(bool visible); - - private: - singleton(Mouse); - - Mouse() {}; - ~Mouse() {}; - - }; - - } // namespace input -} // namespace jin - -#endif // LIBJIN_MODULES_INPUT -#endif // __LIBJIN_MOUSE_H \ No newline at end of file diff --git a/src/libjin/Input/je_event.cpp b/src/libjin/Input/je_event.cpp new file mode 100644 index 0000000..4f55839 --- /dev/null +++ b/src/libjin/Input/je_event.cpp @@ -0,0 +1,8 @@ +#include "SDL2\SDL.h" + +#include "je_event.h" + +namespace jin +{ + +} // namespace jin \ No newline at end of file diff --git a/src/libjin/Input/je_event.h b/src/libjin/Input/je_event.h new file mode 100644 index 0000000..d8ceda0 --- /dev/null +++ b/src/libjin/Input/je_event.h @@ -0,0 +1,105 @@ +#ifndef __LIBJIN_EVENT_H +#define __LIBJIN_EVENT_H +#include "../core/je_configuration.h" +#if LIBJIN_MODULES_INPUT + +namespace jin +{ + namespace input + { + #if LIBJIN_INPUT_SDL + #include "SDL.h" + + typedef SDL_Event Event; + typedef SDL_Keycode Key; + typedef SDL_MouseWheelEvent Wheel; + + enum EventType { + QUIT = SDL_QUIT, + /* keyboard events */ + KEY_DOWN = SDL_KEYDOWN, + KEY_UP = SDL_KEYUP, + /* mouse events */ + MOUSE_MOTION = SDL_MOUSEMOTION, + MOUSE_BUTTON_DOWN = SDL_MOUSEBUTTONDOWN, + MOUSE_BUTTON_UP = SDL_MOUSEBUTTONUP, + MOUSE_WHEEL = SDL_MOUSEWHEEL, + /* joypad events */ + JOYBUTTONDOWN = SDL_JOYBUTTONDOWN, + JOYBUTTONUP = SDL_JOYBUTTONUP, + JOYAXISMOTION = SDL_JOYAXISMOTION, + JOYBALLMOTION = SDL_JOYBALLMOTION, + JOYHATMOTION = SDL_JOYHATMOTION, + JOYDEVICEADDED = SDL_JOYDEVICEADDED, + JOYDEVICEREMOVED = SDL_JOYDEVICEREMOVED, + CONTROLLERBUTTONDOWN = SDL_CONTROLLERBUTTONDOWN, + CONTROLLERBUTTONUP = SDL_CONTROLLERBUTTONUP, + CONTROLLERAXISMOTION = SDL_CONTROLLERAXISMOTION, + /* window evnets */ + WINDOW_EVENT = SDL_WINDOWEVENT, + }; + + enum WindowEvent { + WINDOW_SHOWN = SDL_WINDOWEVENT_SHOWN , + WINDOW_HIDDEN = SDL_WINDOWEVENT_HIDDEN , + WINDOW_EXPOSED = SDL_WINDOWEVENT_EXPOSED , + WINDOW_MOVED = SDL_WINDOWEVENT_MOVED , + WINDOW_RESIZED = SDL_WINDOWEVENT_RESIZED , + WINDOW_SIZE_CAHNGE = SDL_WINDOWEVENT_SIZE_CHANGED , + WINDOW_MINIMIZED = SDL_WINDOWEVENT_MINIMIZED , + WINDOW_MAXIMIZED = SDL_WINDOWEVENT_MAXIMIZED , + WINDOW_RESTORED = SDL_WINDOWEVENT_RESTORED , + WINDOW_ENTER = SDL_WINDOWEVENT_ENTER , + WINDOW_LEAVE = SDL_WINDOWEVENT_LEAVE , + WINDOW_FOCUS_GAINED = SDL_WINDOWEVENT_FOCUS_GAINED, + WINDOW_FOCUS_LOST = SDL_WINDOWEVENT_FOCUS_LOST , + WINDOW_CLOSE = SDL_WINDOWEVENT_CLOSE , + WINDOW_TAKE_FOCUS = SDL_WINDOWEVENT_TAKE_FOCUS , + WINDOW_HIT_TEST = SDL_WINDOWEVENT_HIT_TEST , + }; + + inline int pollEvent(Event* e) + { + return SDL_PollEvent(e); + } + + inline const char* getKeyName(Key key) + { + return SDL_GetKeyName(key); + } + + inline const char* getButtonName(int button) + { + switch (button) + { + case 1: return "Left"; + case 2: return "Middle"; + case 3: return "Right"; + case 4: return "WheelUp"; + case 5: return "WheelDown"; + default: return "?"; + } + } + + /* + inline const char* getWheelName(Wheel wheel) + { + if (wheel.x == -1) + return "left"; + else if (wheel.x == 1) + return "right"; + else if (wheel.y == -1) + return "near"; + else if (wheel.y == 1) + return "far"; + else + return "none"; + } + */ + + #endif // LIBJIN_INPUT_SDL + } // namespace input +} // namespace jin + +#endif // LIBJIN_MODULES_INPUT +#endif \ No newline at end of file diff --git a/src/libjin/Input/je_input.h b/src/libjin/Input/je_input.h new file mode 100644 index 0000000..2f6a895 --- /dev/null +++ b/src/libjin/Input/je_input.h @@ -0,0 +1,9 @@ +#ifndef __LIBJIN_INPUT_H +#define __LIBJIN_INPUT_H + +#include "je_event.h" +#include "je_keyboard.h" +#include "je_mouse.h" +#include "je_joypad.h" + +#endif \ No newline at end of file diff --git a/src/libjin/Input/je_joypad.cpp b/src/libjin/Input/je_joypad.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/libjin/Input/je_joypad.h b/src/libjin/Input/je_joypad.h new file mode 100644 index 0000000..570699e --- /dev/null +++ b/src/libjin/Input/je_joypad.h @@ -0,0 +1,50 @@ +#ifndef __LIBJIN_JOYPAD_H +#define __LIBJIN_JOYPAD_H + +#include + +namespace jin +{ + namespace input + { + + inline const char* getJoyButtonName(int button) + { + switch (button) + { + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_A: return "A"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_B : return "B"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_X : return "X"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_Y: return "Y"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_BACK: return "Back"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_GUIDE: return "Guide"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_START: return "Start"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_LEFTSTICK: return "LeftStick"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_RIGHTSTICK: return "RightStick"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_LEFTSHOULDER: return "LeftShoulder"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_RIGHTSHOULDER: return "RightShoulder"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_DPAD_UP: return "DpadUp"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_DPAD_DOWN: return "DpadDown"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_DPAD_LEFT: return "DpadLeft"; break; + case SDL_GameControllerButton::SDL_CONTROLLER_BUTTON_DPAD_RIGHT: return "DpadRight"; break; + default: return NULL; + } + } + + inline const char* getJoyAxisName(int axis) + { + switch (axis) + { + case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_LEFTX: return "LeftX"; break; + case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_LEFTY: return "LeftY"; break; + case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_RIGHTX: return "RightX"; break; + case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_RIGHTY: return "RightY"; break; + case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_TRIGGERLEFT: return "TriggerLeft"; break; + case SDL_GameControllerAxis::SDL_CONTROLLER_AXIS_TRIGGERRIGHT: return "TriggerRight"; break; + } + } + + } // namespace input +} // namespace jin + +#endif \ No newline at end of file diff --git a/src/libjin/Input/je_keyboard.cpp b/src/libjin/Input/je_keyboard.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/libjin/Input/je_keyboard.h b/src/libjin/Input/je_keyboard.h new file mode 100644 index 0000000..60f1169 --- /dev/null +++ b/src/libjin/Input/je_keyboard.h @@ -0,0 +1,17 @@ +#ifndef __LIBJIN_KEYBOARD_H +#define __LIBJIN_KEYBOARD_H + +namespace jin +{ + namespace input + { + + class Keyboard + { + + }; + + } // namespace input +} // namespace jin + +#endif // __LIBJIN_KEYBOARD_H \ No newline at end of file diff --git a/src/libjin/Input/je_mouse.cpp b/src/libjin/Input/je_mouse.cpp new file mode 100644 index 0000000..21e59fb --- /dev/null +++ b/src/libjin/Input/je_mouse.cpp @@ -0,0 +1,28 @@ +#include "../core/je_configuration.h" +#ifdef LIBJIN_MODULES_INPUT + +#include "SDL.h" + +#include "je_mouse.h" + +namespace jin +{ + namespace input + { + + void Mouse::getState(int* x, int* y) + { + #ifdef LIBJIN_INPUT_SDL + SDL_GetMouseState(x, y); + #endif // LIBJIN_INPUT_SDL + } + + void Mouse::setVisible(bool visible) + { + SDL_ShowCursor(visible ? SDL_ENABLE : SDL_DISABLE); + } + + } // namespace input +} // namespace jin + +#endif // LIBJIN_MODULES_INPUT \ No newline at end of file diff --git a/src/libjin/Input/je_mouse.h b/src/libjin/Input/je_mouse.h new file mode 100644 index 0000000..e9fab42 --- /dev/null +++ b/src/libjin/Input/je_mouse.h @@ -0,0 +1,31 @@ +#ifndef __LIBJIN_MOUSE_H +#define __LIBJIN_MOUSE_H +#include "../core/je_configuration.h" +#ifdef LIBJIN_MODULES_INPUT + +#include "../common/je_singleton.hpp" + +namespace jin +{ + namespace input + { + + class Mouse : public Singleton + { + public: + void getState(int* x, int* y); + void setVisible(bool visible); + + private: + singleton(Mouse); + + Mouse() {}; + ~Mouse() {}; + + }; + + } // namespace input +} // namespace jin + +#endif // LIBJIN_MODULES_INPUT +#endif // __LIBJIN_MOUSE_H \ No newline at end of file -- cgit v1.1-26-g67d0