aboutsummaryrefslogtreecommitdiff
path: root/engines/sword25/gfx/image/imageloader.cpp
diff options
context:
space:
mode:
authorMax Horn2010-10-24 01:32:15 +0000
committerMax Horn2010-10-24 01:32:15 +0000
commit7cc8811a5c9b63703c2131841745cd5b7e5f009a (patch)
tree16a320c51b97695e70d4abf2a0b4886d0dee35e6 /engines/sword25/gfx/image/imageloader.cpp
parent1e16d576ca4798bd1fac640330c5e2faf176658a (diff)
downloadscummvm-rg350-7cc8811a5c9b63703c2131841745cd5b7e5f009a.tar.gz
scummvm-rg350-7cc8811a5c9b63703c2131841745cd5b7e5f009a.tar.bz2
scummvm-rg350-7cc8811a5c9b63703c2131841745cd5b7e5f009a.zip
SWORD25: Merge classes PNGLoader, ImageLoader and ImageLoaderManager
This looses some flexibility when it comes to supporting other image formats. But since the game does not use other image formats, this seems rather irrelevant, compared to how much simpler the code now is. svn-id: r53755
Diffstat (limited to 'engines/sword25/gfx/image/imageloader.cpp')
-rw-r--r--engines/sword25/gfx/image/imageloader.cpp106
1 files changed, 0 insertions, 106 deletions
diff --git a/engines/sword25/gfx/image/imageloader.cpp b/engines/sword25/gfx/image/imageloader.cpp
deleted file mode 100644
index 850507842e..0000000000
--- a/engines/sword25/gfx/image/imageloader.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * 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 (at your option) 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, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- *
- */
-
-/*
- * This code is based on Broken Sword 2.5 engine
- *
- * Copyright (c) Malte Thiesen, Daniel Queteschiner and Michael Elsdoerfer
- *
- * Licensed under GNU GPL v2
- *
- */
-
-#include "sword25/gfx/image/imageloader.h"
-
-#include "sword25/gfx/image/pngloader.h"
-
-DECLARE_SINGLETON(Sword25::ImageLoaderManager)
-
-namespace Sword25 {
-
-#define BS_LOG_PREFIX "IMAGELOADER"
-
-
-bool ImageLoaderManager::loadImage(const byte *pFileData, uint fileSize,
- GraphicEngine::COLOR_FORMATS colorFormat,
- byte *&pUncompressedData,
- int &width, int &height,
- int &pitch) {
-
- // Find a suitable ImageLoader and decode the image
- ImageLoader *pLoader = findSuitableImageLoader(pFileData, fileSize);
- if (pLoader) {
- return pLoader->decodeImage(pFileData, fileSize,
- colorFormat,
- pUncompressedData,
- width, height,
- pitch);
- }
-
- return false;
-}
-
-bool ImageLoaderManager::extractImageProperties(const byte *pFileData, uint fileSize,
- GraphicEngine::COLOR_FORMATS &colorFormat,
- int &width, int &height) {
-
- // Find a suitable ImageLoader and extra the image properties
- ImageLoader *pLoader = findSuitableImageLoader(pFileData, fileSize);
- if (pLoader) {
- return pLoader->imageProperties(pFileData, fileSize,
- colorFormat,
- width, height);
- }
-
- return false;
-}
-
-ImageLoaderManager::ImageLoaderManager() {
- _imageLoaderList.push_back(new PNGLoader());
-}
-
-ImageLoaderManager::~ImageLoaderManager() {
- while (!_imageLoaderList.empty()) {
- delete _imageLoaderList.back();
- _imageLoaderList.pop_back();
- }
-}
-
-ImageLoader *ImageLoaderManager::findSuitableImageLoader(const byte *pFileData, uint fileSize) {
- // Iterate over all registered ImageLoader instances until we find
- // one that supports the image.
- Common::List<ImageLoader *>::iterator iter = _imageLoaderList.begin();
- for (; iter != _imageLoaderList.end(); ++iter) {
- if ((*iter)->isCorrectImageFormat(pFileData, fileSize)) {
- return (*iter);
- }
- }
-
- // No suitable ImageLoader was found :-(
- BS_LOG_ERRORLN("Could not find suitable image loader for image data.");
- return NULL;
-}
-
-} // End of namespace Sword25