diff options
author | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2012-07-31 17:55:40 +0200 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn@lindeijer.nl> | 2012-08-12 21:53:47 +0200 |
commit | fa7cdef831e160a275c4612a5bd4274a1fe095ea (patch) | |
tree | f49286e9e2c3428a67b2ac54593ba24fcad610af /src | |
parent | dfb24aff4c683471fec95392a9d3a46687f40f28 (diff) | |
download | mana-fa7cdef831e160a275c4612a5bd4274a1fe095ea.tar.gz mana-fa7cdef831e160a275c4612a5bd4274a1fe095ea.tar.bz2 mana-fa7cdef831e160a275c4612a5bd4274a1fe095ea.tar.xz mana-fa7cdef831e160a275c4612a5bd4274a1fe095ea.zip |
Removed ImageLoader and ProxyImage classes
They allowed using gcn::Image, which in turns allows using gcn::Icon
and gcn::ImageFont, but none of this is actually used anymore.
Reviewed-by: Erik Schilling
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/graphics.cpp | 10 | ||||
-rw-r--r-- | src/graphics.h | 6 | ||||
-rw-r--r-- | src/gui/gui.cpp | 5 | ||||
-rw-r--r-- | src/resources/imageloader.cpp | 98 | ||||
-rw-r--r-- | src/resources/imageloader.h | 69 |
6 files changed, 0 insertions, 190 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9501b617..b9aa6bb7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -375,8 +375,6 @@ SET(SRCS resources/hairdb.h resources/image.cpp resources/image.h - resources/imageloader.cpp - resources/imageloader.h resources/imageset.h resources/imageset.cpp resources/imagewriter.cpp diff --git a/src/graphics.cpp b/src/graphics.cpp index 7b56d974..ac3735f5 100644 --- a/src/graphics.cpp +++ b/src/graphics.cpp @@ -25,7 +25,6 @@ #include "log.h" #include "resources/image.h" -#include "resources/imageloader.h" #include "utils/gettext.h" @@ -219,15 +218,6 @@ bool Graphics::drawImage(Image *image, int srcX, int srcY, int dstX, int dstY, return !(SDL_gfxBlitRGBA(image->mSDLSurface, &srcRect, mTarget, &dstRect) < 0); } -void Graphics::drawImage(gcn::Image const *image, int srcX, int srcY, - int dstX, int dstY, int width, int height) -{ - ProxyImage const *srcImage = - dynamic_cast< ProxyImage const * >(image); - assert(srcImage); - drawImage(srcImage->getImage(), srcX, srcY, dstX, dstY, width, height, true); -} - void Graphics::drawImagePattern(Image *image, int x, int y, int w, int h) { // Check that preconditions for blitting are met. diff --git a/src/graphics.h b/src/graphics.h index 6a17aab4..dc3d249e 100644 --- a/src/graphics.h +++ b/src/graphics.h @@ -102,12 +102,6 @@ class Graphics : public gcn::SDLGraphics bool drawImage(Image *image, int x, int y); /** - * Overrides with our own drawing method. - */ - void drawImage(gcn::Image const *image, int srcX, int srcY, - int dstX, int dstY, int width, int height); - - /** * Draws a resclaled version of the image */ bool drawRescaledImage(Image *image, int srcX, int srcY, diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 78fc42fb..019d3002 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -37,7 +37,6 @@ #include "resources/image.h" #include "resources/imageset.h" -#include "resources/imageloader.h" #include "resources/resourcemanager.h" #include "resources/theme.h" @@ -88,10 +87,6 @@ Gui::Gui(Graphics *graphics): // Set graphics setGraphics(graphics); - // Set image loader - static ImageLoader imageLoader; - gcn::Image::setImageLoader(&imageLoader); - // Set input guiInput = new SDLInput; setInput(guiInput); diff --git a/src/resources/imageloader.cpp b/src/resources/imageloader.cpp deleted file mode 100644 index 262ec98c..00000000 --- a/src/resources/imageloader.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/* - * The Mana Client - * Copyright (C) 2007-2009 The Mana World Development Team - * Copyright (C) 2009-2012 The Mana Developers - * - * This file is part of The Mana 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/imageloader.h" - -#include "resources/image.h" -#include "resources/resourcemanager.h" - -#include <guichan/color.hpp> - -#include <guichan/sdl/sdlpixel.hpp> - -#include <cassert> - -ProxyImage::ProxyImage(SDL_Surface *s): - mImage(NULL), mSDLImage(s) -{ -} - -ProxyImage::~ProxyImage() -{ - free(); -} - -void ProxyImage::free() -{ - if (mSDLImage) - { - SDL_FreeSurface(mSDLImage); - mSDLImage = NULL; - } - else if (mImage) - { - delete mImage; - mImage = NULL; - } -} - -int ProxyImage::getWidth() const -{ - return mSDLImage ? mSDLImage->w : mImage->getWidth(); -} - -int ProxyImage::getHeight() const -{ - return mSDLImage ? mSDLImage->h : mImage->getHeight(); -} - -gcn::Color ProxyImage::getPixel(int x, int y) -{ - assert(mSDLImage); - return gcn::SDLgetPixel(mSDLImage, x, y); -} - -void ProxyImage::putPixel(int x, int y, gcn::Color const &color) -{ - assert(mSDLImage); - gcn::SDLputPixel(mSDLImage, x, y, color); -} - -void ProxyImage::convertToDisplayFormat() -{ - assert(mSDLImage); - /* The picture is most probably full of the pink pixels Guichan uses for - transparency, as this function will only be called when setting an image - font. Get rid of them. */ - SDL_SetColorKey(mSDLImage, SDL_SRCCOLORKEY, - SDL_MapRGB(mSDLImage->format, 255, 0, 255)); - mImage = ::Image::load(mSDLImage); - SDL_FreeSurface(mSDLImage); - mSDLImage = NULL; -} - -gcn::Image *ImageLoader::load(const std::string &filename, bool convert) -{ - ResourceManager *resman = ResourceManager::getInstance(); - ProxyImage *i = new ProxyImage(resman->loadSDLSurface(filename)); - if (convert) i->convertToDisplayFormat(); - return i; -} diff --git a/src/resources/imageloader.h b/src/resources/imageloader.h deleted file mode 100644 index 10592142..00000000 --- a/src/resources/imageloader.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * The Mana Client - * Copyright (C) 2007-2009 The Mana World Development Team - * Copyright (C) 2009-2012 The Mana Developers - * - * This file is part of The Mana 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 IMAGELOADER_H -#define IMAGELOADER_H - -#include <guichan/image.hpp> -#include <guichan/imageloader.hpp> - -#include <string> - -class Image; -struct SDL_Surface; - -class ProxyImage : public gcn::Image -{ - public: - ProxyImage(SDL_Surface *); - ~ProxyImage(); - - void free(); - int getWidth() const; - int getHeight() const; - gcn::Color getPixel(int x, int y); - void putPixel(int x, int y, gcn::Color const &color); - void convertToDisplayFormat(); - - /** - * Gets the image handled by this proxy. - */ - ::Image *getImage() const - { return mImage; } - - private: - ::Image *mImage; /**< The real image. */ - - /** - * An SDL surface kept around until Guichan is done reading pixels from - * an OpenGL texture. - */ - SDL_Surface *mSDLImage; -}; - -class ImageLoader : public gcn::ImageLoader -{ - public: - gcn::Image *load(const std::string &filename, - bool convertToDisplayFormat); -}; - -#endif |