summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2021-08-30 04:32:22 +0200
committerBenjamin Otte <otte@redhat.com>2021-08-30 04:36:16 +0200
commit6c87d362c5d52ad26cff03e7cab87496a4d51ae4 (patch)
tree559e02023faa91ed8b27b59afcdc91abddb345f9
parent7cdbdb663c35b72f8934698e8823d96ebef78ce5 (diff)
downloadgtk+-6c87d362c5d52ad26cff03e7cab87496a4d51ae4.tar.gz
enums: Add a GtkSymbolicColor enum
That way we don't nedmagic numbres to index the colors array. Use it in the symbolic paintable demo.
-rw-r--r--demos/gtk-demo/paintable_symbolic.c6
-rw-r--r--gtk/gtkenums.h19
2 files changed, 22 insertions, 3 deletions
diff --git a/demos/gtk-demo/paintable_symbolic.c b/demos/gtk-demo/paintable_symbolic.c
index 6be093f6e6..8f31ca31ef 100644
--- a/demos/gtk-demo/paintable_symbolic.c
+++ b/demos/gtk-demo/paintable_symbolic.c
@@ -61,10 +61,10 @@ gtk_nuclear_symbolic_snapshot_symbolic (GtkSymbolicPaintable *paintable,
bg_color = &transparent;
break;
case WARNING_ALERT:
- bg_color = &colors[2]; /* warning color */
+ bg_color = &colors[GTK_SYMBOLIC_COLOR_WARNING];
break;
case WARNING_EMERGENCY:
- bg_color = &colors[1]; /* error color */
+ bg_color = &colors[GTK_SYMBOLIC_COLOR_ERROR];
break;
default:
/* This should never happen, but we better do defensive coding
@@ -76,7 +76,7 @@ gtk_nuclear_symbolic_snapshot_symbolic (GtkSymbolicPaintable *paintable,
/* Draw the icon with the selected warning color */
gtk_nuclear_snapshot (snapshot,
- &colors[0], /* foreground color */
+ &colors[GTK_SYMBOLIC_COLOR_FOREGROUND],
bg_color,
width, height,
0);
diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h
index 31b0c8fb46..0dbae71726 100644
--- a/gtk/gtkenums.h
+++ b/gtk/gtkenums.h
@@ -1132,6 +1132,25 @@ typedef enum {
} GtkSystemSetting;
/**
+ * GtkSymbolicColor:
+ * @GTK_SYMBOLIC_COLOR_FOREGROUND: The default foreground color
+ * @GTK_SYMBOLIC_COLOR_ERROR: Indication color for errors
+ * @GTK_SYMBOLIC_COLOR_WARNING: Indication color for warnings
+ * @GTK_SYMBOLIC_COLOR_SUCCESS: Indication color for success
+ *
+ * The indexes of colors passed to symbolic color rendering, such as
+ * [vfunc.GtkSymbolicPaintable.snapshot_symbolic].
+ *
+ * More values may be added over time.
+ */
+typedef enum {
+ GTK_SYMBOLIC_COLOR_FOREGROUND = 0,
+ GTK_SYMBOLIC_COLOR_ERROR = 1,
+ GTK_SYMBOLIC_COLOR_WARNING = 2,
+ GTK_SYMBOLIC_COLOR_SUCCESS = 3
+} GtkSymbolicColor;
+
+/**
* GtkAccessibleRole:
* @GTK_ACCESSIBLE_ROLE_ALERT: An element with important, and usually
* time-sensitive, information