diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/setup_theme.cpp | 2 | ||||
-rw-r--r-- | src/gui/theme.cpp | 6 | ||||
-rw-r--r-- | src/gui/theme.h | 4 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/gui/setup_theme.cpp b/src/gui/setup_theme.cpp index 8002ceff8..f46202eb7 100644 --- a/src/gui/setup_theme.cpp +++ b/src/gui/setup_theme.cpp @@ -500,6 +500,8 @@ void Setup_Theme::apply() if (size >= 0) mNpcFontSizeDropDown->setSelected(size); } + if (mInfo->guiAlpha > 0.01f) + config.setValue("guialpha", mInfo->guiAlpha); } config.setValue("theme", mTheme); config.setValue("lang", mLang); diff --git a/src/gui/theme.cpp b/src/gui/theme.cpp index 999b2ec2b..8f10a9372 100644 --- a/src/gui/theme.cpp +++ b/src/gui/theme.cpp @@ -1226,6 +1226,10 @@ ImageSet *Theme::getImageSetFromThemeXml(const std::string &name, info->name = atoi(reinterpret_cast<const char*>(\ xmlNodeGetContent(infoNode))) +#define readFloatValue(name) \ + info->name = atof(reinterpret_cast<const char*>(\ + xmlNodeGetContent(infoNode))) + ThemeInfo *Theme::loadInfo(const std::string &themeName) { std::string path; @@ -1271,6 +1275,8 @@ ThemeInfo *Theme::loadInfo(const std::string &themeName) readIntValue(fontSize); else if (xmlNameEqual(infoNode, "npcfontSize")) readIntValue(npcfontSize); + else if (xmlNameEqual(infoNode, "guialpha")) + readFloatValue(guiAlpha); else if (xmlNameEqual(infoNode, fontSize2.c_str())) readIntValue(fontSize); else if (xmlNameEqual(infoNode, npcfontSize2.c_str())) diff --git a/src/gui/theme.h b/src/gui/theme.h index 38e3b7024..3a56cfcfb 100644 --- a/src/gui/theme.h +++ b/src/gui/theme.h @@ -53,7 +53,8 @@ struct ThemeInfo final secureFont(), japanFont(), fontSize(0), - npcfontSize(0) + npcfontSize(0), + guiAlpha(0.0f) { } std::string name; @@ -66,6 +67,7 @@ struct ThemeInfo final std::string japanFont; int fontSize; int npcfontSize; + float guiAlpha; }; class Skin final |