]> git.mdlowis.com Git - proto/labwc.git/commitdiff
src/osd.c: Integrate preview outline into OSD state
authorConsolatis <35009135+Consolatis@users.noreply.github.com>
Sun, 21 Aug 2022 22:42:01 +0000 (00:42 +0200)
committerConsolatis <35009135+Consolatis@users.noreply.github.com>
Sun, 28 Aug 2022 18:40:44 +0000 (20:40 +0200)
include/labwc.h
src/osd.c

index df328f4170236dbbb938c86a689e8dde334362ef..ead723492a520c446cf2467e9b8f8eaa7153d613 100644 (file)
@@ -202,8 +202,6 @@ struct server {
        /* Tree for built in menu */
        struct wlr_scene_tree *menu_tree;
 
-       struct multi_rect *osd_preview_outline;
-
        /* Workspaces */
        struct wl_list workspaces;  /* struct workspace.link */
        struct workspace *workspace_current;
@@ -236,6 +234,7 @@ struct server {
                bool preview_was_enabled;
                struct wlr_scene_node *preview_node;
                struct wlr_scene_node *preview_anchor;
+               struct multi_rect *preview_outline;
        } osd_state;
 
        struct theme *theme;
index e2b98d0fa97b84da1bdc80cf38100b3989294b77..acfdade1fc2e7211a5a8d74db6541ef37ee54335 100644 (file)
--- a/src/osd.c
+++ b/src/osd.c
@@ -90,7 +90,7 @@ osd_update_preview_outlines(struct view *view)
 {
        /* Create / Update preview outline tree */
        struct server *server = view->server;
-       struct multi_rect *rect = view->server->osd_preview_outline;
+       struct multi_rect *rect = view->server->osd_state.preview_outline;
        if (!rect) {
                int line_width = server->theme->osd_border_width;
                float *colors[] = {
@@ -100,7 +100,7 @@ osd_update_preview_outlines(struct view *view)
                };
                rect = multi_rect_create(&server->scene->tree, colors, line_width);
                wlr_scene_node_place_above(&rect->tree->node, &server->menu_tree->node);
-               server->osd_preview_outline = rect;
+               server->osd_state.preview_outline = rect;
        }
 
        struct wlr_box geo = ssd_max_extents(view);
@@ -120,10 +120,10 @@ osd_finish(struct server *server)
                destroy_osd_nodes(output);
                wlr_scene_node_set_enabled(&output->osd_tree->node, false);
        }
-       if (server->osd_preview_outline) {
+       if (server->osd_state.preview_outline) {
                /* Destroy the whole multi_rect so we can easily react to new themes */
-               wlr_scene_node_destroy(&server->osd_preview_outline->tree->node);
-               server->osd_preview_outline = NULL;
+               wlr_scene_node_destroy(&server->osd_state.preview_outline->tree->node);
+               server->osd_state.preview_outline = NULL;
        }
 }