From 16484f845901137a7102833128fb02e10acbbde6 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 7 Mar 2010 19:07:27 +0100 Subject: [PATCH] GtkStyleSet: Add method to register font properties. --- gtk/gtkstyleset.c | 22 ++++++++++++++++++++++ gtk/gtkstyleset.h | 2 ++ 2 files changed, 24 insertions(+) diff --git a/gtk/gtkstyleset.c b/gtk/gtkstyleset.c index c2db1fc25b..6ac544294d 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)); } @@ -227,6 +232,23 @@ gtk_style_set_register_property_color (const gchar *property_name, g_value_unset (&value); } +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 36edebbc61..986fdb0dbd 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,