1 /* -*- Mode: C; c-file-style: "gnu"; tab-width: 8 -*- */
2 /* GTK - The GIMP Toolkit
3  * Copyright (C) 2015 Red Hat, Inc.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef __GTK_DND_PRIVATE_H__
20 #define __GTK_DND_PRIVATE_H__
21 
22 
23 #include <gtk/gtkwidget.h>
24 #include <gtk/gtkselection.h>
25 #include <gtk/gtkdragdest.h>
26 
27 #include "gtkimagedefinitionprivate.h"
28 
29 typedef struct _GtkDragDestSite GtkDragDestSite;
30 struct _GtkDragDestSite
31 {
32   GtkDestDefaults    flags;
33   GtkTargetList     *target_list;
34   GdkDragAction      actions;
35   GdkWindow         *proxy_window;
36   GdkDragProtocol    proxy_protocol;
37   guint              do_proxy     : 1;
38   guint              proxy_coords : 1;
39   guint              have_drag    : 1;
40   guint              track_motion : 1;
41 };
42 
43 G_BEGIN_DECLS
44 
45 GdkDragContext *        gtk_drag_begin_internal         (GtkWidget              *widget,
46                                                          gboolean               *out_needs_icon,
47                                                          GtkTargetList          *target_list,
48                                                          GdkDragAction           actions,
49                                                          gint                    button,
50                                                          const GdkEvent         *event,
51                                                          int                     x,
52                                                          int                     y);
53 void                    gtk_drag_set_icon_definition    (GdkDragContext         *context,
54                                                          GtkImageDefinition     *def,
55                                                          gint                    hot_x,
56                                                          gint                    hot_y);
57 void                    _gtk_drag_source_handle_event   (GtkWidget              *widget,
58                                                          GdkEvent               *event);
59 void                    _gtk_drag_dest_handle_event     (GtkWidget              *toplevel,
60 				                         GdkEvent               *event);
61 
62 G_END_DECLS
63 
64 #endif /* __GTK_DND_PRIVATE_H__ */
65