[libgnomekbd] Clear pixmap using Cairo



commit b6a967d9f1cbe7f58aa9c601cb79db779dc53b8a
Author: Benjamin Otte <otte redhat com>
Date:   Thu Aug 19 12:36:11 2010 +0200

    Clear pixmap using Cairo
    
    https://bugzilla.gnome.org/show_bug.cgi?id=627353

 libgnomekbd/gkbd-keyboard-drawing.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)
---
diff --git a/libgnomekbd/gkbd-keyboard-drawing.c b/libgnomekbd/gkbd-keyboard-drawing.c
index 3d2f5fb..188e90e 100644
--- a/libgnomekbd/gkbd-keyboard-drawing.c
+++ b/libgnomekbd/gkbd-keyboard-drawing.c
@@ -1324,6 +1324,7 @@ static void
 draw_keyboard (GkbdKeyboardDrawing * drawing)
 {
 	GtkStateType state = gtk_widget_get_state (GTK_WIDGET (drawing));
+        GtkStyle *style = gtk_widget_get_style (GTK_WIDGET (drawing));
 	GtkAllocation allocation;
 
 	if (!drawing->xkb)
@@ -1335,14 +1336,12 @@ draw_keyboard (GkbdKeyboardDrawing * drawing)
 	    gdk_pixmap_new (gtk_widget_get_window (GTK_WIDGET (drawing)),
 			    allocation.width, allocation.height, -1);
 
-	/* blank background */
-	gdk_draw_rectangle (drawing->pixmap,
-			    gtk_widget_get_style (GTK_WIDGET
-						  (drawing))->base_gc
-			    [state], TRUE, 0, 0, allocation.width,
-			    allocation.height);
-
 	if (create_cairo (drawing)) {
+	        /* blank background */
+                gdk_cairo_set_source_color (drawing->renderContext->cr,
+                                            &style->base[state]);
+                cairo_paint (drawing->renderContext->cr);
+
 		draw_keyboard_to_context (drawing->renderContext, drawing);
 		destroy_cairo (drawing);
 	}



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