From 74fb7697583c1211ebadc83c9aa638063c8af483 Mon Sep 17 00:00:00 2001 From: John Lindgren Date: Sat, 26 Nov 2022 16:13:09 -0500 Subject: [PATCH] ssd: Add debug helpers --- include/ssd.h | 5 +++++ src/debug.c | 27 +++++---------------------- src/ssd/ssd.c | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 22 deletions(-) diff --git a/include/ssd.h b/include/ssd.h index 111c9934..66780390 100644 --- a/include/ssd.h +++ b/include/ssd.h @@ -205,4 +205,9 @@ void ssd_extents_destroy(struct ssd *ssd); struct border ssd_thickness(struct view *view); struct wlr_box ssd_max_extents(struct view *view); +/* SSD debug helpers */ +bool ssd_debug_is_root_node(const struct ssd *ssd, struct wlr_scene_node *node); +const char *ssd_debug_get_node_name(const struct ssd *ssd, + struct wlr_scene_node *node); + #endif /* __LABWC_SSD_H */ diff --git a/src/debug.c b/src/debug.c index 135390d4..8be927be 100644 --- a/src/debug.c +++ b/src/debug.c @@ -4,6 +4,7 @@ #include "common/scene-helpers.h" #include "labwc.h" #include "node.h" +#include "ssd.h" #include "view.h" #define HEADER_CHARS "------------------------------" @@ -59,26 +60,8 @@ get_view_part(struct view *view, struct wlr_scene_node *node) if (view && node == view->scene_node) { return "view->scene_node"; } - if (!view || !view->ssd.tree) { - return NULL; - } - if (node == &view->ssd.tree->node) { - return "view->ssd"; - } - if (node == &view->ssd.titlebar.active.tree->node) { - return "titlebar.active"; - } - if (node == &view->ssd.titlebar.inactive.tree->node) { - return "titlebar.inactive"; - } - if (node == &view->ssd.border.active.tree->node) { - return "border.active"; - } - if (node == &view->ssd.border.inactive.tree->node) { - return "border.inactive"; - } - if (node == &view->ssd.extents.tree->node) { - return "extents"; + if (view) { + return ssd_debug_get_node_name(&view->ssd, node); } return NULL; } @@ -175,8 +158,8 @@ dump_tree(struct server *server, struct wlr_scene_node *node, printf("%s %*c %4d %4d [%p]\n", type, padding, ' ', x, y, node); if ((IGNORE_MENU && node == &server->menu_tree->node) - || (IGNORE_SSD && view && view->ssd.tree - && node == &view->ssd.tree->node)) { + || (IGNORE_SSD && view + && ssd_debug_is_root_node(&view->ssd, node))) { printf("%*c%s\n", pos + 4 + INDENT_SIZE, ' ', ""); return; } diff --git a/src/ssd/ssd.c b/src/ssd/ssd.c index 7b87248f..01dd66cc 100644 --- a/src/ssd/ssd.c +++ b/src/ssd/ssd.c @@ -267,3 +267,39 @@ ssd_set_active(struct view *view, bool active) wlr_scene_node_set_enabled(&ssd->border.inactive.tree->node, !active); wlr_scene_node_set_enabled(&ssd->titlebar.inactive.tree->node, !active); } + +bool +ssd_debug_is_root_node(const struct ssd *ssd, struct wlr_scene_node *node) +{ + if (!ssd->tree || !node) { + return false; + } + return node == &ssd->tree->node; +} + +const char * +ssd_debug_get_node_name(const struct ssd *ssd, struct wlr_scene_node *node) +{ + if (!ssd->tree || !node) { + return NULL; + } + if (node == &ssd->tree->node) { + return "view->ssd"; + } + if (node == &ssd->titlebar.active.tree->node) { + return "titlebar.active"; + } + if (node == &ssd->titlebar.inactive.tree->node) { + return "titlebar.inactive"; + } + if (node == &ssd->border.active.tree->node) { + return "border.active"; + } + if (node == &ssd->border.inactive.tree->node) { + return "border.inactive"; + } + if (node == &ssd->extents.tree->node) { + return "extents"; + } + return NULL; +} -- 2.52.0