diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 692d213017..293f2524b3 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -9310,6 +9310,14 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_DYNAMIC, "Dynamic" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_GRAY_DARK, + "Gray Dark" + ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_GRAY_LIGHT, + "Gray Light" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_RGUI_PARTICLE_EFFECT_NONE, "OFF" diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 9b4cd8fbe3..5d44a45bcf 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -924,6 +924,54 @@ static const rgui_theme_t rgui_theme_opaque_flux = { 0xFFEE2000 /* particle_color */ }; +static const rgui_theme_t rgui_theme_gray_dark = { + 0xFFFFFFFF, /* hover_color */ + 0xFF808080, /* normal_color */ + 0xFFFFFFFF, /* title_color */ + 0xE0101010, /* bg_dark_color */ + 0xE0101010, /* bg_light_color */ + 0xE0303030, /* border_dark_color */ + 0xE0303030, /* border_light_color */ + 0xFF000000, /* shadow_color */ + 0xE0202020 /* particle_color */ +}; + +static const rgui_theme_t rgui_theme_opaque_gray_dark = { + 0xFFFFFFFF, /* hover_color */ + 0xFF808080, /* normal_color */ + 0xFFFFFFFF, /* title_color */ + 0xFF101010, /* bg_dark_color */ + 0xFF101010, /* bg_light_color */ + 0xFF303030, /* border_dark_color */ + 0xFF303030, /* border_light_color */ + 0xFF000000, /* shadow_color */ + 0xE0202020 /* particle_color */ +}; + +static const rgui_theme_t rgui_theme_gray_light = { + 0xFFFFFFFF, /* hover_color */ + 0xFF808080, /* normal_color */ + 0xFFFFFFFF, /* title_color */ + 0xE0303030, /* bg_dark_color */ + 0xE0303030, /* bg_light_color */ + 0xE0101010, /* border_dark_color */ + 0xE0101010, /* border_light_color */ + 0xFF000000, /* shadow_color */ + 0xE0202020 /* particle_color */ +}; + +static const rgui_theme_t rgui_theme_opaque_gray_light = { + 0xFFFFFFFF, /* hover_color */ + 0xFF808080, /* normal_color */ + 0xFFFFFFFF, /* title_color */ + 0xFF303030, /* bg_dark_color */ + 0xFF303030, /* bg_light_color */ + 0xFF101010, /* border_dark_color */ + 0xFF101010, /* border_light_color */ + 0xFF000000, /* shadow_color */ + 0xE0202020 /* particle_color */ +}; + typedef struct { uint16_t hover_color; @@ -3005,6 +3053,14 @@ static const rgui_theme_t *get_theme(rgui_t *rgui) return transparent ? &rgui_theme_flux : &rgui_theme_opaque_flux; + case RGUI_THEME_GRAY_DARK: + return transparent ? + &rgui_theme_gray_dark : + &rgui_theme_opaque_gray_dark; + case RGUI_THEME_GRAY_LIGHT: + return transparent ? + &rgui_theme_gray_light : + &rgui_theme_opaque_gray_light; default: break; } diff --git a/menu/menu_defines.h b/menu/menu_defines.h index 59313cb59d..54e7d41d29 100644 --- a/menu/menu_defines.h +++ b/menu/menu_defines.h @@ -178,6 +178,8 @@ enum rgui_color_theme RGUI_THEME_ANTI_ZENBURN, RGUI_THEME_FLUX, RGUI_THEME_DYNAMIC, + RGUI_THEME_GRAY_DARK, + RGUI_THEME_GRAY_LIGHT, RGUI_THEME_LAST }; diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 03a3bdf1a9..7e6e460a88 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -3929,6 +3929,18 @@ static void setting_get_string_representation_uint_rgui_menu_color_theme( MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_DYNAMIC), len); break; + case RGUI_THEME_GRAY_DARK: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_GRAY_DARK), + len); + break; + case RGUI_THEME_GRAY_LIGHT: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_GRAY_LIGHT), + len); + break; } } diff --git a/msg_hash.h b/msg_hash.h index 386fc2a561..a23f101bdc 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -618,6 +618,8 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_ANTI_ZENBURN, MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_FLUX, MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_DYNAMIC, + MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_GRAY_DARK, + MENU_ENUM_LABEL_VALUE_RGUI_MENU_COLOR_THEME_GRAY_LIGHT, MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BASIC_WHITE, MENU_ENUM_LABEL_VALUE_OZONE_COLOR_THEME_BASIC_BLACK,