aboutsummaryrefslogtreecommitdiff
path: root/gui/ThemeEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/ThemeEngine.cpp')
-rw-r--r--gui/ThemeEngine.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/gui/ThemeEngine.cpp b/gui/ThemeEngine.cpp
index 9cecefc6cd..ddf346dc7b 100644
--- a/gui/ThemeEngine.cpp
+++ b/gui/ThemeEngine.cpp
@@ -45,14 +45,40 @@ namespace GUI {
using namespace Graphics;
-const char *ThemeEngine::rendererModeLabels[] = {
- "Disabled GFX",
- "Standard Renderer (16bpp)",
+const ThemeEngine::Renderer ThemeEngine::_rendererModes[] = {
+ { "Disabled GFX", "none", kGfxDisabled },
+ { "Standard Renderer (16bpp)", "normal_16bpp", kGfxStandard16bit },
#ifndef DISABLE_FANCY_THEMES
- "Antialiased Renderer (16bpp)"
+ { "Antialiased Renderer (16bpp)", "aa_16bpp", kGfxAntialias16bit }
#endif
};
+const uint ThemeEngine::_rendererModesSize = ARRAYSIZE(ThemeEngine::_rendererModes);
+
+const ThemeEngine::GraphicsMode ThemeEngine::_defaultRendererMode =
+#ifndef DISABLE_FANCY_THEMES
+ ThemeEngine::kGfxAntialias16bit;
+#else
+ ThemeEngine::kGfxStandard16bit;
+#endif
+
+ThemeEngine::GraphicsMode ThemeEngine::findMode(const Common::String &cfg) {
+ for (uint i = 0; i < _rendererModesSize; ++i) {
+ if (cfg.equalsIgnoreCase(_rendererModes[i].cfg))
+ return _rendererModes[i].mode;
+ }
+
+ return kGfxDisabled;
+}
+
+const char *ThemeEngine::findModeConfigName(GraphicsMode mode) {
+ for (uint i = 0; i < _rendererModesSize; ++i) {
+ if (mode == _rendererModes[i].mode)
+ return _rendererModes[i].cfg;
+ }
+
+ return findModeConfigName(kGfxDisabled);
+}
/**********************************************************
* ThemeItem functions for drawing queues.