[gtk+/wip/matthiasc/caret-color: 2/4] Add the caret-color CSS property
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/matthiasc/caret-color: 2/4] Add the caret-color CSS property
- Date: Thu, 7 Jan 2016 03:22:36 +0000 (UTC)
commit 0903bca8aa55b43e44825dcde7e5aec40f9aac88
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Jan 6 22:05:29 2016 -0500
Add the caret-color CSS property
This property is defined in http://www.w3.org/TR/css3-ui/#caret-color.
We also add a -gtk-secondary-caret-color property, since GTK+ has
supported differently colored split cursors in the past.
gtk/gtkcssstylepropertyimpl.c | 30 +++++++++++++++++++++++++++++-
gtk/gtkcsstypesprivate.h | 2 ++
2 files changed, 31 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkcssstylepropertyimpl.c b/gtk/gtkcssstylepropertyimpl.c
index bd7f664..869a0a5 100644
--- a/gtk/gtkcssstylepropertyimpl.c
+++ b/gtk/gtkcssstylepropertyimpl.c
@@ -181,6 +181,16 @@ color_parse (GtkCssStyleProperty *property,
return _gtk_css_color_value_parse (parser);
}
+static GtkCssValue *
+caret_color_parse (GtkCssStyleProperty *property,
+ GtkCssParser *parser)
+{
+ if (_gtk_css_parser_try (parser, "auto", TRUE))
+ return _gtk_css_color_value_new_auto ();
+
+ return _gtk_css_color_value_parse (parser);
+}
+
static void
color_query (GtkCssStyleProperty *property,
const GtkCssValue *css_value,
@@ -1801,5 +1811,23 @@ G_GNUC_END_IGNORE_DEPRECATIONS
bindings_value_assign,
_gtk_css_array_value_new (_gtk_css_string_value_new (NULL)));
_gtk_style_property_add_alias ("-gtk-key-bindings", "gtk-key-bindings");
-}
+ gtk_css_style_property_register ("caret-color",
+ GTK_CSS_PROPERTY_CARET_COLOR,
+ G_TYPE_NONE,
+ GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
+ GTK_CSS_AFFECTS_TEXT,
+ caret_color_parse,
+ NULL,
+ NULL,
+ _gtk_css_color_value_new_auto ());
+ gtk_css_style_property_register ("-gtk-secondary-caret-color",
+ GTK_CSS_PROPERTY_SECONDARY_CARET_COLOR,
+ G_TYPE_NONE,
+ GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
+ GTK_CSS_AFFECTS_TEXT,
+ caret_color_parse,
+ NULL,
+ NULL,
+ _gtk_css_color_value_new_auto ());
+}
diff --git a/gtk/gtkcsstypesprivate.h b/gtk/gtkcsstypesprivate.h
index 1660db8..082b3f6 100644
--- a/gtk/gtkcsstypesprivate.h
+++ b/gtk/gtkcsstypesprivate.h
@@ -222,6 +222,8 @@ enum { /*< skip >*/
GTK_CSS_PROPERTY_ICON_PALETTE,
GTK_CSS_PROPERTY_ENGINE,
GTK_CSS_PROPERTY_GTK_KEY_BINDINGS,
+ GTK_CSS_PROPERTY_CARET_COLOR,
+ GTK_CSS_PROPERTY_SECONDARY_CARET_COLOR,
/* add more */
GTK_CSS_PROPERTY_N_PROPERTIES
};
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]