1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/* -*- Mode: C; c-file-style: "gnu"; tab-width: 8 -*- */
/* CTK - The GIMP Toolkit
 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
 */

/*
 * Modified by the CTK+ Team and others 1997-2000.  See the AUTHORS
 * file for a list of people on the CTK+ Team.  See the ChangeLog
 * files for a list of changes.  These files are distributed with
 * CTK+ at ftp://ftp.ctk.org/pub/ctk/.
 */

#ifndef __CTK_DND_H__
#define __CTK_DND_H__


#if !defined (__CTK_H_INSIDE__) && !defined (CTK_COMPILATION)
#error "Only <ctk/ctk.h> can be included directly."
#endif

#include <ctk/ctkwidget.h>
#include <ctk/ctkselection.h>


G_BEGIN_DECLS

/* Destination side */

CDK_AVAILABLE_IN_ALL
void ctk_drag_get_data (CtkWidget      *widget,
			CdkDragContext *context,
			CdkAtom         target,
			guint32         time_);
CDK_AVAILABLE_IN_ALL
void ctk_drag_finish   (CdkDragContext *context,
			gboolean        success,
			gboolean        del,
			guint32         time_);

CDK_AVAILABLE_IN_ALL
CtkWidget *ctk_drag_get_source_widget (CdkDragContext *context);

CDK_AVAILABLE_IN_ALL
void ctk_drag_highlight   (CtkWidget  *widget);
CDK_AVAILABLE_IN_ALL
void ctk_drag_unhighlight (CtkWidget  *widget);

/* Source side */

CDK_AVAILABLE_IN_3_10
CdkDragContext *ctk_drag_begin_with_coordinates (CtkWidget         *widget,
                                                 CtkTargetList     *targets,
                                                 CdkDragAction      actions,
                                                 gint               button,
                                                 CdkEvent          *event,
                                                 gint               x,
                                                 gint               y);

CDK_DEPRECATED_IN_3_10_FOR(ctk_drag_begin_with_coordinates)<--- There is an unknown macro here somewhere. Configuration is required. If CDK_DEPRECATED_IN_3_10_FOR is a macro then please configure it.
CdkDragContext *ctk_drag_begin (CtkWidget         *widget,
				CtkTargetList     *targets,
				CdkDragAction      actions,
				gint               button,
				CdkEvent          *event);

CDK_AVAILABLE_IN_3_16
void ctk_drag_cancel           (CdkDragContext *context);

CDK_AVAILABLE_IN_ALL
void ctk_drag_set_icon_widget (CdkDragContext *context,
			       CtkWidget      *widget,
			       gint            hot_x,
			       gint            hot_y);
CDK_AVAILABLE_IN_ALL
void ctk_drag_set_icon_pixbuf (CdkDragContext *context,
			       GdkPixbuf      *pixbuf,
			       gint            hot_x,
			       gint            hot_y);
CDK_AVAILABLE_IN_ALL
void ctk_drag_set_icon_stock  (CdkDragContext *context,
			       const gchar    *stock_id,
			       gint            hot_x,
			       gint            hot_y);
CDK_AVAILABLE_IN_ALL
void ctk_drag_set_icon_surface(CdkDragContext *context,
			       cairo_surface_t *surface);
CDK_AVAILABLE_IN_ALL
void ctk_drag_set_icon_name   (CdkDragContext *context,
			       const gchar    *icon_name,
			       gint            hot_x,
			       gint            hot_y);
CDK_AVAILABLE_IN_3_2
void ctk_drag_set_icon_gicon  (CdkDragContext *context,
			       GIcon          *icon,
			       gint            hot_x,
			       gint            hot_y);

CDK_AVAILABLE_IN_ALL
void ctk_drag_set_icon_default (CdkDragContext    *context);

CDK_AVAILABLE_IN_ALL
gboolean ctk_drag_check_threshold (CtkWidget *widget,
				   gint       start_x,
				   gint       start_y,
				   gint       current_x,
				   gint       current_y);


G_END_DECLS

#endif /* __CTK_DND_H__ */