[gtk+] trayicon: Use gdk_cairo_get_clip_rectangle() to simplify code
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] trayicon: Use gdk_cairo_get_clip_rectangle() to simplify code
- Date: Thu, 30 Sep 2010 13:51:32 +0000 (UTC)
commit c6e58f84ee9fed3f173ec0bf3e907cac1750fcd0
Author: Benjamin Otte <otte redhat com>
Date: Thu Sep 30 15:50:52 2010 +0200
trayicon: Use gdk_cairo_get_clip_rectangle() to simplify code
gtk/gtktrayicon-x11.c | 35 ++++++++++++++++++-----------------
1 files changed, 18 insertions(+), 17 deletions(-)
---
diff --git a/gtk/gtktrayicon-x11.c b/gtk/gtktrayicon-x11.c
index 48d25ed..0d9b3af 100644
--- a/gtk/gtktrayicon-x11.c
+++ b/gtk/gtktrayicon-x11.c
@@ -335,23 +335,24 @@ gtk_tray_icon_draw (GtkWidget *widget,
}
else
{
- double x1, y1, x2, y2;
-
- cairo_clip_extents (cr, &x1, &x2, &y1, &y2);
- /* Clear to parent-relative pixmap
- * We need to use direct X access here because GDK doesn't know about
- * the parent realtive pixmap. */
- cairo_surface_flush (target);
-
- XClearArea (GDK_WINDOW_XDISPLAY (window),
- GDK_WINDOW_XID (window),
- floor (x1), floor (y1),
- ceil (x2) - floor (x1), ceil (y2) - floor (y1),
- False);
- cairo_surface_mark_dirty_rectangle (target,
- floor (x1), floor (y1),
- ceil (x2) - floor (x1),
- ceil (y2) - floor (y1));
+ GdkRectangle clip;
+
+ if (gdk_cairo_get_clip_rectangle (cr, &clip))
+ {
+ /* Clear to parent-relative pixmap
+ * We need to use direct X access here because GDK doesn't know about
+ * the parent realtive pixmap. */
+ cairo_surface_flush (target);
+
+ XClearArea (GDK_WINDOW_XDISPLAY (window),
+ GDK_WINDOW_XID (window),
+ clip.x, clip.y,
+ clip.width, clip.height,
+ False);
+ cairo_surface_mark_dirty_rectangle (target,
+ clip.x, clip.y,
+ clip.width, clip.height);
+ }
}
if (GTK_WIDGET_CLASS (gtk_tray_icon_parent_class)->draw)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]