From 77086b851bad20fc460e02a6a36c58fa68a43871 Mon Sep 17 00:00:00 2001 From: Nicola Fontana Date: Tue, 13 Apr 2010 15:03:13 +0200 Subject: [PATCH] [AdgDress] New builtin dress: ADG_DRESS_FONT_TEXT Implemented a generic dress to be used by default AdgToyText entities and by AdgTable values. --- src/adg/adg-dress-builtins.c | 29 +++++++++++++++++++++++++++++ src/adg/adg-dress-builtins.h | 2 ++ src/adg/adg-table-style.c | 4 ++-- src/adg/adg-toy-text.c | 4 ++-- src/adg/tests/test-table-style.c | 4 ++-- 5 files changed, 37 insertions(+), 6 deletions(-) diff --git a/src/adg/adg-dress-builtins.c b/src/adg/adg-dress-builtins.c index bc4cb440..ce8e44ca 100644 --- a/src/adg/adg-dress-builtins.c +++ b/src/adg/adg-dress-builtins.c @@ -372,6 +372,35 @@ _adg_dress_font(void) } /** + * ADG_DRESS_FONT_TEXT: + * + * The builtin #AdgDress font used by default for rendering + * common text such as #AdgToyText or the value of #AdgTable + * entities. The fallback style is %Sans %12 %bold with an + * #ADG_DRESS_COLOR_ANNOTATION color dress. + * + * This dress will be resolved to an #AdgFontStyle instance. + **/ +AdgDress +_adg_dress_font_text(void) +{ + static AdgDress dress = 0; + + if (G_UNLIKELY(dress == 0)) { + AdgStyle *fallback = g_object_new(ADG_TYPE_FONT_STYLE, + "color-dress", ADG_DRESS_COLOR_ANNOTATION, + "family", "Sans", + "weight", CAIRO_FONT_WEIGHT_BOLD, + "size", 12., NULL); + + dress = adg_dress_new("font-text", fallback); + g_object_unref(fallback); + } + + return dress; +} + +/** * ADG_DRESS_FONT_VALUE: * * The builtin #AdgDress font used for rendering the nominal diff --git a/src/adg/adg-dress-builtins.h b/src/adg/adg-dress-builtins.h index b4d7f62e..abf75b38 100644 --- a/src/adg/adg-dress-builtins.h +++ b/src/adg/adg-dress-builtins.h @@ -45,6 +45,7 @@ G_BEGIN_DECLS #define ADG_DRESS_LINE_GRID (_adg_dress_line_grid()) #define ADG_DRESS_LINE_FRAME (_adg_dress_line_frame()) #define ADG_DRESS_FONT (_adg_dress_font()) +#define ADG_DRESS_FONT_TEXT (_adg_dress_font_text()) #define ADG_DRESS_FONT_VALUE (_adg_dress_font_value()) #define ADG_DRESS_FONT_LIMIT (_adg_dress_font_limit()) #define ADG_DRESS_DIMENSION (_adg_dress_dimension()) @@ -66,6 +67,7 @@ AdgDress _adg_dress_line_hatch (void) G_GNUC_CONST; AdgDress _adg_dress_line_grid (void) G_GNUC_CONST; AdgDress _adg_dress_line_frame (void) G_GNUC_CONST; AdgDress _adg_dress_font (void) G_GNUC_CONST; +AdgDress _adg_dress_font_text (void) G_GNUC_CONST; AdgDress _adg_dress_font_value (void) G_GNUC_CONST; AdgDress _adg_dress_font_limit (void) G_GNUC_CONST; AdgDress _adg_dress_dimension (void) G_GNUC_CONST; diff --git a/src/adg/adg-table-style.c b/src/adg/adg-table-style.c index ae9a91a9..be0fd506 100644 --- a/src/adg/adg-table-style.c +++ b/src/adg/adg-table-style.c @@ -125,7 +125,7 @@ adg_table_style_class_init(AdgTableStyleClass *klass) param = adg_param_spec_dress("value-dress", P_("Value Dress"), P_("Font dress to use for values inside the cells"), - ADG_DRESS_FONT_VALUE, + ADG_DRESS_FONT_TEXT, G_PARAM_READWRITE); g_object_class_install_property(gobject_class, PROP_VALUE_DRESS, param); @@ -163,7 +163,7 @@ adg_table_style_init(AdgTableStyle *table_style) data->grid_dress = ADG_DRESS_LINE_GRID; data->frame_dress = ADG_DRESS_LINE_FRAME; data->title_dress = ADG_DRESS_FONT_LIMIT; - data->value_dress = ADG_DRESS_FONT_VALUE; + data->value_dress = ADG_DRESS_FONT_TEXT; data->row_height = 30; data->cell_padding.x = 5; data->cell_padding.y = 5; diff --git a/src/adg/adg-toy-text.c b/src/adg/adg-toy-text.c index de0f8660..e69ab609 100644 --- a/src/adg/adg-toy-text.c +++ b/src/adg/adg-toy-text.c @@ -102,7 +102,7 @@ adg_toy_text_class_init(AdgToyTextClass *klass) param = adg_param_spec_dress("font-dress", P_("Font Dress"), P_("The font dress to use for rendering this text"), - ADG_DRESS_FONT, + ADG_DRESS_FONT_TEXT, G_PARAM_READWRITE); g_object_class_install_property(gobject_class, PROP_FONT_DRESS, param); @@ -121,7 +121,7 @@ adg_toy_text_init(AdgToyText *toy_text) ADG_TYPE_TOY_TEXT, AdgToyTextPrivate); - data->font_dress = ADG_DRESS_FONT; + data->font_dress = ADG_DRESS_FONT_TEXT; data->label = NULL; data->glyphs = NULL; diff --git a/src/adg/tests/test-table-style.c b/src/adg/tests/test-table-style.c index 1ccfa18a..089d220b 100644 --- a/src/adg/tests/test-table-style.c +++ b/src/adg/tests/test-table-style.c @@ -326,8 +326,8 @@ _adg_value_dress(void) AdgDress value_dress; table_style = adg_table_style_new(); - valid_dress_1 = ADG_DRESS_FONT; - valid_dress_2 = ADG_DRESS_FONT_VALUE; + valid_dress_1 = ADG_DRESS_FONT_TEXT; + valid_dress_2 = ADG_DRESS_FONT_LIMIT; incompatible_dress = ADG_DRESS_LINE; /* Using the public APIs */ -- 2.11.4.GIT