[gtk+/gtk-style-context: 12/191] GtkStyleSet: Add method to register font properties.



commit 433a77db1709588135e34750af9cb2355d31bb4e
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Mar 7 19:07:27 2010 +0100

    GtkStyleSet: Add method to register font properties.

 gtk/gtkstyleset.c |   22 ++++++++++++++++++++++
 gtk/gtkstyleset.h |    2 ++
 2 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkstyleset.c b/gtk/gtkstyleset.c
index c2db1fc..6ac5442 100644
--- a/gtk/gtkstyleset.c
+++ b/gtk/gtkstyleset.c
@@ -68,6 +68,7 @@ gtk_style_set_class_init (GtkStyleSetClass *klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GdkColor black = { 0, 0, 0, 0 };
   GdkColor white = { 0, 65535, 65535, 65535 };
+  PangoFontDescription *font_desc;
 
   object_class->finalize = gtk_style_set_finalize;
 
@@ -77,6 +78,10 @@ gtk_style_set_class_init (GtkStyleSetClass *klass)
   gtk_style_set_register_property_color ("text-color", &white);
   gtk_style_set_register_property_color ("base-color", &white);
 
+  font_desc = pango_font_description_from_string ("Sans 10");
+  gtk_style_set_register_property_font ("font", font_desc);
+  pango_font_description_free (font_desc);
+
   g_type_class_add_private (object_class, sizeof (GtkStyleSetPrivate));
 }
 
@@ -228,6 +233,23 @@ gtk_style_set_register_property_color (const gchar *property_name,
 }
 
 void
+gtk_style_set_register_property_font (const gchar          *property_name,
+                                      PangoFontDescription *initial_value)
+{
+  GValue value = { 0 };
+
+  g_return_if_fail (property_name != NULL);
+  g_return_if_fail (initial_value != NULL);
+
+  g_value_init (&value, PANGO_TYPE_FONT_DESCRIPTION);
+  g_value_set_boxed (&value, initial_value);
+
+  gtk_style_set_register_property (property_name, PANGO_TYPE_FONT_DESCRIPTION, &value);
+
+  g_value_unset (&value);
+}
+
+void
 gtk_style_set_register_property_int (const gchar *property_name,
                                      gint         initial_value)
 {
diff --git a/gtk/gtkstyleset.h b/gtk/gtkstyleset.h
index 36edebb..986fdb0 100644
--- a/gtk/gtkstyleset.h
+++ b/gtk/gtkstyleset.h
@@ -55,6 +55,8 @@ void gtk_style_set_register_property (const gchar *property_name,
 
 void gtk_style_set_register_property_color  (const gchar *property_name,
                                              GdkColor    *default_value);
+void gtk_style_set_register_property_font   (const gchar          *property_name,
+                                             PangoFontDescription *initial_value);
 void gtk_style_set_register_property_int    (const gchar *property_name,
                                              gint         default_value);
 void gtk_style_set_register_property_uint   (const gchar *property_name,



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