// SPDX-License-Identifier: GPL-2.0-only #include #include #include "common/scene-helpers.h" struct wlr_scene_rect * lab_wlr_scene_get_rect(struct wlr_scene_node *node) { assert(node->type == WLR_SCENE_NODE_RECT); return (struct wlr_scene_rect *)node; } struct wlr_scene_tree * lab_scene_tree_from_node(struct wlr_scene_node *node) { assert(node->type == WLR_SCENE_NODE_TREE); return (struct wlr_scene_tree *)node; } struct wlr_surface * lab_wlr_surface_from_node(struct wlr_scene_node *node) { struct wlr_scene_buffer *buffer; struct wlr_scene_surface *scene_surface; if (node && node->type == WLR_SCENE_NODE_BUFFER) { buffer = wlr_scene_buffer_from_node(node); scene_surface = wlr_scene_surface_from_buffer(buffer); if (scene_surface) { return scene_surface->surface; } } return NULL; } struct wlr_scene_node * lab_wlr_scene_get_prev_node(struct wlr_scene_node *node) { assert(node); struct wlr_scene_node *prev; prev = wl_container_of(node->link.prev, node, link); if (&prev->link == &node->parent->children) { return NULL; } return prev; }