[gtk+] pixbuf-engine: replace call to gdk_draw_pixbuf() with Cairo equivalent
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] pixbuf-engine: replace call to gdk_draw_pixbuf() with Cairo equivalent
- Date: Mon, 26 Jul 2010 14:52:45 +0000 (UTC)
commit a22ebc974fb564be838acb0e38da69c93fd41957
Author: Benjamin Otte <otte redhat com>
Date: Mon Jul 12 15:44:32 2010 +0200
pixbuf-engine: replace call to gdk_draw_pixbuf() with Cairo equivalent
modules/engines/pixbuf/pixbuf-render.c | 19 ++++++++++++-------
1 files changed, 12 insertions(+), 7 deletions(-)
---
diff --git a/modules/engines/pixbuf/pixbuf-render.c b/modules/engines/pixbuf/pixbuf-render.c
index 7b5bb12..d074f64 100644
--- a/modules/engines/pixbuf/pixbuf-render.c
+++ b/modules/engines/pixbuf/pixbuf-render.c
@@ -477,6 +477,9 @@ pixbuf_render (GdkPixbuf *src,
if (tmp_pixbuf)
{
+ cairo_t *cr;
+
+ cr = gdk_cairo_create (window);
if (mask)
{
gdk_pixbuf_render_threshold_alpha (tmp_pixbuf, mask,
@@ -485,13 +488,15 @@ pixbuf_render (GdkPixbuf *src,
rect.width, rect.height,
128);
}
-
- gdk_draw_pixbuf (window, NULL, tmp_pixbuf,
- x_offset, y_offset,
- rect.x, rect.y,
- rect.width, rect.height,
- GDK_RGB_DITHER_NORMAL,
- 0, 0);
+
+ gdk_cairo_set_source_pixbuf (cr,
+ tmp_pixbuf,
+ -x_offset + rect.x,
+ -y_offset + rect.y);
+ gdk_cairo_rectangle (cr, &rect);
+ cairo_fill (cr);
+
+ cairo_destroy (cr);
g_object_unref (tmp_pixbuf);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]