mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
node: add node_scaled_scene_buffer_from_node
This commit is contained in:
parent
8156b91306
commit
9a3412324d
4 changed files with 22 additions and 0 deletions
|
|
@ -8,6 +8,7 @@ struct lab_layer_surface;
|
|||
struct lab_layer_popup;
|
||||
struct menuitem;
|
||||
struct ssd_button;
|
||||
struct scaled_scene_buffer;
|
||||
|
||||
enum node_descriptor_type {
|
||||
LAB_NODE_DESC_NODE = 0,
|
||||
|
|
@ -19,6 +20,7 @@ enum node_descriptor_type {
|
|||
LAB_NODE_DESC_IME_POPUP,
|
||||
LAB_NODE_DESC_MENUITEM,
|
||||
LAB_NODE_DESC_TREE,
|
||||
LAB_NODE_DESC_SCALED_SCENE_BUFFER,
|
||||
LAB_NODE_DESC_SSD_BUTTON,
|
||||
};
|
||||
|
||||
|
|
@ -81,4 +83,11 @@ struct menuitem *node_menuitem_from_node(
|
|||
struct ssd_button *node_ssd_button_from_node(
|
||||
struct wlr_scene_node *wlr_scene_node);
|
||||
|
||||
/**
|
||||
* node_scaled_scene_buffer_from_node - return scaled_scene_buffer from node
|
||||
* @wlr_scene_node: wlr_scene_node from which to return data
|
||||
*/
|
||||
struct scaled_scene_buffer *node_scaled_scene_buffer_from_node(
|
||||
struct wlr_scene_node *wlr_scene_node);
|
||||
|
||||
#endif /* LABWC_NODE_DESCRIPTOR_H */
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include "buffer.h"
|
||||
#include "common/mem.h"
|
||||
#include "common/scaled-scene-buffer.h"
|
||||
#include "node.h"
|
||||
|
||||
/**
|
||||
* TODO
|
||||
|
|
@ -226,6 +227,8 @@ scaled_scene_buffer_create(struct wlr_scene_tree *parent,
|
|||
free(self);
|
||||
return NULL;
|
||||
}
|
||||
node_descriptor_create(&self->scene_buffer->node,
|
||||
LAB_NODE_DESC_SCALED_SCENE_BUFFER, self);
|
||||
|
||||
self->impl = impl;
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -348,6 +348,7 @@ get_cursor_context(struct server *server)
|
|||
return ret;
|
||||
case LAB_NODE_DESC_NODE:
|
||||
case LAB_NODE_DESC_TREE:
|
||||
case LAB_NODE_DESC_SCALED_SCENE_BUFFER:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -79,3 +79,12 @@ node_ssd_button_from_node(struct wlr_scene_node *wlr_scene_node)
|
|||
assert(node_descriptor->type == LAB_NODE_DESC_SSD_BUTTON);
|
||||
return (struct ssd_button *)node_descriptor->data;
|
||||
}
|
||||
|
||||
struct scaled_scene_buffer *
|
||||
node_scaled_scene_buffer_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_SCALED_SCENE_BUFFER);
|
||||
return (struct scaled_scene_buffer *)node_descriptor->data;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue