[gtk+/wip/css-optimize: 6/6] css: Add debug output for the css rules tree
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/css-optimize: 6/6] css: Add debug output for the css rules tree
- Date: Fri, 23 Nov 2012 15:27:44 +0000 (UTC)
commit 90bcb52293b3c733de7c0f551b1d865597d7fcd7
Author: Alexander Larsson <alexl redhat com>
Date: Fri Nov 23 16:15:29 2012 +0100
css: Add debug output for the css rules tree
gtk/gtkcssprovider.c | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c
index 0477aac..6de03e8 100644
--- a/gtk/gtkcssprovider.c
+++ b/gtk/gtkcssprovider.c
@@ -2817,6 +2817,30 @@ compare_refs_by_flags (gconstpointer pa,
}
static void
+print_tree (GtkCssRulesetsTree *tree, int indent)
+{
+ if (tree == NULL)
+ return;
+
+ switch (tree->type)
+ {
+ case RULESETS_TREE_TYPE_RULES:
+ printf ("%*sCheck rules %p len %d\n", indent, "", tree->u.rules.rules, tree->u.rules.num_rules);
+ break;
+ case RULESETS_TREE_TYPE_STATE:
+ printf ("%*sMatch state 0x%x ->\n", indent, "", tree->u.state.state);
+ print_tree (tree->u.state.matched, indent + 4);
+ break;
+ case RULESETS_TREE_TYPE_CLASS:
+ printf ("%*sMatch class %s ->\n", indent, "", g_quark_to_string (tree->u.class.class));
+ print_tree (tree->u.class.matched, indent + 4);
+ break;
+ }
+
+ print_tree (tree->next, indent);
+}
+
+static void
gtk_css_provider_postprocess (GtkCssProvider *css_provider)
{
GtkCssProviderPrivate *priv = css_provider->priv;
@@ -2838,6 +2862,11 @@ gtk_css_provider_postprocess (GtkCssProvider *css_provider)
priv->rulesets);
priv->rulesets_tree = subdivide_by_state (priv, refs, 0, priv->rulesets->len, GTK_STATE_FLAG_BACKDROP);
+ if (g_getenv ("GTK_CSS_DEBUG_TREE"))
+ {
+ g_print ("Rulesets tree for proviced %p (%d rules)\n", css_provider, priv->rulesets->len);
+ print_tree (priv->rulesets_tree, 1);
+ }
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]