[gnome-mag/cairo-port] Draw magnifier source with Cairo



commit b57825508e689c15da73e5ba85d94d2caf3b196a
Author: Benjamin Otte <otte redhat com>
Date:   Fri Aug 13 04:36:44 2010 +0200

    Draw magnifier source with Cairo

 magnifier/zoom-region.c |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)
---
diff --git a/magnifier/zoom-region.c b/magnifier/zoom-region.c
index 49401eb..1086d70 100644
--- a/magnifier/zoom-region.c
+++ b/magnifier/zoom-region.c
@@ -1042,15 +1042,19 @@ zoom_region_paint_pixmap (ZoomRegion *zoom_region,
 
 	if (zoom_region->priv->pixmap && GDK_IS_DRAWABLE (gtk_widget_get_window (GTK_WIDGET (zoom_region))))
 	{
-		gdk_draw_drawable (gtk_widget_get_window (GTK_WIDGET (zoom_region)),
-				   zoom_region->priv->default_gc,
-				   zoom_region->priv->pixmap,
-				   area->x + zoom_region->priv->exposed_bounds.x1 - zoom_region->priv->source_area.x1 * zoom_region->xscale,
-				   area->y + zoom_region->priv->exposed_bounds.y1 - zoom_region->priv->source_area.y1 * zoom_region->yscale,
-				   area->x,
-				   area->y,
-				   area->width,
-				   area->height);
+                cairo_t *cr;
+
+                cr = gdk_cairo_create (gtk_widget_get_window (GTK_WIDGET (zoom_region)));
+
+                gdk_cairo_set_source_pixmap (cr,
+                                             zoom_region->priv->pixmap,
+                                             zoom_region->priv->source_area.x1 * zoom_region->xscale - zoom_region->priv->exposed_bounds.x1,
+                                             zoom_region->priv->source_area.y1 * zoom_region->yscale - zoom_region->priv->exposed_bounds.y1);
+
+                gdk_cairo_rectangle (cr, area);
+                cairo_fill (cr);
+
+                cairo_destroy (cr);
 	}
 }
 



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