[gnome-desktop/gnome-2-32] Don't use deprecated Gdk drawing APIs



commit 43ce41648e8f7937cb468e5a6cb7b0aa6bb535aa
Author: Benjamin Otte <otte redhat com>
Date:   Fri Jul 23 10:16:22 2010 +0200

    Don't use deprecated Gdk drawing APIs
    
    https://bugzilla.gnome.org/show_bug.cgi?id=625097

 libgnome-desktop/gnome-bg.c |   23 +++++++++--------------
 1 files changed, 9 insertions(+), 14 deletions(-)
---
diff --git a/libgnome-desktop/gnome-bg.c b/libgnome-desktop/gnome-bg.c
index ae67ad9..e176334 100644
--- a/libgnome-desktop/gnome-bg.c
+++ b/libgnome-desktop/gnome-bg.c
@@ -207,10 +207,7 @@ color_from_string (const char *string,
 	if (!string)
 		return;
 
-	if (!gdk_color_parse (string, colorp))
-		return;
-
-	gdk_rgb_find_color (gdk_rgb_get_colormap(), colorp);
+	gdk_color_parse (string, colorp);
 }
 
 static char *
@@ -969,6 +966,7 @@ gnome_bg_create_pixmap (GnomeBG	    *bg,
 {
 	int pm_width, pm_height;
 	GdkPixmap *pixmap;
+	cairo_t *cr;
 	
 	g_return_val_if_fail (bg != NULL, NULL);
 	g_return_val_if_fail (window != NULL, NULL);
@@ -994,13 +992,9 @@ gnome_bg_create_pixmap (GnomeBG	    *bg,
 		pixmap = gdk_pixmap_new (window, pm_width, pm_height, -1);
 	}
 	
+	cr = gdk_cairo_create (pixmap);
 	if (!bg->filename && bg->color_type == GNOME_BG_COLOR_SOLID) {
-		GdkGC *gc = gdk_gc_new (pixmap);
-		gdk_gc_set_rgb_fg_color (gc, &(bg->primary));
-		
-		gdk_draw_point (pixmap, gc, 0, 0);
-		
-		g_object_unref (gc);
+		gdk_cairo_set_source_color (cr, &(bg->primary));
 	}
 	else {
 		GdkPixbuf *pixbuf;
@@ -1008,13 +1002,14 @@ gnome_bg_create_pixmap (GnomeBG	    *bg,
 		pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8,
 					 width, height);
 		gnome_bg_draw (bg, pixbuf, gdk_drawable_get_screen (GDK_DRAWABLE (window)), is_root);
-		gdk_draw_pixbuf (pixmap, NULL, pixbuf,
-				 0, 0,
-				 0, 0, width, height,
-				 GDK_RGB_DITHER_MAX, 0, 0);
+		gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0);
 		g_object_unref (pixbuf);
 	}
+
+	cairo_paint (cr);
 	
+	cairo_destroy (cr);
+
 	return pixmap;
 }
 



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