[gtk+/wip/css: 7/22] css: color_compute no longer needs to check type
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/css: 7/22] css: color_compute no longer needs to check type
- Date: Tue, 17 Jan 2012 00:10:18 +0000 (UTC)
commit 2bb6c1c6826709faa1a92c350fb3bd207d47685e
Author: Benjamin Otte <otte redhat com>
Date: Sat Jan 14 05:02:25 2012 +0100
css: color_compute no longer needs to check type
The input is always a symbolic color.
gtk/gtkcssstylepropertyimpl.c | 98 +++++++++++++++++++----------------------
1 files changed, 46 insertions(+), 52 deletions(-)
---
diff --git a/gtk/gtkcssstylepropertyimpl.c b/gtk/gtkcssstylepropertyimpl.c
index 9112be0..b4c88ad 100644
--- a/gtk/gtkcssstylepropertyimpl.c
+++ b/gtk/gtkcssstylepropertyimpl.c
@@ -47,58 +47,6 @@
/*** REGISTRATION ***/
static void
-color_compute (GtkCssStyleProperty *property,
- GValue *computed,
- GtkStyleContext *context,
- const GValue *specified)
-{
- if (G_VALUE_HOLDS (specified, GTK_TYPE_SYMBOLIC_COLOR))
- {
- GtkSymbolicColor *symbolic = g_value_get_boxed (specified);
- GdkRGBA rgba;
-
- if (symbolic == _gtk_symbolic_color_get_current_color ())
- {
- /* The computed value of the âcurrentColorâ keyword is the computed
- * value of the âcolorâ property. If the âcurrentColorâ keyword is
- * set on the âcolorâ property itself, it is treated as âcolor: inheritâ.
- */
- if (g_str_equal (_gtk_style_property_get_name (GTK_STYLE_PROPERTY (property)), "color"))
- {
- GtkStyleContext *parent = gtk_style_context_get_parent (context);
-
- if (parent)
- g_value_copy (_gtk_style_context_peek_property (parent, "color"), computed);
- else
- _gtk_css_style_compute_value (computed,
- context,
- _gtk_css_style_property_get_initial_value (property));
- }
- else
- {
- g_value_copy (_gtk_style_context_peek_property (context, "color"), computed);
- }
- }
- else if (_gtk_style_context_resolve_color (context,
- symbolic,
- &rgba))
- {
- g_value_set_boxed (computed, &rgba);
- }
- else
- {
- color_compute (property,
- computed,
- context,
- _gtk_css_style_property_get_initial_value (property));
- }
-
- }
- else
- g_value_copy (specified, computed);
-}
-
-static void
_gtk_style_property_register (const char * name,
GType computed_type,
GType value_type,
@@ -216,6 +164,52 @@ string_append_string (GString *str,
/*** IMPLEMENTATIONS ***/
+static void
+color_compute (GtkCssStyleProperty *property,
+ GValue *computed,
+ GtkStyleContext *context,
+ const GValue *specified)
+{
+ GtkSymbolicColor *symbolic = g_value_get_boxed (specified);
+ GdkRGBA rgba;
+
+ if (symbolic == _gtk_symbolic_color_get_current_color ())
+ {
+ /* The computed value of the âcurrentColorâ keyword is the computed
+ * value of the âcolorâ property. If the âcurrentColorâ keyword is
+ * set on the âcolorâ property itself, it is treated as âcolor: inheritâ.
+ */
+ if (g_str_equal (_gtk_style_property_get_name (GTK_STYLE_PROPERTY (property)), "color"))
+ {
+ GtkStyleContext *parent = gtk_style_context_get_parent (context);
+
+ if (parent)
+ g_value_copy (_gtk_style_context_peek_property (parent, "color"), computed);
+ else
+ _gtk_css_style_compute_value (computed,
+ context,
+ _gtk_css_style_property_get_initial_value (property));
+ }
+ else
+ {
+ g_value_copy (_gtk_style_context_peek_property (context, "color"), computed);
+ }
+ }
+ else if (_gtk_style_context_resolve_color (context,
+ symbolic,
+ &rgba))
+ {
+ g_value_set_boxed (computed, &rgba);
+ }
+ else
+ {
+ color_compute (property,
+ computed,
+ context,
+ _gtk_css_style_property_get_initial_value (property));
+ }
+}
+
static gboolean
font_family_parse (GtkCssStyleProperty *property,
GValue *value,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]