Launcher: Added a default background option for themes
Currently in a theme the background files are named `background_<tab name>.png`. The problem is that sometimes retro-go adds new tabs, which causes themes to have missing backgrounds. So I added a fallback. Theme can now provide a file named `background.png` that will be used when a tab-specific background isn't found. This also enables themes to provide a single background file if they don't want per-tab ones.
This commit is contained in:
parent
66c194a9b0
commit
df74f0734a
12
THEMING.md
12
THEMING.md
@ -12,6 +12,7 @@ A theme is a folder placed in `sd:/retro-go/themes` containing the following fil
|
||||
````
|
||||
/retro-go/themes
|
||||
└── example
|
||||
├── background.png
|
||||
├── background_*.png
|
||||
├── banner_*.png
|
||||
├── logo_*.png
|
||||
@ -21,11 +22,12 @@ A theme is a folder placed in `sd:/retro-go/themes` containing the following fil
|
||||
|
||||
| Name | Format | Description | Required |
|
||||
|--|--|--|--|
|
||||
| theme.json | JSON | Contains the theme metadata (description, author, colors, etc) | Yes |
|
||||
| preview.png | PNG 160x120 | Theme preview to be displayed in the theme selector | No |
|
||||
| background_X.png | PNG 320x240 | Launcher backgrounds where X is the name of the launcher tab | No |
|
||||
| banner_X.png | PNG 272x24 | Launcher banners where X is the name of the launcher tab | No |
|
||||
| logo_X.png | PNG 46x50 | Launcher logos where X is the name of the launcher tab | No |
|
||||
| `theme.json` | JSON | Contains the theme metadata (description, author, colors, etc) | Yes |
|
||||
| `preview.png` | PNG 160x120 | Theme preview to be displayed in the theme selector | No |
|
||||
| `background.png` | PNG 320x240 | Launcher's default background | No |
|
||||
| `background_<tab_name>.png` | PNG 320x240 | Launcher's per-tab backgrounds | No |
|
||||
| `banner_<tab_name>.png` | PNG 272x24 | Launcher's per-tab banners | No |
|
||||
| `logo_<tab_name>.png` | PNG 46x50 | Launcher's per-tab logos | No |
|
||||
|
||||
|
||||
### theme.json
|
||||
|
||||
@ -400,7 +400,9 @@ void gui_draw_background(tab_t *tab, int shade)
|
||||
|
||||
if (!tab->background)
|
||||
{
|
||||
tab->background = gui_get_image("background", tab->name);
|
||||
tab->background = gui_get_image("background", tab->name); // Try background_<tabname>.png
|
||||
if (!tab->background)
|
||||
tab->background = gui_get_image("background", NULL); // Fallback to a background.png
|
||||
tab->background_shade = 0;
|
||||
if (tab->background && (tab->background->width != gui.width || tab->background->height != gui.height))
|
||||
{
|
||||
|
||||
3
themes/classic/README.md
Normal file
3
themes/classic/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
This is the classic theme built into retro-go at compile time.
|
||||
|
||||
It is meant to replicate the look of early retro-go builds.
|
||||
BIN
themes/classic/background.png
Normal file
BIN
themes/classic/background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
53
themes/classic/theme.json
Normal file
53
themes/classic/theme.json
Normal file
@ -0,0 +1,53 @@
|
||||
{
|
||||
"description": "Classic Retro-Go Theme",
|
||||
"website": "https://github.com/ducalex/retro-go/",
|
||||
"author": "ducalex",
|
||||
"dialog": {
|
||||
"__comment": "This section contains global dialog colors",
|
||||
"background": "0x0010",
|
||||
"foreground": "0xFFFF",
|
||||
"border": "0x0010",
|
||||
"header": "0xFFFF",
|
||||
"scrollbar": "0xFFFF",
|
||||
"shadow": "none",
|
||||
"item_standard": "0xFFFF",
|
||||
"item_disabled": "0x8410",
|
||||
"item_message": "0xBDF7"
|
||||
},
|
||||
"launcher_1": {
|
||||
"__comment": "This section contains launcher colors variant 1",
|
||||
"background": "0x0000",
|
||||
"foreground": "0xFFDE",
|
||||
"list_standard_bg": "transparent",
|
||||
"list_standard_fg": "0x8410",
|
||||
"list_selected_bg": "transparent",
|
||||
"list_selected_fg": "0xFFFF"
|
||||
},
|
||||
"launcher_2": {
|
||||
"__comment": "This section contains launcher colors variant 2",
|
||||
"background": "0x0000",
|
||||
"foreground": "0xFFDE",
|
||||
"list_standard_bg": "transparent",
|
||||
"list_standard_fg": "0x8410",
|
||||
"list_selected_bg": "transparent",
|
||||
"list_selected_fg": "0x07E0"
|
||||
},
|
||||
"launcher_3": {
|
||||
"__comment": "This section contains launcher colors variant 3",
|
||||
"background": "0x0000",
|
||||
"foreground": "0xFFDE",
|
||||
"list_standard_bg": "transparent",
|
||||
"list_standard_fg": "0x8410",
|
||||
"list_selected_bg": "0xFFFF",
|
||||
"list_selected_fg": "0x0000"
|
||||
},
|
||||
"launcher_4": {
|
||||
"__comment": "This section contains launcher colors variant 4",
|
||||
"background": "0x0000",
|
||||
"foreground": "0xFFDE",
|
||||
"list_standard_bg": "transparent",
|
||||
"list_standard_fg": "0xAD55",
|
||||
"list_selected_bg": "0xFFFF",
|
||||
"list_selected_fg": "0x0000"
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user