[gtk+] computedvalues: Add to_string() and print() functions



commit cc2f2dd9b8a13c8f8d7c883b72055768ebba512f
Author: Benjamin Otte <otte redhat com>
Date:   Tue Oct 21 02:29:03 2014 +0200

    computedvalues: Add to_string() and print() functions
    
    The functions are unused. But they are very convenient to use from a
    debugger, if you know what I mean...

 gtk/gtkcsscomputedvalues.c        |   41 +++++++++++++++++++++++++++++++++++++
 gtk/gtkcsscomputedvaluesprivate.h |    4 +++
 2 files changed, 45 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcsscomputedvalues.c b/gtk/gtkcsscomputedvalues.c
index 6f7d368..52d6e5e 100644
--- a/gtk/gtkcsscomputedvalues.c
+++ b/gtk/gtkcsscomputedvalues.c
@@ -28,6 +28,7 @@
 #include "gtkcssinheritvalueprivate.h"
 #include "gtkcssinitialvalueprivate.h"
 #include "gtkcssnumbervalueprivate.h"
+#include "gtkcsssectionprivate.h"
 #include "gtkcssshorthandpropertyprivate.h"
 #include "gtkcssstringvalueprivate.h"
 #include "gtkcssstylepropertyprivate.h"
@@ -627,3 +628,43 @@ _gtk_css_computed_values_compute_dependencies (GtkCssComputedValues *values,
   return changes;
 }
 
+void
+gtk_css_computed_values_print (GtkCssComputedValues *values,
+                               GString              *string)
+{
+  guint i;
+
+  g_return_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values));
+  g_return_if_fail (string != NULL);
+
+  for (i = 0; i < _gtk_css_style_property_get_n_properties (); i++)
+    {
+      GtkCssSection *section = _gtk_css_computed_values_get_section (values, i);
+      g_string_append (string, _gtk_style_property_get_name (GTK_STYLE_PROPERTY 
(_gtk_css_style_property_lookup_by_id (i))));
+      g_string_append (string, ": ");
+      _gtk_css_value_print (_gtk_css_computed_values_get_value (values, i), string);
+      g_string_append (string, ";");
+      if (section)
+        {
+          g_string_append (string, " /* ");
+          _gtk_css_section_print (section, string);
+          g_string_append (string, " */");
+        }
+      g_string_append (string, "\n");
+    }
+}
+
+char *
+gtk_css_computed_values_to_string (GtkCssComputedValues *values)
+{
+  GString *string;
+
+  g_return_val_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values), NULL);
+
+  string = g_string_new ("");
+
+  gtk_css_computed_values_print (values, string);
+
+  return g_string_free (string, FALSE);
+}
+
diff --git a/gtk/gtkcsscomputedvaluesprivate.h b/gtk/gtkcsscomputedvaluesprivate.h
index f70d397..059caee 100644
--- a/gtk/gtkcsscomputedvaluesprivate.h
+++ b/gtk/gtkcsscomputedvaluesprivate.h
@@ -102,6 +102,10 @@ GtkBitmask *            _gtk_css_computed_values_advance              (GtkCssCom
 void                    _gtk_css_computed_values_cancel_animations    (GtkCssComputedValues     *values);
 gboolean                _gtk_css_computed_values_is_static            (GtkCssComputedValues     *values);
 
+char *                  gtk_css_computed_values_to_string             (GtkCssComputedValues     *values);
+void                    gtk_css_computed_values_print                 (GtkCssComputedValues     *values,
+                                                                       GString                  *string);
+
 G_END_DECLS
 
 #endif /* __GTK_CSS_COMPUTED_VALUES_PRIVATE_H__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]