dnd: Make dnd icon API take a paintable

... instead of a texture.
This commit is contained in:
Benjamin Otte 2018-02-18 05:27:59 +01:00
parent ccb6b8585c
commit 89ee42db54
4 changed files with 15 additions and 12 deletions

View File

@ -127,7 +127,10 @@ drag_begin (GtkWidget *widget,
texture = get_image_texture (GTK_IMAGE (widget));
if (texture)
gtk_drag_set_icon_texture (context, texture, -2, -2);
{
gtk_drag_set_icon_paintable (context, GDK_PAINTABLE (texture), -2, -2);
g_object_unref (texture);
}
}
void

View File

@ -4993,7 +4993,7 @@ gtk_drag_begin_with_coordinates
gtk_drag_cancel
gtk_drag_set_icon_widget
gtk_drag_set_icon_surface
gtk_drag_set_icon_texture
gtk_drag_set_icon_paintable
gtk_drag_set_icon_name
gtk_drag_set_icon_gicon
gtk_drag_set_icon_default

View File

@ -1208,10 +1208,10 @@ gtk_drag_set_icon_surface (GdkDragContext *context,
}
/**
* gtk_drag_set_icon_texture:
* gtk_drag_set_icon_paintable:
* @context: the context for a drag (This must be called
* with a context for the source side of a drag)
* @texture: the #GdkTexture to use as icon
* @paintable: the #GdkPaintable to use as icon
* @hot_x: the X offset of the hotspot within the icon
* @hot_y: the Y offset of the hotspot within the icon
*
@ -1224,17 +1224,17 @@ gtk_drag_set_icon_surface (GdkDragContext *context,
* mouse cursor.
*/
void
gtk_drag_set_icon_texture (GdkDragContext *context,
GdkTexture *texture,
int hot_x,
int hot_y)
gtk_drag_set_icon_paintable (GdkDragContext *context,
GdkPaintable *paintable,
int hot_x,
int hot_y)
{
GtkWidget *widget;
g_return_if_fail (GDK_IS_DRAG_CONTEXT (context));
g_return_if_fail (GDK_IS_TEXTURE (texture));
g_return_if_fail (GDK_IS_PAINTABLE (paintable));
widget = gtk_image_new_from_texture (texture);
widget = gtk_image_new_from_paintable (paintable);
gtk_drag_set_icon_widget_internal (context, widget, hot_x, hot_y, TRUE);
}

View File

@ -79,8 +79,8 @@ GDK_AVAILABLE_IN_ALL
void gtk_drag_set_icon_surface(GdkDragContext *context,
cairo_surface_t *surface);
GDK_AVAILABLE_IN_ALL
void gtk_drag_set_icon_texture(GdkDragContext *context,
GdkTexture *texture,
void gtk_drag_set_icon_paintable (GdkDragContext *context,
GdkPaintable *paintable,
int hot_x,
int hot_y);
GDK_AVAILABLE_IN_ALL