[gnome-games] gnobots2: Remove deprecated GdkColor usage



commit efb4e106a9b6c1b80c297fee895e8472f0dc5b2b
Author: Robert Ancell <robert ancell canonical com>
Date:   Sun Feb 5 18:08:49 2012 +1100

    gnobots2: Remove deprecated GdkColor usage

 gnobots2/src/graphics.c   |   31 ++++++++++++++++---------------
 gnobots2/src/graphics.h   |    2 +-
 gnobots2/src/properties.c |   14 +++++++-------
 3 files changed, 24 insertions(+), 23 deletions(-)
---
diff --git a/gnobots2/src/graphics.c b/gnobots2/src/graphics.c
index ed180a9..e0da667 100644
--- a/gnobots2/src/graphics.c
+++ b/gnobots2/src/graphics.c
@@ -52,8 +52,8 @@ static GamesPreimage *theme_preimage = NULL;
 static GdkPixbuf *theme_pixbuf = NULL;
 static gboolean rerender_needed = TRUE;
 
-static GdkColor light_background;
-static GdkColor dark_background;
+static GdkRGBA light_background;
+static GdkRGBA dark_background;
 
 static GdkPixbuf *aieee_pixbuf = NULL;
 static GdkPixbuf *yahoo_pixbuf = NULL;
@@ -281,9 +281,9 @@ set_game_graphics (gchar * name)
 }
 
 void
-set_background_color (GdkColor color)
+set_background_color (GdkRGBA color)
 {
-  guint32 brightness;
+  gdouble brightness;
 
   if (game_area == NULL)
     return;
@@ -292,20 +292,21 @@ set_background_color (GdkColor color)
    * which actually depends on how light or dark the base colour is. */
 
   brightness = color.red + color.green + color.blue;
-  if (brightness > 0xe8ba) {        /* 0xe8ba = 0x10000/1.1 */
+  if (brightness > (1.0 / 1.1)) {
     /* Darken light colours. */
     light_background.red = 0.9 * color.red;
     light_background.green = 0.9 * color.green;
     light_background.blue = 0.9 * color.blue;
-  } else if (brightness > 0xa00) {        /* Lighten darker colours. */
+  } else if (brightness > 0.04) {        /* Lighten darker colours. */
     light_background.red = 1.1 * color.red;
     light_background.green = 1.1 * color.green;
     light_background.blue = 1.1 * color.blue;
-  } else {                        /* Very dark colours, add ratehr than multiply. */
-    light_background.red += 0xa00;
-    light_background.green += 0xa00;
-    light_background.blue += 0xa00;
+  } else {                        /* Very dark colours, add rather than multiply. */
+    light_background.red += 0.04;
+    light_background.green += 0.04;
+    light_background.blue += 0.04;
   }
+  light_background.alpha = 1.0;
 
   dark_background = color;
 
@@ -315,13 +316,13 @@ set_background_color (GdkColor color)
 void
 set_background_color_from_name (gchar * name)
 {
-  GdkColor color;
+  GdkRGBA color;
 
   if (name == NULL)
     return;
 
-  if (!gdk_color_parse (name, &color)) {
-    gdk_color_parse ("#7590AE", &color);
+  if (!gdk_rgba_parse (&color, name)) {
+    gdk_rgba_parse (&color, "#7590AE");
   }
   set_background_color (color);
 }
@@ -342,9 +343,9 @@ static void
 draw_tile_pixmap (gint tileno, gint x, gint y, cairo_t * cr)
 {
   if ((x & 1) ^ (y & 1)) {
-    gdk_cairo_set_source_color (cr, &dark_background);
+    gdk_cairo_set_source_rgba (cr, &dark_background);
   } else {
-    gdk_cairo_set_source_color (cr, &light_background);
+    gdk_cairo_set_source_rgba (cr, &light_background);
   }
 
   x *= tile_width;
diff --git a/gnobots2/src/graphics.h b/gnobots2/src/graphics.h
index 4e18767..936c002 100644
--- a/gnobots2/src/graphics.h
+++ b/gnobots2/src/graphics.h
@@ -14,7 +14,7 @@ gboolean load_game_graphics (void);
 gboolean free_game_graphics (void);
 gint num_game_graphics (void);
 void set_game_graphics (gchar *);
-void set_background_color (GdkColor color);
+void set_background_color (GdkRGBA color);
 void set_background_color_from_name (gchar * name);
 
 void add_yahoo_bubble (gint, gint);
diff --git a/gnobots2/src/properties.c b/gnobots2/src/properties.c
index e8898a3..34e3aa0 100644
--- a/gnobots2/src/properties.c
+++ b/gnobots2/src/properties.c
@@ -76,7 +76,7 @@ struct _GnobotsProperties {
   gboolean super_safe_moves;
   gboolean sound;
   gboolean show_toolbar;
-  GdkColor bgcolour;
+  GdkRGBA bgcolour;
   gint selected_config;
   guint keys[N_KEYS];
   gchar *themename;
@@ -116,7 +116,7 @@ static void safe_cb (GtkWidget *, gpointer);
 static void sound_cb (GtkWidget *, gpointer);
 static void defkey_cb (GtkWidget *, gpointer);
 static void fill_typemenu (GtkWidget *);
-static void conf_set_background_color (GdkColor * c);
+static void conf_set_background_color (GdkRGBA * c);
 /**********************************************************************/
 
 
@@ -379,7 +379,7 @@ make_theme_menu (void)
 static void
 bg_color_callback (GtkWidget * widget, gpointer data)
 {
-  gtk_color_button_get_color (GTK_COLOR_BUTTON (widget),
+  gtk_color_button_get_rgba (GTK_COLOR_BUTTON (widget),
 			      &properties.bgcolour);
   set_background_color (properties.bgcolour);
   clear_game_area ();
@@ -526,7 +526,7 @@ show_properties_dialog (void)
   gtk_grid_attach (GTK_GRID (grid), label, 0, 1, 1, 1);
 
   w = gtk_color_button_new ();
-  gtk_color_button_set_color (GTK_COLOR_BUTTON (w), &properties.bgcolour);
+  gtk_color_button_set_rgba (GTK_COLOR_BUTTON (w), &properties.bgcolour);
   g_signal_connect (G_OBJECT (w), "color_set",
 		    G_CALLBACK (bg_color_callback), NULL);
   gtk_label_set_mnemonic_widget (GTK_LABEL (label), w);
@@ -604,7 +604,7 @@ load_properties (void)
   load_keys ();
 
   bgcolour = g_settings_get_string (settings, KEY_BACKGROUND_COLOR);
-  gdk_color_parse (bgcolour, &properties.bgcolour);
+  gdk_rgba_parse (&properties.bgcolour, bgcolour);
   set_background_color (properties.bgcolour);
 
   properties.themename = g_settings_get_string (settings, KEY_THEME);
@@ -657,11 +657,11 @@ conf_set_theme (gchar * value)
 }
 
 static void
-conf_set_background_color (GdkColor * c)
+conf_set_background_color (GdkRGBA * c)
 {
   char colour[64];
 
-  g_snprintf (colour, sizeof (colour), "#%04x%04x%04x", c->red, c->green, c->blue);
+  g_snprintf (colour, sizeof (colour), "#%04x%04x%04x", (int) (c->red * 65535 + 0.5), (int) (c->green * 65535 + 0.5), (int) (c->blue * 65535 + 0.5));
 
   g_settings_set_string (settings, KEY_BACKGROUND_COLOR, colour);
 }



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