From b41bba07faa808d741a4cf1300364cdcc93c7772 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Jan 2020 19:18:31 -0500 Subject: [PATCH] Add a way to dump css node change values Add a GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE flag that tells gtk_style_context_to_string to include the change values of nodes in the output. This will help debugging css change tracking. --- gtk/gtkcssnode.c | 11 +++++++++++ gtk/gtkstylecontext.h | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcssnode.c b/gtk/gtkcssnode.c index ad3b707f60..4fe350d5ff 100644 --- a/gtk/gtkcssnode.c +++ b/gtk/gtkcssnode.c @@ -19,6 +19,7 @@ #include "gtkcssnodeprivate.h" +#include "gtkcssstaticstyleprivate.h" #include "gtkcssanimatedstyleprivate.h" #include "gtkcssstylepropertyprivate.h" #include "gtkintl.h" @@ -1436,6 +1437,16 @@ gtk_css_node_print (GtkCssNode *cssnode, if (!cssnode->visible) g_string_append_c (string, ']'); + if (flags & GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE) + { + GtkCssStyle *style = gtk_css_node_get_style (cssnode); + GtkCssChange change; + + change = gtk_css_static_style_get_change (gtk_css_style_get_static_style (style)); + g_string_append (string, " "); + gtk_css_change_print (change, string); + } + g_string_append_c (string, '\n'); if (flags & GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE) diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index b22bc106e6..c7c5b78c59 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -1053,7 +1053,8 @@ void gtk_render_insertion_cursor typedef enum { GTK_STYLE_CONTEXT_PRINT_NONE = 0, GTK_STYLE_CONTEXT_PRINT_RECURSE = 1 << 0, - GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE = 1 << 1 + GTK_STYLE_CONTEXT_PRINT_SHOW_STYLE = 1 << 1, + GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE = 1 << 2 } GtkStyleContextPrintFlags; GDK_AVAILABLE_IN_ALL