diff options
-rw-r--r-- | gui/ThemeEngine.cpp | 34 | ||||
-rw-r--r-- | gui/ThemeEngine.h | 1 | ||||
-rw-r--r-- | gui/launcher.cpp | 6 | ||||
-rw-r--r-- | gui/launcher.h | 2 | ||||
-rw-r--r-- | gui/themes/scummmodern.zip | bin | 198102 -> 199391 bytes | |||
-rw-r--r-- | gui/themes/scummmodern/eraser.bmp | bin | 0 -> 890 bytes | |||
-rw-r--r-- | gui/themes/scummmodern/scummmodern_gfx.stx | 3 | ||||
-rw-r--r-- | gui/themes/scummmodern/search.bmp | bin | 0 -> 822 bytes | |||
-rw-r--r-- | gui/themes/scummmodern/search.png | bin | 555 -> 0 bytes | |||
-rwxr-xr-x | gui/themes/scummtheme.py | 2 |
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 Binary files differindex 57e74aa9fc..f8fba61b47 100644 --- a/gui/themes/scummmodern.zip +++ b/gui/themes/scummmodern.zip diff --git a/gui/themes/scummmodern/eraser.bmp b/gui/themes/scummmodern/eraser.bmp Binary files differnew file mode 100644 index 0000000000..6e5315f1c3 --- /dev/null +++ b/gui/themes/scummmodern/eraser.bmp 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 Binary files differnew file mode 100644 index 0000000000..0d2b098445 --- /dev/null +++ b/gui/themes/scummmodern/search.bmp diff --git a/gui/themes/scummmodern/search.png b/gui/themes/scummmodern/search.png Binary files differdeleted file mode 100644 index 8c8c07a55e..0000000000 --- a/gui/themes/scummmodern/search.png +++ /dev/null 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")): |