1/* GDK - The GIMP Drawing Kit
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 */
19
20/*
21 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
22 * file for a list of people on the GTK+ Team. See the ChangeLog
23 * files for a list of changes. These files are distributed with
24 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
25 */
26
27#ifndef __GDK_SELECTION_H__
28#define __GDK_SELECTION_H__
29
30#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
31#error "Only <gdk/gdk.h> can be included directly."
32#endif
33
34#include <gdk/gdktypes.h>
35
36G_BEGIN_DECLS
37
38/* Predefined atoms relating to selections. In general, one will need to use
39 * gdk_intern_atom
40 */
41#define GDK_SELECTION_PRIMARY _GDK_MAKE_ATOM (1)
42#define GDK_SELECTION_SECONDARY _GDK_MAKE_ATOM (2)
43#define GDK_SELECTION_CLIPBOARD _GDK_MAKE_ATOM (69)
44#define GDK_TARGET_BITMAP _GDK_MAKE_ATOM (5)
45#define GDK_TARGET_COLORMAP _GDK_MAKE_ATOM (7)
46#define GDK_TARGET_DRAWABLE _GDK_MAKE_ATOM (17)
47#define GDK_TARGET_PIXMAP _GDK_MAKE_ATOM (20)
48#define GDK_TARGET_STRING _GDK_MAKE_ATOM (31)
49#define GDK_SELECTION_TYPE_ATOM _GDK_MAKE_ATOM (4)
50#define GDK_SELECTION_TYPE_BITMAP _GDK_MAKE_ATOM (5)
51#define GDK_SELECTION_TYPE_COLORMAP _GDK_MAKE_ATOM (7)
52#define GDK_SELECTION_TYPE_DRAWABLE _GDK_MAKE_ATOM (17)
53#define GDK_SELECTION_TYPE_INTEGER _GDK_MAKE_ATOM (19)
54#define GDK_SELECTION_TYPE_PIXMAP _GDK_MAKE_ATOM (20)
55#define GDK_SELECTION_TYPE_WINDOW _GDK_MAKE_ATOM (33)
56#define GDK_SELECTION_TYPE_STRING _GDK_MAKE_ATOM (31)
57
58#ifndef GDK_DISABLE_DEPRECATED
59
60typedef GdkAtom GdkSelection;
61typedef GdkAtom GdkTarget;
62typedef GdkAtom GdkSelectionType;
63
64#endif /* GDK_DISABLE_DEPRECATED */
65
66/* Selections
67 */
68
69#ifndef GDK_MULTIHEAD_SAFE
70gboolean gdk_selection_owner_set (GdkWindow *owner,
71 GdkAtom selection,
72 guint32 time_,
73 gboolean send_event);
74GdkWindow* gdk_selection_owner_get (GdkAtom selection);
75#endif/* GDK_MULTIHEAD_SAFE */
76
77gboolean gdk_selection_owner_set_for_display (GdkDisplay *display,
78 GdkWindow *owner,
79 GdkAtom selection,
80 guint32 time_,
81 gboolean send_event);
82GdkWindow *gdk_selection_owner_get_for_display (GdkDisplay *display,
83 GdkAtom selection);
84
85void gdk_selection_convert (GdkWindow *requestor,
86 GdkAtom selection,
87 GdkAtom target,
88 guint32 time_);
89gint gdk_selection_property_get (GdkWindow *requestor,
90 guchar **data,
91 GdkAtom *prop_type,
92 gint *prop_format);
93
94#ifndef GDK_MULTIHEAD_SAFE
95void gdk_selection_send_notify (GdkNativeWindow requestor,
96 GdkAtom selection,
97 GdkAtom target,
98 GdkAtom property,
99 guint32 time_);
100#endif /* GDK_MULTIHEAD_SAFE */
101
102void gdk_selection_send_notify_for_display (GdkDisplay *display,
103 GdkNativeWindow requestor,
104 GdkAtom selection,
105 GdkAtom target,
106 GdkAtom property,
107 guint32 time_);
108
109G_END_DECLS
110
111#endif /* __GDK_SELECTION_H__ */
112