aboutsummaryrefslogtreecommitdiff
path: root/backends/vkeybd/virtual-keyboard-parser.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2009-01-20 18:31:35 +0000
committerJohannes Schickel2009-01-20 18:31:35 +0000
commit4c62af49c24a93704b32d9515609924a9499d987 (patch)
tree19931ea7f379f07c97205dd01305b09058c9d75b /backends/vkeybd/virtual-keyboard-parser.cpp
parent496ab478a26742e49520d2c4ea8af068d1af8602 (diff)
downloadscummvm-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.cpp27
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")) {