mirror of
https://github.com/labwc/labwc.git
synced 2026-02-15 22:05:25 -05:00
Chase wlroots: wlr_scene is now a tree node
Chases wlroots 9eb71146ae56c509ee33c7e8a662549592aad870 wlr_scene: Refactor wlr_scene (the root element) to encase a wlr_scene_tree
This commit is contained in:
parent
fb1af5f68e
commit
3f65a2ff77
7 changed files with 17 additions and 16 deletions
11
src/debug.c
11
src/debug.c
|
|
@ -17,9 +17,10 @@ static const char *
|
||||||
get_node_type(struct wlr_scene_node *node)
|
get_node_type(struct wlr_scene_node *node)
|
||||||
{
|
{
|
||||||
switch (node->type) {
|
switch (node->type) {
|
||||||
case WLR_SCENE_NODE_ROOT:
|
|
||||||
return "root";
|
|
||||||
case WLR_SCENE_NODE_TREE:
|
case WLR_SCENE_NODE_TREE:
|
||||||
|
if (!node->parent) {
|
||||||
|
return "root";
|
||||||
|
}
|
||||||
return "tree";
|
return "tree";
|
||||||
case WLR_SCENE_NODE_RECT:
|
case WLR_SCENE_NODE_RECT:
|
||||||
return "rect";
|
return "rect";
|
||||||
|
|
@ -86,13 +87,13 @@ static const char *
|
||||||
get_special(struct server *server, struct wlr_scene_node *node,
|
get_special(struct server *server, struct wlr_scene_node *node,
|
||||||
struct view **last_view)
|
struct view **last_view)
|
||||||
{
|
{
|
||||||
if (node == &server->scene->node) {
|
if (node == &server->scene->tree.node) {
|
||||||
return "server->scene";
|
return "server->scene";
|
||||||
}
|
}
|
||||||
if (node == &server->menu_tree->node) {
|
if (node == &server->menu_tree->node) {
|
||||||
return "server->menu_tree";
|
return "server->menu_tree";
|
||||||
}
|
}
|
||||||
if (node->parent == &server->scene->node) {
|
if (node->parent == &server->scene->tree.node) {
|
||||||
struct output *output;
|
struct output *output;
|
||||||
wl_list_for_each(output, &server->outputs, link) {
|
wl_list_for_each(output, &server->outputs, link) {
|
||||||
if (node == &output->osd_tree->node) {
|
if (node == &output->osd_tree->node) {
|
||||||
|
|
@ -183,6 +184,6 @@ void
|
||||||
debug_dump_scene(struct server *server)
|
debug_dump_scene(struct server *server)
|
||||||
{
|
{
|
||||||
printf("\n");
|
printf("\n");
|
||||||
dump_tree(server, &server->scene->node, 0, 0, 0);
|
dump_tree(server, &server->scene->tree.node, 0, 0, 0);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -264,7 +264,7 @@ desktop_node_and_view_at(struct server *server, double lx, double ly,
|
||||||
enum ssd_part_type *view_area)
|
enum ssd_part_type *view_area)
|
||||||
{
|
{
|
||||||
struct wlr_scene_node *node =
|
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;
|
*scene_node = node;
|
||||||
if (!node) {
|
if (!node) {
|
||||||
|
|
|
||||||
|
|
@ -135,14 +135,14 @@ new_output_notify(struct wl_listener *listener, void *data)
|
||||||
for (int i = 0; i < nr_layers; i++) {
|
for (int i = 0; i < nr_layers; i++) {
|
||||||
wl_list_init(&output->layers[i]);
|
wl_list_init(&output->layers[i]);
|
||||||
output->layer_tree[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,
|
node_descriptor_create(&output->layer_tree[i]->node,
|
||||||
LAB_NODE_DESC_TREE, NULL);
|
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,
|
node_descriptor_create(&output->layer_popup_tree->node,
|
||||||
LAB_NODE_DESC_TREE, NULL);
|
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,
|
node_descriptor_create(&output->osd_tree->node,
|
||||||
LAB_NODE_DESC_TREE, NULL);
|
LAB_NODE_DESC_TREE, NULL);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -238,12 +238,12 @@ server_init(struct server *server)
|
||||||
wlr_log(WLR_ERROR, "unable to create scene");
|
wlr_log(WLR_ERROR, "unable to create scene");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
server->view_tree = 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->node);
|
server->view_tree_always_on_top = wlr_scene_tree_create(&server->scene->tree.node);
|
||||||
#if HAVE_XWAYLAND
|
#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
|
#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);
|
output_init(server);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -106,7 +106,7 @@ ssd_at(struct view *view, double lx, double ly)
|
||||||
{
|
{
|
||||||
double sx, sy;
|
double sx, sy;
|
||||||
struct wlr_scene_node *node = wlr_scene_node_at(
|
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);
|
return ssd_get_part_type(view, node);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ touch_get_coords(struct seat *seat, struct wlr_touch *touch, double x, double y,
|
||||||
x, y, &lx, &ly);
|
x, y, &lx, &ly);
|
||||||
|
|
||||||
struct wlr_scene_node *node =
|
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. */
|
/* Find the surface and return it if it accepts touch events. */
|
||||||
struct wlr_surface *surface = lab_wlr_surface_from_node(node);
|
struct wlr_surface *surface = lab_wlr_surface_from_node(node);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[wrap-git]
|
[wrap-git]
|
||||||
url = https://gitlab.freedesktop.org/wlroots/wlroots.git
|
url = https://gitlab.freedesktop.org/wlroots/wlroots.git
|
||||||
revision = 98c5f58a388926c3db5d5b4b9275645bccd54271
|
revision = 9eb71146ae56c509ee33c7e8a662549592aad870
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
dependency_names = wlroots
|
dependency_names = wlroots
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue