src/ssd: Convert button node descriptors to struct ssd_button

This allows for way easier button hover detection and future
features like toggling rounded corner buttons on maximize.
This commit is contained in:
Consolatis 2022-06-08 19:51:02 +02:00 committed by Johan Malm
parent f1ada7e407
commit ca9226a7a6
8 changed files with 103 additions and 74 deletions

View file

@ -43,8 +43,7 @@ node_view_from_node(struct wlr_scene_node *wlr_scene_node)
assert(wlr_scene_node->data);
struct node_descriptor *node_descriptor = wlr_scene_node->data;
assert(node_descriptor->type == LAB_NODE_DESC_VIEW
|| node_descriptor->type == LAB_NODE_DESC_XDG_POPUP
|| node_descriptor->type == LAB_NODE_DESC_SSD_BUTTON);
|| node_descriptor->type == LAB_NODE_DESC_XDG_POPUP);
return (struct view *)node_descriptor->data;
}
@ -74,3 +73,12 @@ node_menuitem_from_node(struct wlr_scene_node *wlr_scene_node)
assert(node_descriptor->type == LAB_NODE_DESC_MENUITEM);
return (struct menuitem *)node_descriptor->data;
}
struct ssd_button *
node_ssd_button_from_node(struct wlr_scene_node *wlr_scene_node)
{
assert(wlr_scene_node->data);
struct node_descriptor *node_descriptor = wlr_scene_node->data;
assert(node_descriptor->type == LAB_NODE_DESC_SSD_BUTTON);
return (struct ssd_button *)node_descriptor->data;
}