node.c: use wlr_scene_node instead of node_descriptor

This commit is contained in:
Johan Malm 2022-03-02 22:24:30 +00:00
parent b4cbc20e8c
commit eb7645d0e0
3 changed files with 16 additions and 10 deletions

View file

@ -36,22 +36,22 @@ void node_descriptor_create(struct wlr_scene_node *scene_node,
/** /**
* node_view_from_node - return view struct from node * node_view_from_node - return view struct from node
* @node_descriptor: node_descriptor from which to return data * @wlr_scene_node: wlr_scene_node from which to return data
*/ */
struct view *node_view_from_node(struct node_descriptor *node_descriptor); struct view *node_view_from_node(struct wlr_scene_node *wlr_scene_node);
/** /**
* node_lab_surface_from_node - return lab_layer_surface struct from node * node_lab_surface_from_node - return lab_layer_surface struct from node
* @node_descriptor: node_descriptor from which to return data * @wlr_scene_node: wlr_scene_node from which to return data
*/ */
struct lab_layer_surface *node_layer_surface_from_node( struct lab_layer_surface *node_layer_surface_from_node(
struct node_descriptor *node_descriptor); struct wlr_scene_node *wlr_scene_node);
/** /**
* node_layer_popup_from_node - return lab_layer_popup struct from node * node_layer_popup_from_node - return lab_layer_popup struct from node
* @node_descriptor: node_descriptor from which to return data * @wlr_scene_node: wlr_scene_node from which to return data
*/ */
struct lab_layer_popup *node_layer_popup_from_node( struct lab_layer_popup *node_layer_popup_from_node(
struct node_descriptor *node_descriptor); struct wlr_scene_node *wlr_scene_node);
#endif /* __LABWC_NODE_DESCRIPTOR_H */ #endif /* __LABWC_NODE_DESCRIPTOR_H */

View file

@ -112,7 +112,7 @@ get_special(struct server *server, struct wlr_scene_node *node,
return "server->view_tree"; return "server->view_tree";
} }
if (node->parent == &server->view_tree->node) { if (node->parent == &server->view_tree->node) {
*last_view = node_view_from_node(node->data); *last_view = node_view_from_node(node);
} }
const char *view_part = get_view_part(*last_view, node); const char *view_part = get_view_part(*last_view, node);
if (view_part) { if (view_part) {

View file

@ -38,23 +38,29 @@ node_descriptor_create(struct wlr_scene_node *scene_node,
} }
struct view * struct view *
node_view_from_node(struct node_descriptor *node_descriptor) 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 assert(node_descriptor->type == LAB_NODE_DESC_VIEW
|| node_descriptor->type == LAB_NODE_DESC_XDG_POPUP); || node_descriptor->type == LAB_NODE_DESC_XDG_POPUP);
return (struct view *)node_descriptor->data; return (struct view *)node_descriptor->data;
} }
struct lab_layer_surface * struct lab_layer_surface *
node_layer_surface_from_node(struct node_descriptor *node_descriptor) node_layer_surface_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_LAYER_SURFACE); assert(node_descriptor->type == LAB_NODE_DESC_LAYER_SURFACE);
return (struct lab_layer_surface *)node_descriptor->data; return (struct lab_layer_surface *)node_descriptor->data;
} }
struct lab_layer_popup * struct lab_layer_popup *
node_layer_popup_from_node(struct node_descriptor *node_descriptor) node_layer_popup_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_LAYER_POPUP); assert(node_descriptor->type == LAB_NODE_DESC_LAYER_POPUP);
return (struct lab_layer_popup *)node_descriptor->data; return (struct lab_layer_popup *)node_descriptor->data;
} }