summaryrefslogtreecommitdiff
path: root/src/touchmanager.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-12-29 00:59:00 +0300
committerAndrei Karas <akaras@inbox.ru>2015-12-29 00:59:00 +0300
commit38e782f30d15a0fceabf863e40ffe66124cef8a8 (patch)
tree360d96948ddef2d4c506d8e4760be24de89a7dd2 /src/touchmanager.h
parentb5ffd5541fabee632acc2979d9dafc84e60aa3d8 (diff)
downloadmanaverse-38e782f30d15a0fceabf863e40ffe66124cef8a8.tar.gz
manaverse-38e782f30d15a0fceabf863e40ffe66124cef8a8.tar.bz2
manaverse-38e782f30d15a0fceabf863e40ffe66124cef8a8.tar.xz
manaverse-38e782f30d15a0fceabf863e40ffe66124cef8a8.zip
Move touchmanager into touch directory.
Diffstat (limited to 'src/touchmanager.h')
-rw-r--r--src/touchmanager.h203
1 files changed, 0 insertions, 203 deletions
diff --git a/src/touchmanager.h b/src/touchmanager.h
deleted file mode 100644
index f67a2b72d..000000000
--- a/src/touchmanager.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2011-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 <http://www.gnu.org/licenses/>.
- */
-
-#ifndef TOUCHMANAGER_H
-#define TOUCHMANAGER_H
-
-#include "listeners/configlistener.h"
-
-#include "enums/input/inputaction.h"
-
-#include "gui/rect.h"
-
-#include <vector>
-
-#include "localconsts.h"
-
-class Image;
-class ImageCollection;
-class ImageRect;
-class MouseInput;
-
-typedef void (*TouchFuncPtr) (const MouseInput &restrict mouseInput);
-
-const int actionsSize = static_cast<int>(InputAction::TOTAL);
-const int buttonsCount = 12;
-
-struct TouchItem final
-{
- TouchItem(const std::string &text0,
- const Rect &rect0,
- const int type0,
- const std::string &restrict eventPressed0,
- const std::string &restrict eventReleased0,
- ImageRect *restrict const images0,
- Image *restrict const icon0,
- const int x0, const int y0,
- const int width0, const int height0,
- const TouchFuncPtr ptrAll,
- const TouchFuncPtr ptrPressed,
- const TouchFuncPtr ptrReleased,
- const TouchFuncPtr ptrOut) :
- text(text0),
- rect(rect0),
- type(type0),
- eventPressed(eventPressed0),
- eventReleased(eventReleased0),
- images(images0),
- icon(icon0),
- x(x0),
- y(y0),
- width(width0),
- height(height0),
- funcAll(ptrAll),
- funcPressed(ptrPressed),
- funcReleased(ptrReleased),
- funcOut(ptrOut)
- {
- }
-
- A_DELETE_COPY(TouchItem)
-
- std::string text;
- Rect rect;
- int type;
- std::string eventPressed;
- std::string eventReleased;
- ImageRect *images;
- Image *icon;
- int x;
- int y;
- int width;
- int height;
- TouchFuncPtr funcAll;
- TouchFuncPtr funcPressed;
- TouchFuncPtr funcReleased;
- TouchFuncPtr funcOut;
-};
-
-typedef std::vector<TouchItem*> TouchItemVector;
-typedef TouchItemVector::const_iterator TouchItemVectorCIter;
-typedef TouchItemVector::iterator TouchItemVectorIter;
-
-class TouchManager final : public ConfigListener
-{
- public:
- TouchManager();
-
- ~TouchManager();
-
- A_DELETE_COPY(TouchManager)
-
- enum Types
- {
- NORMAL = 0,
- LEFT = 1,
- RIGHT = 2
- };
-
- void init() restrict2;
-
- void loadTouchItem(TouchItem **restrict item,
- const std::string &restrict name,
- const std::string &restrict imageName,
- const std::string &restrict text,
- int x, int y,
- const int width, const int height,
- const int type,
- const std::string &restrict eventPressed,
- const std::string &restrict eventReleased,
- const TouchFuncPtr fAll = nullptr,
- const TouchFuncPtr fPressed = nullptr,
- const TouchFuncPtr fReleased = nullptr,
- const TouchFuncPtr fOut = nullptr)
- restrict2 A_NONNULL(2);
-
- void clear() restrict2;
-
- void draw() restrict2;
-
- void safeDraw() restrict2;
-
- void drawText() restrict2;
-
- bool processEvent(const MouseInput &mouseInput) restrict2;
-
- bool isActionActive(const InputActionT index) restrict2 const;
-
- void setActionActive(const InputActionT index,
- const bool value) restrict2
- {
- if (static_cast<int>(index) >= 0 &&
- static_cast<int>(index) < actionsSize)
- {
- mActions[static_cast<size_t>(index)] = value;
- }
- }
-
- void resize(const int width, const int height) restrict2;
-
- static void unload(TouchItem *restrict const item);
-
- void unloadTouchItem(TouchItem *restrict *unloadItem) restrict2;
-
- void optionChanged(const std::string &value) restrict2 override final;
-
- void loadPad() restrict2;
-
- void loadButtons() restrict2;
-
- void loadKeyboard() restrict2;
-
- int getPadSize() restrict2 const
- { return (mJoystickSize + 2) * 50; }
-
- void setInGame(const bool b) restrict2;
-
- void setTempHide(const bool b) restrict2;
-
- void shutdown() restrict2;
-
- static void executeAction(const std::string &restrict event);
-
- private:
- TouchItem *mKeyboard;
- TouchItem *mPad;
- TouchItem *mButtons[buttonsCount] A_NONNULLPOINTER;
- TouchItemVector mObjects;
- ImageCollection *mVertexes A_NONNULLPOINTER;
- bool mActions[actionsSize];
- bool mRedraw;
- bool mShowJoystick;
- bool mShowButtons;
- bool mShowKeyboard;
- int mButtonsSize;
- int mJoystickSize;
- int mButtonsFormat;
- int mWidth;
- int mHeight;
- bool mShow;
- bool mInGame;
- bool mTempHideButtons;
-};
-
-extern TouchManager touchManager;
-
-#endif // TOUCHMANAGER_H