[gtk+] css: Privately export a function to get pseudoclass names
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] css: Privately export a function to get pseudoclass names
- Date: Sun, 24 Jan 2016 16:00:05 +0000 (UTC)
commit 33bb1af277c7311dcf89dc85d45f5319d0edd8f6
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Jan 24 10:56:23 2016 -0500
css: Privately export a function to get pseudoclass names
This function centralizes the mapping for widget states
to pseudoclass names in one place, for easier maintenance.
gtk/gtkcssselector.c | 27 ++++++++++++++-------------
gtk/gtkcssselectorprivate.h | 2 ++
2 files changed, 16 insertions(+), 13 deletions(-)
---
diff --git a/gtk/gtkcssselector.c b/gtk/gtkcssselector.c
index 7616493..b23e1fd 100644
--- a/gtk/gtkcssselector.c
+++ b/gtk/gtkcssselector.c
@@ -726,11 +726,8 @@ comp_id (const GtkCssSelector *a,
DEFINE_SIMPLE_SELECTOR(id, ID, print_id, match_id, hash_id, comp_id, TRUE, FALSE, FALSE)
-/* PSEUDOCLASS FOR STATE */
-
-static void
-print_pseudoclass_state (const GtkCssSelector *selector,
- GString *string)
+const gchar *
+gtk_css_pseudoclass_name (GtkStateFlags state)
{
static const char * state_names[] = {
"active",
@@ -749,18 +746,22 @@ print_pseudoclass_state (const GtkCssSelector *selector,
};
guint i;
- g_string_append_c (string, ':');
-
for (i = 0; i < G_N_ELEMENTS (state_names); i++)
{
- if (selector->state.state == (1 << i))
- {
- g_string_append (string, state_names[i]);
- return;
- }
+ if (state == (1 << i))
+ return state_names[i];
}
- g_assert_not_reached ();
+ return NULL;
+}
+
+/* PSEUDOCLASS FOR STATE */
+static void
+print_pseudoclass_state (const GtkCssSelector *selector,
+ GString *string)
+{
+ g_string_append_c (string, ':');
+ g_string_append (string, gtk_css_pseudoclass_name (selector->state.state));
}
static gboolean
diff --git a/gtk/gtkcssselectorprivate.h b/gtk/gtkcssselectorprivate.h
index e23ae09..64eb13d 100644
--- a/gtk/gtkcssselectorprivate.h
+++ b/gtk/gtkcssselectorprivate.h
@@ -57,6 +57,8 @@ void _gtk_css_selector_tree_builder_add (GtkCssSelectorT
GtkCssSelectorTree * _gtk_css_selector_tree_builder_build (GtkCssSelectorTreeBuilder *builder);
void _gtk_css_selector_tree_builder_free (GtkCssSelectorTreeBuilder *builder);
+const char *gtk_css_pseudoclass_name (GtkStateFlags flags);
+
G_END_DECLS
#endif /* __GTK_CSS_SELECTOR_PRIVATE_H__ */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]