diff options
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/being.cpp | 7 | ||||
-rw-r--r-- | src/client.cpp | 4 | ||||
-rw-r--r-- | src/dropshortcut.cpp | 5 | ||||
-rw-r--r-- | src/graphics.cpp | 4 | ||||
-rw-r--r-- | src/graphicsmanager.cpp | 4 | ||||
-rw-r--r-- | src/graphicsmanager.h | 2 | ||||
-rw-r--r-- | src/gui/popupmenu.cpp | 7 | ||||
-rw-r--r-- | src/gui/popupmenu.h | 2 | ||||
-rw-r--r-- | src/gui/setup_input.cpp | 2 | ||||
-rw-r--r-- | src/gui/widgets/progressbar.cpp | 25 | ||||
-rw-r--r-- | src/guichan/graphics.cpp | 1 | ||||
-rw-r--r-- | src/guichan/include/guichan/widgets/imagebutton.hpp | 124 | ||||
-rw-r--r-- | src/guichan/widgets/icon.cpp | 8 | ||||
-rw-r--r-- | src/guichan/widgets/imagebutton.cpp | 170 | ||||
-rw-r--r-- | src/guichanfwd.h | 1 | ||||
-rw-r--r-- | src/itemshortcut.cpp | 5 |
18 files changed, 28 insertions, 347 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 58a62ddc8..35133e389 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -665,7 +665,6 @@ SET(SRCS_GUICHAN guichan/include/guichan/widgets/container.hpp guichan/include/guichan/widgets/dropdown.hpp guichan/include/guichan/widgets/icon.hpp - guichan/include/guichan/widgets/imagebutton.hpp guichan/include/guichan/widgets/label.hpp guichan/include/guichan/widgets/listbox.hpp guichan/include/guichan/widgets/radiobutton.hpp @@ -704,7 +703,6 @@ SET(SRCS_GUICHAN guichan/widgets/container.cpp guichan/widgets/dropdown.cpp guichan/widgets/icon.cpp - guichan/widgets/imagebutton.cpp guichan/widgets/label.cpp guichan/widgets/listbox.cpp guichan/widgets/radiobutton.cpp diff --git a/src/Makefile.am b/src/Makefile.am index d476c1d56..123a589fe 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -63,7 +63,6 @@ manaplus_SOURCES += guichan/include/guichan/actionevent.hpp \ guichan/include/guichan/widgets/container.hpp \ guichan/include/guichan/widgets/dropdown.hpp \ guichan/include/guichan/widgets/icon.hpp \ - guichan/include/guichan/widgets/imagebutton.hpp \ guichan/include/guichan/widgets/label.hpp \ guichan/include/guichan/widgets/listbox.hpp \ guichan/include/guichan/widgets/radiobutton.hpp \ @@ -103,7 +102,6 @@ manaplus_SOURCES += guichan/actionevent.cpp \ guichan/widgets/container.cpp \ guichan/widgets/dropdown.cpp \ guichan/widgets/icon.cpp \ - guichan/widgets/imagebutton.cpp \ guichan/widgets/label.cpp \ guichan/widgets/listbox.cpp \ guichan/widgets/radiobutton.cpp \ diff --git a/src/being.cpp b/src/being.cpp index 3459132b7..e8338df6c 100644 --- a/src/being.cpp +++ b/src/being.cpp @@ -1191,7 +1191,7 @@ void Being::nextTile() Uint8 dir = calcDirection(pos.x, pos.y); if (dir) - setDirection(static_cast<Uint8>(dir)); + setDirection(dir); if (!mMap || !mMap->getWalk(pos.x, pos.y, getWalkMask())) { @@ -1325,7 +1325,7 @@ void Being::logic() { if (getWalkSpeed().x && static_cast<int> ((static_cast<float>( get_elapsed_time(mActionTime)) * static_cast<float>( - frameCount)) / static_cast<float>(getWalkSpeed().x)) + frameCount)) / getWalkSpeed().x) >= frameCount) { nextTile(); @@ -1412,8 +1412,7 @@ void Being::logic() if (!isAlive() && getWalkSpeed().x && Net::getGameHandler()->removeDeadBeings() && static_cast<int> ((static_cast<float>(get_elapsed_time(mActionTime)) - / static_cast<float>(getWalkSpeed().x))) - >= static_cast<int>(frameCount)) + / static_cast<float>(getWalkSpeed().x))) >= frameCount) { if (mType != PLAYER && actorSpriteManager) actorSpriteManager->destroy(this); diff --git a/src/client.cpp b/src/client.cpp index 6425bb1d5..eacd52628 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -38,10 +38,6 @@ #include "joystick.h" #include "inputmanager.h" #include "keyboardconfig.h" -#ifdef USE_OPENGL -#include "openglgraphics.h" -#include "opengl1graphics.h" -#endif #include "party.h" #include "playerrelations.h" #include "sound.h" diff --git a/src/dropshortcut.cpp b/src/dropshortcut.cpp index c3ba98a27..fc370d47f 100644 --- a/src/dropshortcut.cpp +++ b/src/dropshortcut.cpp @@ -63,9 +63,8 @@ void DropShortcut::load(bool oldConfig) for (int i = 0; i < DROP_SHORTCUT_ITEMS; i++) { - int itemId = static_cast<int>(cfg->getValue("drop" + toString(i), -1)); - int itemColor = static_cast<int>( - cfg->getValue("dropColor" + toString(i), -1)); + int itemId = cfg->getValue("drop" + toString(i), -1); + int itemColor = cfg->getValue("dropColor" + toString(i), -1); if (itemId != -1) { diff --git a/src/graphics.cpp b/src/graphics.cpp index 193d3b271..b8d34aad4 100644 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -408,8 +408,8 @@ bool Graphics::drawRescaledImage(Image *image, int srcX, int srcY, return returnValue; } -bool Graphics::drawImage(const Image *image, int srcX, int srcY, int dstX, int dstY, - int width, int height, bool) +bool Graphics::drawImage(const Image *image, int srcX, int srcY, + int dstX, int dstY, int width, int height, bool) { // Check that preconditions for blitting are met. if (!mTarget || !image || !image->mSDLSurface) diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp index 83439b03e..fec1a9a6d 100644 --- a/src/graphicsmanager.cpp +++ b/src/graphicsmanager.cpp @@ -79,7 +79,7 @@ void GraphicsManager::updateExtensions(const char *extensions) splitToStringSet(mExtensions, extensions, ' '); } -bool GraphicsManager::supportExtension(const std::string ext) +bool GraphicsManager::supportExtension(const std::string &ext) { return mExtensions.find(ext) != mExtensions.end(); } @@ -181,4 +181,4 @@ void GraphicsManager::setVideoMode() } } } -}
\ No newline at end of file +} diff --git a/src/graphicsmanager.h b/src/graphicsmanager.h index 95657a2e8..cefbe81d2 100644 --- a/src/graphicsmanager.h +++ b/src/graphicsmanager.h @@ -37,7 +37,7 @@ class GraphicsManager void updateExtensions(const char *extensions); - bool supportExtension(const std::string ext); + bool supportExtension(const std::string &ext); void updateTextureFormat(); diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp index e2009ee28..eb57dd845 100644 --- a/src/gui/popupmenu.cpp +++ b/src/gui/popupmenu.cpp @@ -1806,8 +1806,6 @@ void PopupMenu::showItemPopup(int x, int y, Item *item) void PopupMenu::showDropPopup(int x, int y, Item *item) { mItem = item; - mItemId = item->getId(); - mItemColor = item->getColor(); mX = x; mY = y; mNick = ""; @@ -1815,6 +1813,9 @@ void PopupMenu::showDropPopup(int x, int y, Item *item) if (item) { + mItemId = item->getId(); + mItemColor = item->getColor(); + if (item->isEquipment()) { if (item->isEquipped()) @@ -2151,7 +2152,7 @@ void PopupMenu::addBuySellDefault() } } -void PopupMenu::addParty(const std::string partyName) +void PopupMenu::addParty(const std::string &partyName) { if (player_node->isInParty()) { diff --git a/src/gui/popupmenu.h b/src/gui/popupmenu.h index c1675319a..b5d0e956c 100644 --- a/src/gui/popupmenu.h +++ b/src/gui/popupmenu.h @@ -166,7 +166,7 @@ class PopupMenu : public Popup, public LinkHandler void addBuySell(const Being *being); - void addParty(const std::string partyName); + void addParty(const std::string &partyName); void addBuySellDefault(); diff --git a/src/gui/setup_input.cpp b/src/gui/setup_input.cpp index 6dc8c2528..144396314 100644 --- a/src/gui/setup_input.cpp +++ b/src/gui/setup_input.cpp @@ -279,7 +279,7 @@ void Setup_Input::action(const gcn::ActionEvent &event) refreshKeys(); } } - else if (!id.find("tabs_")) + else if (strStartWith(id, "tabs_")) { int k = 0; std::string str = "tabs_"; diff --git a/src/gui/widgets/progressbar.cpp b/src/gui/widgets/progressbar.cpp index 8b2beb8d5..4be421db4 100644 --- a/src/gui/widgets/progressbar.cpp +++ b/src/gui/widgets/progressbar.cpp @@ -211,24 +211,19 @@ void ProgressBar::render(Graphics *graphics, const gcn::Rectangle &area, if (*redraw || graphics->getRedraw()) { *redraw = false; - static_cast<Graphics*>(graphics)->calcWindow(vert, - area.x, area.y, area.width, area.height, mBorder); + graphics->calcWindow(vert, area.x, area.y, + area.width, area.height, mBorder); } - static_cast<Graphics*>(graphics)->drawImageRect2(vert, mBorder); - -// graphics->drawImageRect(area.x, area.y, area.width, area.height, mBorder); -// graphics->drawImageRect(area, mBorder); + graphics->drawImageRect2(vert, mBorder); // The bar if (progress > 0) { graphics->setColor(color); - graphics->fillRectangle(gcn::Rectangle(static_cast<int>(area.x + 4), - static_cast<int>(area.y + 4), - static_cast<int>(static_cast<float>(progress) - * static_cast<float>(area.width - 8)), - static_cast<int>(area.height - 8))); + graphics->fillRectangle(gcn::Rectangle(area.x + 4, area.y + 4, + static_cast<int>(progress * static_cast<float>(area.width - 8)), + area.height - 8)); } // The label @@ -260,11 +255,9 @@ void ProgressBar::render(Graphics *graphics, const gcn::Rectangle &area, if (progress > 0) { graphics->setColor(color); - graphics->fillRectangle(gcn::Rectangle(static_cast<int>(area.x + 4), - static_cast<int>(area.y + 4), - static_cast<int>(static_cast<float>(progress) - * static_cast<float>(area.width - 8)), - static_cast<int>(area.height - 8))); + graphics->fillRectangle(gcn::Rectangle(area.x + 4, area.y + 4, + static_cast<int>(progress * static_cast<float>(area.width - 8)), + area.height - 8)); } // The label diff --git a/src/guichan/graphics.cpp b/src/guichan/graphics.cpp index 1f6cb8a64..1c99d899e 100644 --- a/src/guichan/graphics.cpp +++ b/src/guichan/graphics.cpp @@ -145,7 +145,6 @@ namespace gcn void Graphics::drawImage(const Image* image A_UNUSED, int dstX A_UNUSED, int dstY A_UNUSED) { - throw GCN_EXCEPTION("Not implimented."); } void Graphics::setFont(Font* font) diff --git a/src/guichan/include/guichan/widgets/imagebutton.hpp b/src/guichan/include/guichan/widgets/imagebutton.hpp deleted file mode 100644 index 42b217fbc..000000000 --- a/src/guichan/include/guichan/widgets/imagebutton.hpp +++ /dev/null @@ -1,124 +0,0 @@ -/* _______ __ __ __ ______ __ __ _______ __ __ - * / _____/\ / /\ / /\ / /\ / ____/\ / /\ / /\ / ___ /\ / |\/ /\ - * / /\____\// / // / // / // /\___\// /_// / // /\_/ / // , |/ / / - * / / /__ / / // / // / // / / / ___ / // ___ / // /| ' / / - * / /_// /\ / /_// / // / // /_/_ / / // / // /\_/ / // / | / / - * /______/ //______/ //_/ //_____/\ /_/ //_/ //_/ //_/ //_/ /|_/ / - * \______\/ \______\/ \_\/ \_____\/ \_\/ \_\/ \_\/ \_\/ \_\/ \_\/ - * - * Copyright (c) 2004 - 2008 Olof Naessén and Per Larsson - * Copyright (C) 2011-2012 The ManaPlus Developers - * - * - * Per Larsson a.k.a finalman - * Olof Naessén a.k.a jansem/yakslem - * - * Visit: http://guichan.sourceforge.net - * - * License: (BSD) - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name of Guichan nor the names of its contributors may - * be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef GCN_IMAGEBUTTON_HPP -#define GCN_IMAGEBUTTON_HPP - -#include "guichan/platform.hpp" -#include "guichan/widgets/button.hpp" - -namespace gcn -{ - class Image; - - /** - * An implementation of a regular clickable button. Unlike a normal button an image - * button is capable of displaying an image instead of a simple text caption. - * Whenever an image button is clicked an action event will be sent to the action - * listener's of the image button. - * - * @see Button - */ - class GCN_CORE_DECLSPEC ImageButton : public gcn::Button - { - public: - /** - * Default constructor. - */ - ImageButton(); - - /** - * Constructor. - * - * @param filename The filename of the image to display. - */ - ImageButton(const std::string& filename); - - /** - * Constructor. - * - * @param image The image to display. - */ - ImageButton(const Image* image); - - /** - * Destructor. - */ - virtual ~ImageButton(); - - /** - * Sets the image to display. Existing Image is freed automatically, - * if it was loaded internally. - * - * @param image The image to display. - */ - void setImage(const Image* image); - - /** - * Gets current image. - * - * @return The current image. - */ - const Image* getImage() const; - - - // Inherited from Widget - - void draw(gcn::Graphics* graphics); - - protected: - /** - * The image to display. - */ - const Image* mImage; - - /** - * True if the image has been loaded internally, false otherwise. - * An image not loaded internally should not be deleted in the - * destructor. - */ - bool mInternalImage; - }; -} -#endif diff --git a/src/guichan/widgets/icon.cpp b/src/guichan/widgets/icon.cpp index dca3400ba..d3d4d65ff 100644 --- a/src/guichan/widgets/icon.cpp +++ b/src/guichan/widgets/icon.cpp @@ -106,13 +106,7 @@ namespace gcn return mImage; } - void Icon::draw(Graphics* graphics) + void Icon::draw(Graphics* graphics A_UNUSED) { - if (mImage) - { - const int x = (getWidth() - mImage->getWidth()) / 2; - const int y = (getHeight() - mImage->getHeight()) / 2; - graphics->drawImage(mImage, x, y); - } } } diff --git a/src/guichan/widgets/imagebutton.cpp b/src/guichan/widgets/imagebutton.cpp deleted file mode 100644 index 5a0000be2..000000000 --- a/src/guichan/widgets/imagebutton.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* _______ __ __ __ ______ __ __ _______ __ __ - * / _____/\ / /\ / /\ / /\ / ____/\ / /\ / /\ / ___ /\ / |\/ /\ - * / /\____\// / // / // / // /\___\// /_// / // /\_/ / // , |/ / / - * / / /__ / / // / // / // / / / ___ / // ___ / // /| ' / / - * / /_// /\ / /_// / // / // /_/_ / / // / // /\_/ / // / | / / - * /______/ //______/ //_/ //_____/\ /_/ //_/ //_/ //_/ //_/ /|_/ / - * \______\/ \______\/ \_\/ \_____\/ \_\/ \_\/ \_\/ \_\/ \_\/ \_\/ - * - * Copyright (c) 2004 - 2008 Olof Naessén and Per Larsson - * Copyright (C) 2011-2012 The ManaPlus Developers - * - * - * Per Larsson a.k.a finalman - * Olof Naessén a.k.a jansem/yakslem - * - * Visit: http://guichan.sourceforge.net - * - * License: (BSD) - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name of Guichan nor the names of its contributors may - * be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * For comments regarding functions please see the header file. - */ - -#include "guichan/widgets/imagebutton.hpp" - -#include "guichan/graphics.hpp" -#include "guichan/image.hpp" - -#include "debug.h" - -namespace gcn -{ - ImageButton::ImageButton() : - mImage(nullptr), - mInternalImage(false) - { - setWidth(0); - setHeight(0); - } - - ImageButton::ImageButton(const std::string& filename) : - mImage(nullptr), - mInternalImage(false) - { - mImage = Image::load(filename); - mInternalImage = true; - setWidth(mImage->getWidth() + mImage->getWidth() / 2); - setHeight(mImage->getHeight() + mImage->getHeight() / 2); - } - - ImageButton::ImageButton(const Image* image) : - mImage(image), - mInternalImage(false) - { - setWidth(mImage->getWidth() + mImage->getWidth() / 2); - setHeight(mImage->getHeight() + mImage->getHeight() / 2); - } - - ImageButton::~ImageButton() - { - if (mInternalImage) - { - delete mImage; - mImage = nullptr; - } - } - - void ImageButton::setImage(const Image* image) - { - if (mInternalImage) - { - delete mImage; - mImage = nullptr; - } - - mImage = image; - mInternalImage = false; - } - - const Image* ImageButton::getImage() const - { - return mImage; - } - - void ImageButton::draw(Graphics* graphics) - { - gcn::Color faceColor = getBaseColor(); - gcn::Color highlightColor, shadowColor; - int alpha = getBaseColor().a; - - if (isPressed()) - { - faceColor = faceColor - 0x303030; - faceColor.a = alpha; - highlightColor = faceColor - 0x303030; - highlightColor.a = alpha; - shadowColor = faceColor + 0x303030; - shadowColor.a = alpha; - } - else - { - highlightColor = faceColor + 0x303030; - highlightColor.a = alpha; - shadowColor = faceColor - 0x303030; - shadowColor.a = alpha; - } - - graphics->setColor(faceColor); - graphics->fillRectangle(Rectangle(1, 1, - getDimension().width - 1, getHeight() - 1)); - - graphics->setColor(highlightColor); - graphics->drawLine(0, 0, getWidth() - 1, 0); - graphics->drawLine(0, 1, 0, getHeight() - 1); - - graphics->setColor(shadowColor); - graphics->drawLine(getWidth() - 1, 1, getWidth() - 1, getHeight() - 1); - graphics->drawLine(1, getHeight() - 1, - getWidth() - 1, getHeight() - 1); - - graphics->setColor(getForegroundColor()); - - const int textX = (getWidth() - (mImage - ? mImage->getWidth() : 0) ) / 2; - const int textY = (getHeight() - (mImage - ? mImage->getHeight() : 0) ) / 2; - - if (isPressed()) - { - if (mImage) - graphics->drawImage(mImage, textX + 1, textY + 1); - } - else - { - if (mImage) - graphics->drawImage(mImage, textX, textY); - - if (isFocused()) - { - graphics->drawRectangle(Rectangle(2, 2, - getWidth() - 4, getHeight() - 4)); - } - } - } -} diff --git a/src/guichanfwd.h b/src/guichanfwd.h index 85a9c5cfa..ac63323c2 100644 --- a/src/guichanfwd.h +++ b/src/guichanfwd.h @@ -50,7 +50,6 @@ namespace gcn class HGEInput; class Icon; class Image; - class ImageButton; class InputEvent; class ImageFont; class Input; diff --git a/src/itemshortcut.cpp b/src/itemshortcut.cpp index 9cce55eb7..aa78065c9 100644 --- a/src/itemshortcut.cpp +++ b/src/itemshortcut.cpp @@ -74,9 +74,8 @@ void ItemShortcut::load(bool oldConfig) } for (int i = 0; i < SHORTCUT_ITEMS; i++) { - int itemId = static_cast<int>(cfg->getValue(name + toString(i), -1)); - int itemColor = static_cast<int>( - cfg->getValue(color + toString(i), 1)); + int itemId = cfg->getValue(name + toString(i), -1); + int itemColor = cfg->getValue(color + toString(i), 1); mItems[i] = itemId; mItemColors[i] = itemColor; |