From c1e8335738200b3c217956e897eba8f6faaf6f41 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 29 Dec 2015 01:06:52 +0300 Subject: Move multitouchmanager into touch directory. --- src/CMakeLists.txt | 4 +- src/Makefile.am | 4 +- src/input/inputmanager.cpp | 2 +- src/input/multitouchmanager.cpp | 89 ----------------------------------- src/input/multitouchmanager.h | 71 ---------------------------- src/input/touch/multitouchmanager.cpp | 89 +++++++++++++++++++++++++++++++++++ src/input/touch/multitouchmanager.h | 71 ++++++++++++++++++++++++++++ 7 files changed, 165 insertions(+), 165 deletions(-) delete mode 100644 src/input/multitouchmanager.cpp delete mode 100644 src/input/multitouchmanager.h create mode 100644 src/input/touch/multitouchmanager.cpp create mode 100644 src/input/touch/multitouchmanager.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 29a7eb0c4..33a7e139b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -980,8 +980,8 @@ SET(SRCS input/keyboardconfig.cpp input/keyboardconfig.h input/keyinput.h - input/multitouchmanager.cpp - input/multitouchmanager.h + input/touch/multitouchmanager.cpp + input/touch/multitouchmanager.h localconsts.h being/localplayer.cpp being/localplayer.h diff --git a/src/Makefile.am b/src/Makefile.am index 7aba6e9a2..72579252d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -511,8 +511,8 @@ SRC += events/actionevent.h \ input/keyboardconfig.cpp \ input/keyboardconfig.h \ input/keyinput.h \ - input/multitouchmanager.cpp \ - input/multitouchmanager.h \ + input/touch/multitouchmanager.cpp \ + input/touch/multitouchmanager.h \ localconsts.h \ logger.cpp \ logger.h \ diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp index f06fa1a5b..4ba87b92e 100644 --- a/src/input/inputmanager.cpp +++ b/src/input/inputmanager.cpp @@ -32,7 +32,7 @@ #include "input/joystick.h" #include "input/keyboardconfig.h" #ifdef USE_SDL2 -#include "input/multitouchmanager.h" +#include "input/touch/multitouchmanager.h" #endif #include "input/touch/touchmanager.h" diff --git a/src/input/multitouchmanager.cpp b/src/input/multitouchmanager.cpp deleted file mode 100644 index 1fd6d4012..000000000 --- a/src/input/multitouchmanager.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2013-2015 The ManaPlus Developers - * - * This file is part of The ManaPlus Client. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "input/multitouchmanager.h" - -#ifdef USE_SDL2 -#include "render/graphics.h" - -#include "gui/gui.h" -#include "gui/sdlinput.h" -#endif -#include "debug.h" - -MultiTouchManager multiTouchManager; - -MultiTouchManager::MultiTouchManager() : - mEvents() -{ -} - -MultiTouchManager::~MultiTouchManager() -{ -} - -void MultiTouchManager::init() -{ -} - -#ifdef USE_SDL2 -void MultiTouchManager::updateFinger(const SDL_Event &event, const bool active) -{ - const SDL_TouchFingerEvent &touch = event.tfinger; - MultiTouchEventsMap &device = mEvents[touch.touchId]; - MultiTouchEvent &finger = device[touch.fingerId]; - finger.active = active; - finger.x = touch.x; - finger.y = touch.y; -} - -void MultiTouchManager::handleFingerDown(const SDL_Event &event) -{ - updateFinger(event, true); - const SDL_TouchFingerEvent &touch = event.tfinger; - checkDevice(touch.touchId, touch.fingerId); -} - -void MultiTouchManager::handleFingerUp(const SDL_Event &event) -{ - updateFinger(event, false); -} - -void MultiTouchManager::checkDevice(const long touchId, - const long fingerId) -{ - if (fingerId != 1 || !guiInput) - return; - - MultiTouchEventsMap &device = mEvents[touchId]; - MultiTouchEvent &finger0 = device[0]; - if (finger0.active) - { - MultiTouchEvent &finger1 = device[1]; - if (finger1.active) - { - const int w = mainGraphics->mWidth; - const int h = mainGraphics->mHeight; - guiInput->simulateMouseClick(finger0.x * w, finger0.y * h, - MouseButton::RIGHT); - } - } -} -#endif diff --git a/src/input/multitouchmanager.h b/src/input/multitouchmanager.h deleted file mode 100644 index e93a919eb..000000000 --- a/src/input/multitouchmanager.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2013-2015 The ManaPlus Developers - * - * This file is part of The ManaPlus Client. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef INPUT_MULTITOUCHMANAGER_H -#define INPUT_MULTITOUCHMANAGER_H - -#include - -#include "localconsts.h" - -#ifdef USE_SDL2 -union SDL_Event; -#endif - -struct MultiTouchEvent final -{ - bool active; - float x; - float y; -}; - -typedef std::map MultiTouchEventsMap; -typedef std::map MultiTouchDevicesMap; - -class MultiTouchManager final -{ - public: - MultiTouchManager(); - - ~MultiTouchManager(); - - A_DELETE_COPY(MultiTouchManager) - - void init() A_CONST; - -#ifdef USE_SDL2 - void updateFinger(const SDL_Event &event, const bool active); - - void handleFingerDown(const SDL_Event &event); - - void handleFingerUp(const SDL_Event &event); - - void checkDevice(const long touchId, - const long fingerId); -#endif - - private: - MultiTouchDevicesMap mEvents; -}; - -extern MultiTouchManager multiTouchManager; - -#endif // INPUT_MULTITOUCHMANAGER_H - diff --git a/src/input/touch/multitouchmanager.cpp b/src/input/touch/multitouchmanager.cpp new file mode 100644 index 000000000..8cdd3fa2b --- /dev/null +++ b/src/input/touch/multitouchmanager.cpp @@ -0,0 +1,89 @@ +/* + * The ManaPlus Client + * Copyright (C) 2013-2015 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "input/touch/multitouchmanager.h" + +#ifdef USE_SDL2 +#include "render/graphics.h" + +#include "gui/gui.h" +#include "gui/sdlinput.h" +#endif +#include "debug.h" + +MultiTouchManager multiTouchManager; + +MultiTouchManager::MultiTouchManager() : + mEvents() +{ +} + +MultiTouchManager::~MultiTouchManager() +{ +} + +void MultiTouchManager::init() +{ +} + +#ifdef USE_SDL2 +void MultiTouchManager::updateFinger(const SDL_Event &event, const bool active) +{ + const SDL_TouchFingerEvent &touch = event.tfinger; + MultiTouchEventsMap &device = mEvents[touch.touchId]; + MultiTouchEvent &finger = device[touch.fingerId]; + finger.active = active; + finger.x = touch.x; + finger.y = touch.y; +} + +void MultiTouchManager::handleFingerDown(const SDL_Event &event) +{ + updateFinger(event, true); + const SDL_TouchFingerEvent &touch = event.tfinger; + checkDevice(touch.touchId, touch.fingerId); +} + +void MultiTouchManager::handleFingerUp(const SDL_Event &event) +{ + updateFinger(event, false); +} + +void MultiTouchManager::checkDevice(const long touchId, + const long fingerId) +{ + if (fingerId != 1 || !guiInput) + return; + + MultiTouchEventsMap &device = mEvents[touchId]; + MultiTouchEvent &finger0 = device[0]; + if (finger0.active) + { + MultiTouchEvent &finger1 = device[1]; + if (finger1.active) + { + const int w = mainGraphics->mWidth; + const int h = mainGraphics->mHeight; + guiInput->simulateMouseClick(finger0.x * w, finger0.y * h, + MouseButton::RIGHT); + } + } +} +#endif diff --git a/src/input/touch/multitouchmanager.h b/src/input/touch/multitouchmanager.h new file mode 100644 index 000000000..b68b746aa --- /dev/null +++ b/src/input/touch/multitouchmanager.h @@ -0,0 +1,71 @@ +/* + * The ManaPlus Client + * Copyright (C) 2013-2015 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef INPUT_TOUCH_MULTITOUCHMANAGER_H +#define INPUT_TOUCH_MULTITOUCHMANAGER_H + +#include + +#include "localconsts.h" + +#ifdef USE_SDL2 +union SDL_Event; +#endif + +struct MultiTouchEvent final +{ + bool active; + float x; + float y; +}; + +typedef std::map MultiTouchEventsMap; +typedef std::map MultiTouchDevicesMap; + +class MultiTouchManager final +{ + public: + MultiTouchManager(); + + ~MultiTouchManager(); + + A_DELETE_COPY(MultiTouchManager) + + void init() A_CONST; + +#ifdef USE_SDL2 + void updateFinger(const SDL_Event &event, const bool active); + + void handleFingerDown(const SDL_Event &event); + + void handleFingerUp(const SDL_Event &event); + + void checkDevice(const long touchId, + const long fingerId); +#endif + + private: + MultiTouchDevicesMap mEvents; +}; + +extern MultiTouchManager multiTouchManager; + +#endif // INPUT_TOUCH_MULTITOUCHMANAGER_H + -- cgit v1.2.3-70-g09d2