1 /* GTK - The GIMP Toolkit
2  *
3  * Copyright (C) 2010 Javier Jardón
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.1 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 
20 /* The contents of a selection are returned in a GtkSelectionData
21  * structure. selection/target identify the request.  type specifies
22  * the type of the return; if length < 0, and the data should be
23  * ignored. This structure has object semantics - no fields should be
24  * modified directly, they should not be created directly, and
25  * pointers to them should not be stored beyond the duration of a
26  * callback. (If the last is changed, we’ll need to add reference
27  * counting.) The time field gives the timestamp at which the data was
28  * sent.
29  */
30 
31 #ifndef __GTK_SELECTION_PRIVATE_H__
32 #define __GTK_SELECTION_PRIVATE_H__
33 
34 #include "gtkselection.h"
35 
36 G_BEGIN_DECLS
37 
38 struct _GtkSelectionData
39 {
40   /*< private >*/
41   GdkAtom       selection;
42   GdkAtom       target;
43   GdkAtom       type;
44   gint          format;
45   guchar       *data;
46   gint          length;
47   GdkDisplay   *display;
48 };
49 
50 struct _GtkTargetList
51 {
52   /*< private >*/
53   GList *list;
54   guint ref_count;
55 };
56 
57 gboolean _gtk_selection_clear           (GtkWidget         *widget,
58                                          GdkEventSelection *event);
59 gboolean _gtk_selection_request         (GtkWidget         *widget,
60                                          GdkEventSelection *event);
61 gboolean _gtk_selection_incr_event      (GdkWindow         *window,
62                                          GdkEventProperty  *event);
63 gboolean _gtk_selection_notify          (GtkWidget         *widget,
64                                          GdkEventSelection *event);
65 gboolean _gtk_selection_property_notify (GtkWidget         *widget,
66                                          GdkEventProperty  *event);
67 
68 G_END_DECLS
69 
70 #endif /* __GTK_SELECTION_PRIVATE_H__ */
71