chiark / gitweb /
GTK 3 port: use GdkRGBA for the window background colour.
authorSimon Tatham <anakin@pobox.com>
Sat, 3 Oct 2015 11:28:17 +0000 (12:28 +0100)
committerSimon Tatham <anakin@pobox.com>
Sat, 3 Oct 2015 15:07:19 +0000 (16:07 +0100)
Suits our internal API better, anyway, with RGB components being
floats ranging from 0 to 1.

gtk.c

diff --git a/gtk.c b/gtk.c
index 4309f6dc509b407682bfdd932ca8d2d4b77b7220..c3c10a5af611e931f5267d84604966d2e8e3475a 100644 (file)
--- a/gtk.c
+++ b/gtk.c
@@ -268,6 +268,15 @@ static void set_colour(frontend *fe, int colour)
 
 static void set_window_background(frontend *fe, int colour)
 {
+#if GTK_CHECK_VERSION(3,0,0)
+    GdkRGBA rgba;
+    rgba.red = fe->colours[3*colour + 0];
+    rgba.green = fe->colours[3*colour + 1];
+    rgba.blue = fe->colours[3*colour + 2];
+    rgba.alpha = 1.0;
+    gdk_window_set_background_rgba(gtk_widget_get_window(fe->area), &rgba);
+    gdk_window_set_background_rgba(gtk_widget_get_window(fe->window), &rgba);
+#else
     GdkColormap *colmap;
 
     colmap = gdk_colormap_get_system();
@@ -283,6 +292,7 @@ static void set_window_background(frontend *fe, int colour)
                               &fe->background);
     gdk_window_set_background(gtk_widget_get_window(fe->window),
                               &fe->background);
+#endif
 }
 
 static PangoLayout *make_pango_layout(frontend *fe)