From 9eda227d33dd4c34529814be90f78de161ba23dc Mon Sep 17 00:00:00 2001 From: yellows8 Date: Thu, 2 Jan 2020 22:48:48 -0500 Subject: [PATCH] Added logoColor to the theme config. --- common/menu.c | 9 ++++++++- common/theme.c | 7 ++++++- common/theme.h | 2 ++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/common/menu.c b/common/menu.c index 44d8ca1..180fad4 100644 --- a/common/menu.c +++ b/common/menu.c @@ -674,7 +674,14 @@ void menuLoop(void) { if (layoutobj->visible) drawWave(2, menuTimer, themeCurrent.frontWaveColor, layoutobj->size[1], 4.0, -2.5); menuTimer += 0.05; - drawImageFromLayout(ThemeLayoutId_Logo, themeCurrent.hbmenuLogoImage, IMAGE_MODE_RGBA32); + if (!themeCurrent.logoColor_set) + drawImageFromLayout(ThemeLayoutId_Logo, themeCurrent.hbmenuLogoImage, IMAGE_MODE_RGBA32); + else { + layoutobj = &themeCurrent.layoutObjects[ThemeLayoutId_Logo]; + assetsGetData(AssetId_hbmenu_logo_light, &data); + if (layoutobj->visible) drawIcon(layoutobj->posStart[0], layoutobj->posStart[1], data->imageSize[0], data->imageSize[1], data->buffer, themeCurrent.logoColor); + } + DrawTextFromLayout(ThemeLayoutId_HbmenuVersion, themeCurrent.textColor, VERSION); u32 statusXPos = drawStatus(); diff --git a/common/theme.c b/common/theme.c index 8720825..672ecb2 100644 --- a/common/theme.c +++ b/common/theme.c @@ -416,9 +416,10 @@ void themeStartup(ThemePreset preset) { config_t cfg = {0}; config_init(&cfg); config_setting_t *theme = NULL, *layout = NULL, *assets = NULL; - color_t text, attentionText, frontWave, middleWave, backWave, background, highlight, separator, borderColor, borderTextColor, progressBarColor; + color_t text, logoColor={0}, attentionText, frontWave, middleWave, backWave, background, highlight, separator, borderColor, borderTextColor, progressBarColor; int waveBlending; const char *AText, *BText, *XText, *YText, *PText, *MText, *starOnText, *starOffText; + bool logoColor_set = false; bool good_cfg = false; bool is_romfs = false; @@ -460,6 +461,8 @@ void themeStartup(ThemePreset preset) { if (theme != NULL) { if (!colorFromSetting(config_setting_lookup(theme, "textColor"), &text)) text = themeDefault->textColor; + if (colorFromSetting(config_setting_lookup(theme, "logoColor"), &logoColor)) + logoColor_set = true; if (!colorFromSetting(config_setting_lookup(theme, "attentionTextColor"), &attentionText)) attentionText = themeDefault->attentionTextColor; if (!colorFromSetting(config_setting_lookup(theme, "frontWaveColor"), &frontWave)) @@ -500,6 +503,7 @@ void themeStartup(ThemePreset preset) { starOffText = themeDefault->labelStarOffText; themeCurrent = (theme_t) { .textColor = text, + .logoColor = logoColor, .attentionTextColor = attentionText, .frontWaveColor = frontWave, .middleWaveColor = middleWave, @@ -510,6 +514,7 @@ void themeStartup(ThemePreset preset) { .borderColor = borderColor, .borderTextColor = borderTextColor, .progressBarColor = progressBarColor, + .logoColor_set = logoColor_set, .enableWaveBlending = waveBlending, .hbmenuLogoImage = themeDefault->hbmenuLogoImage }; diff --git a/common/theme.h b/common/theme.h index d34673c..510c52b 100644 --- a/common/theme.h +++ b/common/theme.h @@ -26,6 +26,7 @@ typedef struct typedef struct { color_t textColor; + color_t logoColor; color_t attentionTextColor; color_t frontWaveColor; color_t middleWaveColor; @@ -36,6 +37,7 @@ typedef struct color_t borderColor; color_t borderTextColor; color_t progressBarColor; + bool logoColor_set; bool enableWaveBlending; char buttonAText[32]; char buttonBText[32];