[nautilus] canvas-item: use gtk_render_icon_surface for the DnD surface
- From: Cosimo Cecchi <cosimoc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] canvas-item: use gtk_render_icon_surface for the DnD surface
- Date: Mon, 5 Aug 2013 14:48:52 +0000 (UTC)
commit 31059f33c85ba261056ee501b7c3fe627b8fb463
Author: Cosimo Cecchi <cosimoc gnome org>
Date: Mon Aug 5 16:48:16 2013 +0200
canvas-item: use gtk_render_icon_surface for the DnD surface
So to get HiDpi support.
libnautilus-private/nautilus-canvas-item.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/libnautilus-private/nautilus-canvas-item.c b/libnautilus-private/nautilus-canvas-item.c
index b976fe5..009334b 100644
--- a/libnautilus-private/nautilus-canvas-item.c
+++ b/libnautilus-private/nautilus-canvas-item.c
@@ -461,6 +461,7 @@ nautilus_canvas_item_get_drag_surface (NautilusCanvasItem *item)
double item_x, item_y;
cairo_t *cr;
GtkStyleContext *context;
+ cairo_surface_t *drag_surface;
g_return_val_if_fail (NAUTILUS_IS_CANVAS_ITEM (item), NULL);
@@ -485,13 +486,17 @@ nautilus_canvas_item_get_drag_surface (NautilusCanvasItem *item)
width = EEL_CANVAS_ITEM (item)->x2 - EEL_CANVAS_ITEM (item)->x1;
height = EEL_CANVAS_ITEM (item)->y2 - EEL_CANVAS_ITEM (item)->y1;
- surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
- width, height);
-
+ surface = gdk_window_create_similar_surface (gtk_widget_get_window (GTK_WIDGET (canvas)),
+ CAIRO_CONTENT_COLOR_ALPHA,
+ width, height);
cr = cairo_create (surface);
- gtk_render_icon (context, cr, item->details->pixbuf,
- item_offset_x, item_offset_y);
+ drag_surface = gdk_cairo_surface_create_from_pixbuf (item->details->pixbuf,
+ gtk_widget_get_scale_factor (GTK_WIDGET
(canvas)),
+ gtk_widget_get_window (GTK_WIDGET (canvas)));
+ gtk_render_icon_surface (context, cr, drag_surface,
+ item_offset_x, item_offset_y);
+ cairo_surface_destroy (drag_surface);
get_scaled_icon_size (item, &pix_width, &pix_height);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]