diff options
| author | Johannes Schickel | 2009-01-20 18:31:35 +0000 | 
|---|---|---|
| committer | Johannes Schickel | 2009-01-20 18:31:35 +0000 | 
| commit | 4c62af49c24a93704b32d9515609924a9499d987 (patch) | |
| tree | 19931ea7f379f07c97205dd01305b09058c9d75b /backends/vkeybd/virtual-keyboard-parser.cpp | |
| parent | 496ab478a26742e49520d2c4ea8af068d1af8602 (diff) | |
| download | scummvm-rg350-4c62af49c24a93704b32d9515609924a9499d987.tar.gz scummvm-rg350-4c62af49c24a93704b32d9515609924a9499d987.tar.bz2 scummvm-rg350-4c62af49c24a93704b32d9515609924a9499d987.zip | |
Removed ImageMan again, now the code uses Graphics::ImageDecoder directly.
svn-id: r35960
Diffstat (limited to 'backends/vkeybd/virtual-keyboard-parser.cpp')
| -rw-r--r-- | backends/vkeybd/virtual-keyboard-parser.cpp | 27 | 
1 files changed, 15 insertions, 12 deletions
| diff --git a/backends/vkeybd/virtual-keyboard-parser.cpp b/backends/vkeybd/virtual-keyboard-parser.cpp index 5dcb859191..74bf82947c 100644 --- a/backends/vkeybd/virtual-keyboard-parser.cpp +++ b/backends/vkeybd/virtual-keyboard-parser.cpp @@ -31,7 +31,9 @@  #include "common/keyboard.h"  #include "common/util.h"  #include "common/system.h" -#include "backends/vkeybd/imageman.h" +#include "common/archive.h" + +#include "graphics/imagedec.h"  namespace Common { @@ -150,8 +152,8 @@ bool VirtualKeyboardParser::parserCallback_mode(ParserNode *node) {  			return true;  		} else {  			// remove data relating to old resolution -			ImageMan.unregisterSurface(_mode->bitmapName);  			_mode->bitmapName.clear(); +			delete _mode->image;  			_mode->image = 0;  			_mode->imageMap.removeAllAreas();  			delete _mode->displayArea; @@ -249,16 +251,17 @@ bool VirtualKeyboardParser::parserCallback_layout(ParserNode *node) {  	}  	_mode->bitmapName = node->values["bitmap"]; -	_mode->image = ImageMan.getSurface(_mode->bitmapName); -	if (!_mode->image) { -		if (!ImageMan.registerSurface(_mode->bitmapName, 0)) -			return parserError("Error loading bitmap '%s'", _mode->bitmapName.c_str()); - -		_mode->image = ImageMan.getSurface(_mode->bitmapName); -		if (!_mode->image) -			return parserError("Error loading bitmap '%s'", _mode->bitmapName.c_str()); -	} -	 + +	SeekableReadStream *file = _keyboard->_fileArchive->openFile(_mode->bitmapName); +	if (!file) +		return parserError("Bitmap '%s' not found", _mode->bitmapName.c_str()); + +	_mode->image = Graphics::ImageDecoder::loadFile(*file); +	delete file; + +	if (!_mode->image) +		return parserError("Error loading bitmap '%s'", _mode->bitmapName.c_str()); +  	const Graphics::PixelFormat format = g_system->getOverlayFormat();  	int r, g, b;  	if (node->values.contains("transparent_color")) { | 
