From a15031733b27cd71516b419056e4ac765ab9c60e Mon Sep 17 00:00:00 2001 From: Aloshi Date: Tue, 9 Jul 2013 18:52:10 -0500 Subject: [PATCH 1/2] Fix crash when no fast-select font specified --- src/components/GuiFastSelect.cpp | 9 ++++++--- src/components/ThemeComponent.cpp | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/GuiFastSelect.cpp b/src/components/GuiFastSelect.cpp index c53893cf5..555c3f571 100644 --- a/src/components/GuiFastSelect.cpp +++ b/src/components/GuiFastSelect.cpp @@ -41,11 +41,14 @@ void GuiFastSelect::render() mBox->render(); - mTheme->getFastSelectFont()->drawCenteredText(LETTERS.substr(mLetterID, 1), 0, (int)(sh * 0.5f - (mTheme->getFastSelectFont()->getHeight() * 0.5f)), mTextColor); - mTheme->getDescriptionFont()->drawCenteredText("Sort order:", 0, (int)(sh * 0.6f - (mTheme->getDescriptionFont()->getHeight() * 0.5f)), mTextColor); + std::shared_ptr letterFont = mTheme->getFastSelectFont(); + std::shared_ptr subtextFont = mTheme->getDescriptionFont(); + + letterFont->drawCenteredText(LETTERS.substr(mLetterID, 1), 0, (int)(sh * 0.5f - (letterFont->getHeight() * 0.5f)), mTextColor); + subtextFont->drawCenteredText("Sort order:", 0, (int)(sh * 0.6f - (subtextFont->getHeight() * 0.5f)), mTextColor); std::string sortString = "<- " + mParent->getSortState().description + " ->"; - mTheme->getDescriptionFont()->drawCenteredText(sortString, 0, (int)(sh * 0.6f + (mTheme->getDescriptionFont()->getHeight() * 0.5f)), mTextColor); + subtextFont->drawCenteredText(sortString, 0, (int)(sh * 0.6f + (subtextFont->getHeight() * 0.5f)), mTextColor); } bool GuiFastSelect::input(InputConfig* config, Input input) diff --git a/src/components/ThemeComponent.cpp b/src/components/ThemeComponent.cpp index 9643f3dbf..12cde07fd 100644 --- a/src/components/ThemeComponent.cpp +++ b/src/components/ThemeComponent.cpp @@ -53,7 +53,7 @@ std::shared_ptr ThemeComponent::getDescriptionFont() std::shared_ptr ThemeComponent::getFastSelectFont() { - if(mFastSelectFont == NULL) + if(mFastSelectFont) return mFastSelectFont; else return Font::get(*mWindow->getResourceManager(), Font::getDefaultPath(), FONT_SIZE_LARGE); From 7085d74e312816135df0bbb5ecf71717a66e3afc Mon Sep 17 00:00:00 2001 From: Aloshi Date: Tue, 9 Jul 2013 19:02:59 -0500 Subject: [PATCH 2/2] Changed default centering behavior. Now the detailed view will default to left-aligned. --- THEMES.md | 2 +- src/components/GuiGameList.cpp | 1 + src/components/ThemeComponent.cpp | 6 +----- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/THEMES.md b/THEMES.md index 3348cc88b..12af1e548 100644 --- a/THEMES.md +++ b/THEMES.md @@ -98,7 +98,7 @@ Display tags define some "meta" display attributes about your theme. Display tag `` - the hex color to use for selected text on the GuiGameList. Default is zero, which means no change. -`` - if present, the games list names will be left aligned to the value of `` (default 0.5). +`` - if present, the games list names will be left aligned to the value of `` + ``. On by default for detailed themes. `` - if present, the system name header won't be displayed (useful for replacing it with an image). If you're making a complete custom theme, you probably want to use this. diff --git a/src/components/GuiGameList.cpp b/src/components/GuiGameList.cpp index 106a804f1..cf3f10ac0 100644 --- a/src/components/GuiGameList.cpp +++ b/src/components/GuiGameList.cpp @@ -344,6 +344,7 @@ void GuiGameList::updateTheme() }else{ mList.setCentered(true); mList.setOffset(0, mList.getOffset().y); + mList.setTextOffsetX(0); } } diff --git a/src/components/ThemeComponent.cpp b/src/components/ThemeComponent.cpp index 12cde07fd..751a629bc 100644 --- a/src/components/ThemeComponent.cpp +++ b/src/components/ThemeComponent.cpp @@ -72,10 +72,6 @@ ThemeComponent::ThemeComponent(Window* window) : GuiComponent(window) AudioManager::getInstance()->registerSound(mSoundMap["menuBack"]); AudioManager::getInstance()->registerSound(mSoundMap["menuOpen"]); - mListFont.reset(); - mDescFont.reset(); - mFastSelectFont.reset(); - setDefaults(); } @@ -95,7 +91,7 @@ void ThemeComponent::setDefaults() mBoolMap["hideHeader"] = false; mBoolMap["hideDividers"] = false; - mBoolMap["listCentered"] = true; + mBoolMap["listCentered"] = false; mFloatMap["listOffsetX"] = 0.5; mFloatMap["listTextOffsetX"] = 0.005f;