]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
expo: Support white-on-black in the theme
authorSimon Glass <sjg@chromium.org>
Fri, 2 May 2025 14:46:43 +0000 (08:46 -0600)
committerSimon Glass <sjg@chromium.org>
Fri, 30 May 2025 08:49:32 +0000 (09:49 +0100)
Allow this setting to be controlled from the theme.

Signed-off-by: Simon Glass <sjg@chromium.org>
boot/expo.c

index 4404fcb67e903f47a4f36fb05ce13fe9b9a15dda..7dbcac78c2287403fe831c18abeb5aa5fadce9a2 100644 (file)
@@ -277,6 +277,7 @@ int expo_apply_theme(struct expo *exp, ofnode node)
 {
        struct scene *scn;
        struct expo_theme *theme = &exp->theme;
+       bool white_on_black;
        int ret;
 
        log_debug("Applying theme %s\n", ofnode_get_name(node));
@@ -287,6 +288,9 @@ int expo_apply_theme(struct expo *exp, ofnode node)
        ofnode_read_u32(node, "menuitem-gap-y", &theme->menuitem_gap_y);
        ofnode_read_u32(node, "menu-title-margin-x",
                        &theme->menu_title_margin_x);
+       white_on_black = ofnode_read_bool(node, "white-on-black");
+       if (exp->display)
+               video_set_white_on_black(exp->display, white_on_black);
 
        list_for_each_entry(scn, &exp->scene_head, sibling) {
                ret = scene_apply_theme(scn, theme);