diff options
-rw-r--r-- | src/CMakeLists.txt | 5 | ||||
-rw-r--r-- | src/Makefile.am | 5 | ||||
-rw-r--r-- | src/being/being.h | 2 | ||||
-rw-r--r-- | src/being/flooritem.h | 6 | ||||
-rw-r--r-- | src/enums/resources/cursor.h | 45 | ||||
-rw-r--r-- | src/gui/gui.h | 6 | ||||
-rw-r--r-- | src/resources/beinginfo.h | 10 | ||||
-rw-r--r-- | src/resources/cursor.cpp | 69 | ||||
-rw-r--r-- | src/resources/cursors.cpp | 69 | ||||
-rw-r--r-- | src/resources/cursors.h (renamed from src/resources/cursor.h) | 31 | ||||
-rw-r--r-- | src/resources/iteminfo.h | 10 |
11 files changed, 142 insertions, 116 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 93ae99f9e..9b581c249 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -627,8 +627,8 @@ SET(SRCS resources/db/colordb.h resources/db/commandsdb.cpp resources/db/commandsdb.h - resources/cursor.cpp - resources/cursor.h + resources/cursors.cpp + resources/cursors.h resources/delayedmanager.cpp resources/delayedmanager.h resources/db/deaddb.cpp @@ -670,6 +670,7 @@ SET(SRCS resources/db/itemfielddb.h resources/iteminfo.h resources/iteminfo.cpp + enums/resources/cursor.h enums/resources/imageposition.h enums/resources/imagetype.h enums/resources/item/itemdbtype.h diff --git a/src/Makefile.am b/src/Makefile.am index 33ec02db4..da16feadb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -357,8 +357,8 @@ SRC += events/actionevent.h \ resources/atlas/atlasresource.h \ resources/rect/doublerect.h \ resources/attack.h \ - resources/cursor.cpp \ - resources/cursor.h \ + resources/cursors.cpp \ + resources/cursors.h \ resources/dye/dye.cpp \ resources/dye/dye.h \ resources/dye/dyecolor.h \ @@ -1288,6 +1288,7 @@ manaplus_SOURCES += main.cpp \ resources/db/weaponsdb.h \ resources/iteminfo.h \ resources/iteminfo.cpp \ + enums/resources/cursor.h \ enums/resources/imageposition.h \ enums/resources/imagetype.h \ enums/resources/item/itemdbtype.h \ diff --git a/src/being/being.h b/src/being/being.h index 78f0ec65c..06264b1d5 100644 --- a/src/being/being.h +++ b/src/being/being.h @@ -877,7 +877,7 @@ class Being notfinal : public ActorSprite, const int attackId, const int level) const restrict2 A_WARN_UNUSED; - Cursor::Cursor getHoverCursor() const restrict2 A_WARN_UNUSED + CursorT getHoverCursor() const restrict2 A_WARN_UNUSED { return mInfo ? mInfo->getHoverCursor() : Cursor::CURSOR_POINTER; } void addAfkEffect() restrict2; diff --git a/src/being/flooritem.h b/src/being/flooritem.h index 23c32f446..28e5c7190 100644 --- a/src/being/flooritem.h +++ b/src/being/flooritem.h @@ -33,7 +33,7 @@ #include "being/actorsprite.h" -#include "resources/cursor.h" +#include "resources/cursors.h" class ItemInfo; @@ -113,7 +113,7 @@ class FloorItem final : public ActorSprite void disableHightlight() { mHighlight = false; } - Cursor::Cursor getHoverCursor() const A_WARN_UNUSED + CursorT getHoverCursor() const A_WARN_UNUSED { return mCursor; } void setCards(const int *const cards, int sz); @@ -142,7 +142,7 @@ class FloorItem final : public ActorSprite int mHeightPosDiff; ItemTypeT mItemType; unsigned int mPickupCount; - Cursor::Cursor mCursor; + CursorT mCursor; ItemColor mColor; Identified mIdentified; Damaged mDamaged; diff --git a/src/enums/resources/cursor.h b/src/enums/resources/cursor.h new file mode 100644 index 000000000..47f4d39cf --- /dev/null +++ b/src/enums/resources/cursor.h @@ -0,0 +1,45 @@ +/* + * The ManaPlus Client + * Copyright (C) 2012-2016 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 ENUMS_RESOURCES_CURSOR_H +#define ENUMS_RESOURCES_CURSOR_H + +#include "enums/simpletypes/enumdefines.h" + +enumStart(Cursor) +{ + CURSOR_POINTER = 0, + CURSOR_RESIZE_ACROSS, + CURSOR_RESIZE_DOWN, + CURSOR_RESIZE_DOWN_LEFT, + CURSOR_RESIZE_DOWN_RIGHT, + CURSOR_FIGHT, + CURSOR_PICKUP, + CURSOR_TALK, + CURSOR_ACTION, + CURSOR_LEFT, + CURSOR_UP, + CURSOR_RIGHT, + CURSOR_DOWN, + CURSOR_TOTAL +} +enumEnd(Cursor); + +#endif // ENUMS_RESOURCES_CURSOR_H diff --git a/src/gui/gui.h b/src/gui/gui.h index 258262b3f..c78406c01 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -71,7 +71,7 @@ #include "enums/events/mousebutton.h" #include "enums/events/mouseeventtype.h" -#include "resources/cursor.h" +#include "resources/cursors.h" #include <deque> #include <list> @@ -192,7 +192,7 @@ class Gui final /** * Sets which cursor should be used. */ - void setCursorType(const Cursor::Cursor index) + void setCursorType(const CursorT index) { mCursorType = index; } void setDoubleClick(const bool b) @@ -519,7 +519,7 @@ class Gui final ImageSet *mMouseCursors; float mMouseCursorAlpha; int mMouseInactivityTimer; - Cursor::Cursor mCursorType; + CursorT mCursorType; #ifdef ANDROID uint16_t mLastMouseRealX; uint16_t mLastMouseRealY; diff --git a/src/resources/beinginfo.h b/src/resources/beinginfo.h index c1a9ccd7b..3c5a9ab98 100644 --- a/src/resources/beinginfo.h +++ b/src/resources/beinginfo.h @@ -31,7 +31,7 @@ #include "enums/simpletypes/itemcolor.h" #include "resources/beingmenuitem.h" -#include "resources/cursor.h" +#include "resources/cursors.h" #include "resources/soundinfo.h" #include "resources/sprite/spritedisplay.h" @@ -81,12 +81,12 @@ class BeingInfo final { mTargetCursorSize = targetSize; } void setHoverCursor(const std::string &name) - { return setHoverCursor(Cursor::stringToCursor(name)); } + { return setHoverCursor(Cursors::stringToCursor(name)); } - void setHoverCursor(const Cursor::Cursor &cursor) + void setHoverCursor(const CursorT &cursor) { mHoverCursor = cursor; } - Cursor::Cursor getHoverCursor() const A_WARN_UNUSED + CursorT getHoverCursor() const A_WARN_UNUSED { return mHoverCursor; } TargetCursorSizeT getTargetCursorSize() const A_WARN_UNUSED @@ -347,7 +347,7 @@ class BeingInfo final SpriteDisplay mDisplay; std::string mName; TargetCursorSizeT mTargetCursorSize; - Cursor::Cursor mHoverCursor; + CursorT mHoverCursor; ItemSoundEvents mSounds; Attacks mAttacks; std::vector<BeingMenuItem> mMenu; diff --git a/src/resources/cursor.cpp b/src/resources/cursor.cpp deleted file mode 100644 index cbc430b2a..000000000 --- a/src/resources/cursor.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2012-2016 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/>. - */ - -#include "resources/cursor.h" - -#include "debug.h" - -namespace Cursor -{ - static const StrToCursor hoverCursors[] = - { - {"select", CURSOR_POINTER}, - {"pointer", CURSOR_POINTER}, - {"lr", CURSOR_RESIZE_ACROSS}, - {"rl", CURSOR_RESIZE_ACROSS}, - {"resizeAcross", CURSOR_RESIZE_ACROSS}, - {"ud", CURSOR_RESIZE_DOWN}, - {"du", CURSOR_RESIZE_DOWN}, - {"resizeDown", CURSOR_RESIZE_DOWN}, - {"ldru", CURSOR_RESIZE_DOWN_LEFT}, - {"ruld", CURSOR_RESIZE_DOWN_LEFT}, - {"ld", CURSOR_RESIZE_DOWN_LEFT}, - {"ru", CURSOR_RESIZE_DOWN_LEFT}, - {"resizeDownLeft", CURSOR_RESIZE_DOWN_LEFT}, - {"lurd", CURSOR_RESIZE_DOWN_RIGHT}, - {"rdlu", CURSOR_RESIZE_DOWN_RIGHT}, - {"rd", CURSOR_RESIZE_DOWN_RIGHT}, - {"lu", CURSOR_RESIZE_DOWN_RIGHT}, - {"resizeDownRight", CURSOR_RESIZE_DOWN_RIGHT}, - {"attack", CURSOR_FIGHT}, - {"fight", CURSOR_FIGHT}, - {"take", CURSOR_PICKUP}, - {"pickup", CURSOR_PICKUP}, - {"talk", CURSOR_TALK}, - {"action", CURSOR_ACTION}, - {"left", CURSOR_LEFT}, - {"up", CURSOR_UP}, - {"right", CURSOR_RIGHT}, - {"down", CURSOR_DOWN} - }; - - Cursor stringToCursor(const std::string &name) - { - for (size_t f = 0; f < sizeof(hoverCursors) / sizeof(StrToCursor); - f ++) - { - if (hoverCursors[f].str == name) - return hoverCursors[f].cursor; - } - return CURSOR_POINTER; - } -} // namespace Cursor diff --git a/src/resources/cursors.cpp b/src/resources/cursors.cpp new file mode 100644 index 000000000..5ca5ff35a --- /dev/null +++ b/src/resources/cursors.cpp @@ -0,0 +1,69 @@ +/* + * The ManaPlus Client + * Copyright (C) 2012-2016 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/>. + */ + +#include "resources/cursors.h" + +#include "debug.h" + +namespace Cursors +{ + static const StrToCursor hoverCursors[] = + { + {"select", Cursor::CURSOR_POINTER}, + {"pointer", Cursor::CURSOR_POINTER}, + {"lr", Cursor::CURSOR_RESIZE_ACROSS}, + {"rl", Cursor::CURSOR_RESIZE_ACROSS}, + {"resizeAcross", Cursor::CURSOR_RESIZE_ACROSS}, + {"ud", Cursor::CURSOR_RESIZE_DOWN}, + {"du", Cursor::CURSOR_RESIZE_DOWN}, + {"resizeDown", Cursor::CURSOR_RESIZE_DOWN}, + {"ldru", Cursor::CURSOR_RESIZE_DOWN_LEFT}, + {"ruld", Cursor::CURSOR_RESIZE_DOWN_LEFT}, + {"ld", Cursor::CURSOR_RESIZE_DOWN_LEFT}, + {"ru", Cursor::CURSOR_RESIZE_DOWN_LEFT}, + {"resizeDownLeft", Cursor::CURSOR_RESIZE_DOWN_LEFT}, + {"lurd", Cursor::CURSOR_RESIZE_DOWN_RIGHT}, + {"rdlu", Cursor::CURSOR_RESIZE_DOWN_RIGHT}, + {"rd", Cursor::CURSOR_RESIZE_DOWN_RIGHT}, + {"lu", Cursor::CURSOR_RESIZE_DOWN_RIGHT}, + {"resizeDownRight", Cursor::CURSOR_RESIZE_DOWN_RIGHT}, + {"attack", Cursor::CURSOR_FIGHT}, + {"fight", Cursor::CURSOR_FIGHT}, + {"take", Cursor::CURSOR_PICKUP}, + {"pickup", Cursor::CURSOR_PICKUP}, + {"talk", Cursor::CURSOR_TALK}, + {"action", Cursor::CURSOR_ACTION}, + {"left", Cursor::CURSOR_LEFT}, + {"up", Cursor::CURSOR_UP}, + {"right", Cursor::CURSOR_RIGHT}, + {"down", Cursor::CURSOR_DOWN} + }; + + CursorT stringToCursor(const std::string &name) + { + for (size_t f = 0; f < sizeof(hoverCursors) / sizeof(StrToCursor); + f ++) + { + if (hoverCursors[f].str == name) + return hoverCursors[f].cursor; + } + return Cursor::CURSOR_POINTER; + } +} // namespace Cursors diff --git a/src/resources/cursor.h b/src/resources/cursors.h index ef4b4da1b..52183722b 100644 --- a/src/resources/cursor.h +++ b/src/resources/cursors.h @@ -21,42 +21,21 @@ #ifndef RESOURCES_CURSOR_H #define RESOURCES_CURSOR_H +#include "enums/resources/cursor.h" + #include <string> #include "localconsts.h" -namespace Cursor +namespace Cursors { - /** - * Cursors are in graphic order from left to right. - * CURSOR_POINTER should be left untouched. - * CURSOR_TOTAL should always be last. - */ - enum Cursor - { - CURSOR_POINTER = 0, - CURSOR_RESIZE_ACROSS, - CURSOR_RESIZE_DOWN, - CURSOR_RESIZE_DOWN_LEFT, - CURSOR_RESIZE_DOWN_RIGHT, - CURSOR_FIGHT, - CURSOR_PICKUP, - CURSOR_TALK, - CURSOR_ACTION, - CURSOR_LEFT, - CURSOR_UP, - CURSOR_RIGHT, - CURSOR_DOWN, - CURSOR_TOTAL - }; - struct StrToCursor final { std::string str; - Cursor cursor; + CursorT cursor; }; - Cursor stringToCursor(const std::string &name) A_WARN_UNUSED; + CursorT stringToCursor(const std::string &name) A_WARN_UNUSED; } // namespace Cursor #endif // RESOURCES_CURSOR_H diff --git a/src/resources/iteminfo.h b/src/resources/iteminfo.h index c61da1bcd..a7d877f65 100644 --- a/src/resources/iteminfo.h +++ b/src/resources/iteminfo.h @@ -30,7 +30,7 @@ #include "enums/simpletypes/beingtypeid.h" #include "enums/simpletypes/itemcolor.h" -#include "resources/cursor.h" +#include "resources/cursors.h" #include "resources/soundinfo.h" #include "resources/sprite/spritedisplay.h" @@ -287,12 +287,12 @@ class ItemInfo final const A_WARN_UNUSED; void setPickupCursor(const std::string &cursor) - { return setPickupCursor(Cursor::stringToCursor(cursor)); } + { return setPickupCursor(Cursors::stringToCursor(cursor)); } - void setPickupCursor(const Cursor::Cursor &cursor) + void setPickupCursor(const CursorT &cursor) { mPickupCursor = cursor; } - Cursor::Cursor getPickupCursor() const A_WARN_UNUSED + CursorT getPickupCursor() const A_WARN_UNUSED { return mPickupCursor; } void setProtected(const bool b) @@ -373,7 +373,7 @@ class ItemInfo final int mMissEffectId; int maxFloorOffsetX; int maxFloorOffsetY; - Cursor::Cursor mPickupCursor; + CursorT mPickupCursor; bool mProtected; }; |