aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/ThemeEngine.cpp34
-rw-r--r--gui/ThemeEngine.h1
-rw-r--r--gui/launcher.cpp6
-rw-r--r--gui/launcher.h2
-rw-r--r--gui/themes/scummmodern.zipbin198102 -> 199391 bytes
-rw-r--r--gui/themes/scummmodern/eraser.bmpbin0 -> 890 bytes
-rw-r--r--gui/themes/scummmodern/scummmodern_gfx.stx3
-rw-r--r--gui/themes/scummmodern/search.bmpbin0 -> 822 bytes
-rw-r--r--gui/themes/scummmodern/search.pngbin555 -> 0 bytes
-rwxr-xr-xgui/themes/scummtheme.py2
10 files changed, 20 insertions, 28 deletions
diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp
index e9aaf7d016..4952d0f2ef 100644
--- a/gui/ThemeEngine.cpp
+++ b/gui/ThemeEngine.cpp
@@ -31,7 +31,6 @@
#include "graphics/cursorman.h"
#include "graphics/fontman.h"
#include "graphics/imagedec.h"
-#include "graphics/png.h"
#include "graphics/surface.h"
#include "graphics/VectorRenderer.h"
#include "graphics/fonts/bdf.h"
@@ -45,7 +44,8 @@ namespace GUI {
const char * const ThemeEngine::kImageLogo = "logo.bmp";
const char * const ThemeEngine::kImageLogoSmall = "logo_small.bmp";
-const char * const ThemeEngine::kImageSearch = "search.png";
+const char * const ThemeEngine::kImageSearch = "search.bmp";
+const char * const ThemeEngine::kImageEraser = "eraser.bmp";
struct TextDrawData {
const Graphics::Font *_fontPtr;
@@ -621,32 +621,14 @@ bool ThemeEngine::addBitmap(const Common::String &filename) {
Graphics::Surface *surf = _bitmaps[filename];
if (surf)
return true;
- if (filename.hasSuffix(".png") || filename.hasSuffix(".PNG")) {
- Graphics::PNG png;
- Common::SeekableReadStream *stream;
- Common::File file;
-
- if (!file.open(filename)) {
- stream = _themeArchive->createReadStreamForMember(filename);
- } else {
- stream = &file;
- }
+ // If not, try to load the bitmap via the ImageDecoder class.
+ surf = Graphics::ImageDecoder::loadFile(filename, _overlayFormat);
+ if (!surf && _themeArchive) {
+ Common::SeekableReadStream *stream = _themeArchive->createReadStreamForMember(filename);
if (stream) {
- if (png.read(stream))
- surf = png.getSurface(_overlayFormat);
- else
- error("Cannot read png image: %s", filename.c_str());
- }
- } else {
- // If not, try to load the bitmap via the ImageDecoder class.
- surf = Graphics::ImageDecoder::loadFile(filename, _overlayFormat);
- if (!surf && _themeArchive) {
- Common::SeekableReadStream *stream = _themeArchive->createReadStreamForMember(filename);
- if (stream) {
- surf = Graphics::ImageDecoder::loadFile(*stream, _overlayFormat);
- delete stream;
- }
+ surf = Graphics::ImageDecoder::loadFile(*stream, _overlayFormat);
+ delete stream;
}
}
diff --git a/gui/ThemeEngine.h b/gui/ThemeEngine.h
index 5fbea7e301..5783401570 100644
--- a/gui/ThemeEngine.h
+++ b/gui/ThemeEngine.h
@@ -228,6 +228,7 @@ public:
static const char *const kImageLogo; ///< ScummVM logo used in the launcher
static const char *const kImageLogoSmall; ///< ScummVM logo used in the GMM
static const char *const kImageSearch; ///< Search tool image used in the launcher
+ static const char *const kImageEraser; ///< Clear input image used in the launcher
/**
* Graphics mode enumeration.
diff --git a/gui/launcher.cpp b/gui/launcher.cpp
index 4c5a6e3706..8689967587 100644
--- a/gui/launcher.cpp
+++ b/gui/launcher.cpp
@@ -597,7 +597,13 @@ LauncherDialog::LauncherDialog()
_searchDesc = new StaticTextWidget(this, "Launcher.SearchDesc", _("Search:"));
_searchWidget = new EditTextWidget(this, "Launcher.Search", _search, 0, kSearchCmd);
+#ifndef DISABLE_FANCY_THEMES
+ _searchClearPicButton = new PicButtonWidget(this, "Launcher.SearchClearButton", _("Clear value"), kSearchClearCmd);
+ _searchClearPicButton->useThemeTransparency(true);
+ _searchClearPicButton->setGfx(g_gui.theme()->getImageSurface(ThemeEngine::kImageEraser));
+#else
_searchClearButton = new ButtonWidget(this, "Launcher.SearchClearButton", "C", _("Clear value"), kSearchClearCmd);
+#endif
// Add list with game titles
_list = new ListWidget(this, "Launcher.GameList", 0, kListSearchCmd);
diff --git a/gui/launcher.h b/gui/launcher.h
index f27b4df202..ad6b562380 100644
--- a/gui/launcher.h
+++ b/gui/launcher.h
@@ -31,6 +31,7 @@ class BrowserDialog;
class CommandSender;
class ListWidget;
class ButtonWidget;
+class PicButtonWidget;
class GraphicsWidget;
class StaticTextWidget;
class EditTextWidget;
@@ -63,6 +64,7 @@ protected:
GraphicsWidget *_searchPic;
#endif
StaticTextWidget *_searchDesc;
+ PicButtonWidget *_searchClearPicButton;
ButtonWidget *_searchClearButton;
StringArray _domains;
BrowserDialog *_browser;
diff --git a/gui/themes/scummmodern.zip b/gui/themes/scummmodern.zip
index 57e74aa9fc..f8fba61b47 100644
--- a/gui/themes/scummmodern.zip
+++ b/gui/themes/scummmodern.zip
Binary files differ
diff --git a/gui/themes/scummmodern/eraser.bmp b/gui/themes/scummmodern/eraser.bmp
new file mode 100644
index 0000000000..6e5315f1c3
--- /dev/null
+++ b/gui/themes/scummmodern/eraser.bmp
Binary files differ
diff --git a/gui/themes/scummmodern/scummmodern_gfx.stx b/gui/themes/scummmodern/scummmodern_gfx.stx
index 4a2936643d..24e41a84bc 100644
--- a/gui/themes/scummmodern/scummmodern_gfx.stx
+++ b/gui/themes/scummmodern/scummmodern_gfx.stx
@@ -98,7 +98,8 @@
<bitmap filename = 'radiobutton.bmp'/>
<bitmap filename = 'radiobutton_empty.bmp'/>
<bitmap filename = 'logo_small.bmp'/>
- <bitmap filename = 'search.png'/>
+ <bitmap filename = 'search.bmp'/>
+ <bitmap filename = 'eraser.bmp'/>
</bitmaps>
<fonts>
diff --git a/gui/themes/scummmodern/search.bmp b/gui/themes/scummmodern/search.bmp
new file mode 100644
index 0000000000..0d2b098445
--- /dev/null
+++ b/gui/themes/scummmodern/search.bmp
Binary files differ
diff --git a/gui/themes/scummmodern/search.png b/gui/themes/scummmodern/search.png
deleted file mode 100644
index 8c8c07a55e..0000000000
--- a/gui/themes/scummmodern/search.png
+++ /dev/null
Binary files differ
diff --git a/gui/themes/scummtheme.py b/gui/themes/scummtheme.py
index 874df03017..e4e9549265 100755
--- a/gui/themes/scummtheme.py
+++ b/gui/themes/scummtheme.py
@@ -5,7 +5,7 @@ import re
import os
import zipfile
-THEME_FILE_EXTENSIONS = ('.stx', '.bmp', '.fcc', '.png')
+THEME_FILE_EXTENSIONS = ('.stx', '.bmp', '.fcc')
def buildTheme(themeName):
if not os.path.isdir(themeName) or not os.path.isfile(os.path.join(themeName, "THEMERC")):