[maemo-commits] [maemo-commits] r18887 - in projects/haf/trunk/gtk+: . gdk

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Jul 20 16:49:50 EEST 2009
Author: herzi
Date: 2009-07-20 16:49:48 +0300 (Mon, 20 Jul 2009)
New Revision: 18887

Modified:
   projects/haf/trunk/gtk+/ChangeLog
   projects/haf/trunk/gtk+/gdk/gdkwindow.c
Log:
2009-01-14  Sven Herzberg  <sven at imendio.com>

	About: NB#89864 - RGBA support

	* gdk/gdkwindow.c (gdk_window_begin_paint_region): clear the window's
	background for each 32bit window



Modified: projects/haf/trunk/gtk+/ChangeLog
===================================================================
--- projects/haf/trunk/gtk+/ChangeLog	2009-07-20 13:49:35 UTC (rev 18886)
+++ projects/haf/trunk/gtk+/ChangeLog	2009-07-20 13:49:48 UTC (rev 18887)
@@ -1,3 +1,10 @@
+2009-01-14  Sven Herzberg  <sven at imendio.com>
+
+	About: NB#89864 - RGBA support
+
+	* gdk/gdkwindow.c (gdk_window_begin_paint_region): clear the window's
+	background for each 32bit window
+
 2009-01-09  Sven Herzberg  <sven at imendio.com>
 
 	About: NB#89864 - RGBA support

Modified: projects/haf/trunk/gtk+/gdk/gdkwindow.c
===================================================================
--- projects/haf/trunk/gtk+/gdk/gdkwindow.c	2009-07-20 13:49:35 UTC (rev 18886)
+++ projects/haf/trunk/gtk+/gdk/gdkwindow.c	2009-07-20 13:49:48 UTC (rev 18887)
@@ -1136,6 +1136,18 @@
 		    MAX (clip_box.width, 1), MAX (clip_box.height, 1), -1);
 
   paint->surface = _gdk_drawable_ref_cairo_surface (paint->pixmap);
+#ifdef MAEMO_CHANGES
+  if (gdk_drawable_get_depth (paint->pixmap) == 32)
+    {
+      cairo_t* cr = gdk_cairo_create (paint->pixmap);
+      cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+      cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0);
+      gdk_cairo_region (cr, paint->region);
+      cairo_clip (cr);
+      cairo_paint (cr);
+      cairo_destroy (cr);
+    }
+#endif
   cairo_surface_set_device_offset (paint->surface,
 				   - paint->x_offset, - paint->y_offset);
   
@@ -1154,6 +1166,19 @@
 				     clip_box.x, clip_box.y,
 				     clip_box.width, clip_box.height);
     }
+
+#ifdef MAEMO_CHANGES
+  if (gdk_drawable_get_depth (window) == 32)
+    {
+      cairo_t* cr = gdk_cairo_create (window);
+      cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+      cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0);
+      gdk_cairo_region (cr, region);
+      cairo_clip (cr);
+      cairo_paint (cr);
+      cairo_destroy (cr);
+    }
+#endif
 #endif /* USE_BACKING_STORE */
 }
 

More information about the maemo-commits mailing list