get_node_type(struct wlr_scene_node *node)
{
switch (node->type) {
- case WLR_SCENE_NODE_ROOT:
- return "root";
case WLR_SCENE_NODE_TREE:
+ if (!node->parent) {
+ return "root";
+ }
return "tree";
case WLR_SCENE_NODE_RECT:
return "rect";
get_special(struct server *server, struct wlr_scene_node *node,
struct view **last_view)
{
- if (node == &server->scene->node) {
+ if (node == &server->scene->tree.node) {
return "server->scene";
}
if (node == &server->menu_tree->node) {
return "server->menu_tree";
}
- if (node->parent == &server->scene->node) {
+ if (node->parent == &server->scene->tree.node) {
struct output *output;
wl_list_for_each(output, &server->outputs, link) {
if (node == &output->osd_tree->node) {
debug_dump_scene(struct server *server)
{
printf("\n");
- dump_tree(server, &server->scene->node, 0, 0, 0);
+ dump_tree(server, &server->scene->tree.node, 0, 0, 0);
printf("\n");
}
enum ssd_part_type *view_area)
{
struct wlr_scene_node *node =
- wlr_scene_node_at(&server->scene->node, lx, ly, sx, sy);
+ wlr_scene_node_at(&server->scene->tree.node, lx, ly, sx, sy);
*scene_node = node;
if (!node) {
for (int i = 0; i < nr_layers; i++) {
wl_list_init(&output->layers[i]);
output->layer_tree[i] =
- wlr_scene_tree_create(&server->scene->node);
+ wlr_scene_tree_create(&server->scene->tree.node);
node_descriptor_create(&output->layer_tree[i]->node,
LAB_NODE_DESC_TREE, NULL);
}
- output->layer_popup_tree = wlr_scene_tree_create(&server->scene->node);
+ output->layer_popup_tree = wlr_scene_tree_create(&server->scene->tree.node);
node_descriptor_create(&output->layer_popup_tree->node,
LAB_NODE_DESC_TREE, NULL);
- output->osd_tree = wlr_scene_tree_create(&server->scene->node);
+ output->osd_tree = wlr_scene_tree_create(&server->scene->tree.node);
node_descriptor_create(&output->osd_tree->node,
LAB_NODE_DESC_TREE, NULL);
wlr_log(WLR_ERROR, "unable to create scene");
exit(EXIT_FAILURE);
}
- server->view_tree = wlr_scene_tree_create(&server->scene->node);
- server->view_tree_always_on_top = wlr_scene_tree_create(&server->scene->node);
+ server->view_tree = wlr_scene_tree_create(&server->scene->tree.node);
+ server->view_tree_always_on_top = wlr_scene_tree_create(&server->scene->tree.node);
#if HAVE_XWAYLAND
- server->unmanaged_tree = wlr_scene_tree_create(&server->scene->node);
+ server->unmanaged_tree = wlr_scene_tree_create(&server->scene->tree.node);
#endif
- server->menu_tree = wlr_scene_tree_create(&server->scene->node);
+ server->menu_tree = wlr_scene_tree_create(&server->scene->tree.node);
output_init(server);
{
double sx, sy;
struct wlr_scene_node *node = wlr_scene_node_at(
- &view->server->scene->node, lx, ly, &sx, &sy);
+ &view->server->scene->tree.node, lx, ly, &sx, &sy);
return ssd_get_part_type(view, node);
}
x, y, &lx, &ly);
struct wlr_scene_node *node =
- wlr_scene_node_at(&seat->server->scene->node, lx, ly, sx, sy);
+ wlr_scene_node_at(&seat->server->scene->tree.node, lx, ly, sx, sy);
/* Find the surface and return it if it accepts touch events. */
struct wlr_surface *surface = lab_wlr_surface_from_node(node);
[wrap-git]
url = https://gitlab.freedesktop.org/wlroots/wlroots.git
-revision = 98c5f58a388926c3db5d5b4b9275645bccd54271
+revision = 9eb71146ae56c509ee33c7e8a662549592aad870
[provide]
dependency_names = wlroots