[gtk+/rendering-cleanup: 48/141] menu: set tearoff background using new background API
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/rendering-cleanup: 48/141] menu: set tearoff background using new background API
- Date: Sat, 11 Sep 2010 03:04:40 +0000 (UTC)
commit d8cd551667174bce1384a8b588972f0994aef766
Author: Benjamin Otte <otte redhat com>
Date: Sun Aug 15 14:41:29 2010 +0200
menu: set tearoff background using new background API
gtk/gtkmenu.c | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 0a4575c..6bc4644 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -1342,8 +1342,9 @@ gtk_menu_tearoff_bg_copy (GtkMenu *menu)
if (menu->torn_off)
{
- GdkPixmap *pixmap;
GdkWindow *window;
+ cairo_surface_t *surface;
+ cairo_pattern_t *pattern;
cairo_t *cr;
menu->tearoff_active = FALSE;
@@ -1353,12 +1354,12 @@ gtk_menu_tearoff_bg_copy (GtkMenu *menu)
gdk_drawable_get_size (window, &width, &height);
- pixmap = gdk_pixmap_new (window,
- width,
- height,
- -1);
+ surface = gdk_window_create_similar_surface (window,
+ CAIRO_CONTENT_COLOR,
+ width,
+ height);
- cr = gdk_cairo_create (pixmap);
+ cr = cairo_create (surface);
/* Let's hope that function never notices we're not passing it a pixmap */
gdk_cairo_set_source_pixmap (cr,
window,
@@ -1370,8 +1371,11 @@ gtk_menu_tearoff_bg_copy (GtkMenu *menu)
width,
height);
- gdk_window_set_back_pixmap (window, pixmap, FALSE);
- g_object_unref (pixmap);
+ pattern = cairo_pattern_create_for_surface (surface);
+ gdk_window_set_background_pattern (window, pattern);
+
+ cairo_pattern_destroy (pattern);
+ cairo_surface_destroy (surface);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]