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")) { |