summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2017-01-27 18:05:52 +0300
committerAndrei Karas <akaras@inbox.ru>2017-01-27 18:05:52 +0300
commit6917c126fbee146183433367be9a3d8fef94a1dd (patch)
tree1ae1ca8f031e7ce576a1f6a2bf82c0c97e23eefc
parentf3cec08689d531cf6fe2c9edc733fa8b00032631 (diff)
downloadmanaverse-6917c126fbee146183433367be9a3d8fef94a1dd.tar.gz
manaverse-6917c126fbee146183433367be9a3d8fef94a1dd.tar.bz2
manaverse-6917c126fbee146183433367be9a3d8fef94a1dd.tar.xz
manaverse-6917c126fbee146183433367be9a3d8fef94a1dd.zip
Move link highlight mode into separate file.
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/Makefile.am1
-rw-r--r--src/enums/gui/linkhighlightmode.h42
-rw-r--r--src/gui/widgets/browserbox.cpp16
-rw-r--r--src/gui/widgets/browserbox.h12
5 files changed, 54 insertions, 18 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 8c5c0b1f4..8faf6f2a2 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -218,6 +218,7 @@ SET(SRCS
gui/widgets/layouthelper.cpp
gui/widgets/layouthelper.h
enums/gui/layouttype.h
+ enums/gui/linkhighlightmode.h
enums/gui/npcactionstate.h
enums/gui/npcinputstate.h
gui/widgets/linepart.cpp
diff --git a/src/Makefile.am b/src/Makefile.am
index 14c136d09..4cabb17b9 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -242,6 +242,7 @@ SRC += events/actionevent.h \
gui/widgets/layouthelper.cpp \
gui/widgets/layouthelper.h \
enums/gui/layouttype.h \
+ enums/gui/linkhighlightmode.h \
enums/gui/npcactionstate.h \
enums/gui/npcinputstate.h \
gui/widgets/linepart.cpp \
diff --git a/src/enums/gui/linkhighlightmode.h b/src/enums/gui/linkhighlightmode.h
new file mode 100644
index 000000000..a79625b72
--- /dev/null
+++ b/src/enums/gui/linkhighlightmode.h
@@ -0,0 +1,42 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2004-2009 The Mana World Development Team
+ * Copyright (C) 2009-2010 The Mana Developers
+ * Copyright (C) 2011-2017 The ManaPlus Developers
+ * Copyright (C) 2009 Aethyra Development Team
+ *
+ * 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_GUI_LINKHIGHLIGHTMODE_H
+#define ENUMS_GUI_LINKHIGHLIGHTMODE_H
+
+#include "localconsts.h"
+
+namespace LinkHighlightMode
+{
+ /**
+ * Highlight modes for links.
+ * This can be used for a bitmask.
+ */
+ enum Type
+ {
+ UNDERLINE = 1,
+ BACKGROUND = 2
+ };
+}
+
+#endif // ENUMS_GUI_LINKHIGHLIGHTMODE_H
diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp
index c443bf07d..e1bb330e4 100644
--- a/src/gui/widgets/browserbox.cpp
+++ b/src/gui/widgets/browserbox.cpp
@@ -29,6 +29,8 @@
#include "const/resources/item/cards.h"
+#include "enums/gui/linkhighlightmode.h"
+
#include "input/inputmanager.h"
#include "gui/gui.h"
@@ -110,7 +112,7 @@ BrowserBox::BrowserBox(const Widget2 *const widget,
mLinkHandler(nullptr),
mSkin(nullptr),
mMode(mode),
- mHighMode(0),
+ mHighlightMode(0),
mSelectedLink(-1),
mMaxRows(0),
mHeight(0),
@@ -155,9 +157,9 @@ BrowserBox::BrowserBox(const Widget2 *const widget,
mSkin->getOption("newLinePadding", 15));
mItemPadding = mSkin->getOption("itemPadding");
if (mSkin->getOption("highlightBackground"))
- mHighMode |= BACKGROUND;
+ mHighlightMode |= LinkHighlightMode::BACKGROUND;
if (mSkin->getOption("highlightUnderline"))
- mHighMode |= UNDERLINE;
+ mHighlightMode |= LinkHighlightMode::UNDERLINE;
}
readColor(BLACK);
@@ -564,10 +566,10 @@ void BrowserBox::draw(Graphics *const graphics)
mDimension.width, mDimension.height));
}
- if (mSelectedLink >= 0 && mSelectedLink
- < CAST_S32(mLinks.size()))
+ if (mSelectedLink >= 0 &&
+ mSelectedLink < CAST_S32(mLinks.size()))
{
- if ((mHighMode & BACKGROUND))
+ if ((mHighlightMode & LinkHighlightMode::BACKGROUND))
{
BrowserLink &link = mLinks[CAST_SIZE(mSelectedLink)];
graphics->setColor(mHighlightColor);
@@ -578,7 +580,7 @@ void BrowserBox::draw(Graphics *const graphics)
link.y2 - link.y1));
}
- if ((mHighMode & UNDERLINE))
+ if ((mHighlightMode & LinkHighlightMode::UNDERLINE))
{
BrowserLink &link = mLinks[CAST_SIZE(mSelectedLink)];
graphics->setColor(mHyperLinkColor);
diff --git a/src/gui/widgets/browserbox.h b/src/gui/widgets/browserbox.h
index 77f103d83..fe0c0c36d 100644
--- a/src/gui/widgets/browserbox.h
+++ b/src/gui/widgets/browserbox.h
@@ -129,16 +129,6 @@ class BrowserBox final : public Widget,
COLORS_MAX
};
- /**
- * Highlight modes for links.
- * This can be used for a bitmask.
- */
- enum
- {
- UNDERLINE = 1,
- BACKGROUND = 2
- };
-
typedef std::list<std::string> TextRows;
TextRows &getRows() noexcept2 A_WARN_UNUSED
@@ -199,7 +189,7 @@ class BrowserBox final : public Widget,
LinkHandler *mLinkHandler;
Skin *mSkin;
BrowserBoxModeT mMode;
- unsigned int mHighMode;
+ unsigned int mHighlightMode;
int mSelectedLink;
unsigned int mMaxRows;
int mHeight;