[gtk+] win32: Allow querying names for colors



commit ecaca073f14abd64adc7edf46c8928b20936bf4e
Author: Benjamin Otte <otte redhat com>
Date:   Sun Feb 21 23:39:38 2016 +0100

    win32: Allow querying names for colors

 gtk/gtkwin32draw.c        |   25 +++++++++++++++++++++++++
 gtk/gtkwin32drawprivate.h |    3 +++
 2 files changed, 28 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkwin32draw.c b/gtk/gtkwin32draw.c
index 27a7141..7590e09 100644
--- a/gtk/gtkwin32draw.c
+++ b/gtk/gtkwin32draw.c
@@ -501,6 +501,31 @@ static struct {
 #undef RGB
 };
 
+const char *
+gtk_win32_get_sys_color_name_for_id (gint id)
+{
+  if (id >= 0 && id < G_N_ELEMENTS (win32_default_colors))
+    return win32_default_colors[id].name;
+  else
+    return NULL;
+}
+
+int
+gtk_win32_get_sys_color_id_for_name (const char *name)
+{
+  int i;
+
+  g_return_val_if_fail (name != NULL, -1);
+
+  for (i = 0; i < G_N_ELEMENTS (win32_default_colors); i++)
+    {
+      if (g_str_equal (name, win32_default_colors[i].name))
+        return i;
+    }
+
+  return -1;
+}
+
 void
 gtk_win32_get_sys_color (gint     id,
                          GdkRGBA *color)
diff --git a/gtk/gtkwin32drawprivate.h b/gtk/gtkwin32drawprivate.h
index 20851fc..da8ce7c 100644
--- a/gtk/gtkwin32drawprivate.h
+++ b/gtk/gtkwin32drawprivate.h
@@ -168,6 +168,9 @@ void                    gtk_win32_get_theme_margins             (const char
                                                                  GtkBorder      *out_margins);
 
 int                     gtk_win32_get_sys_metric                (gint            id);
+
+const char *            gtk_win32_get_sys_color_name_for_id     (gint            id);
+int                     gtk_win32_get_sys_color_id_for_name     (const char     *name);
 void                    gtk_win32_get_sys_color                 (gint            id,
                                                                  GdkRGBA        *color);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]