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 */
#include "common/scene-helpers.h"
#include "labwc.h"
#include "node.h"
+#include "ssd.h"
#include "view.h"
#define HEADER_CHARS "------------------------------"
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;
}
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, ' ', "<skipping children>");
return;
}
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;
+}