Typo.
[cl-gtk2.git] / gdk / gdk.drag-and-drop.lisp
1 (in-package :gdk)
2
3 (defcstruct %gdk-drag-context
4   (parent-instance gobject.ffi::%g-object)
5   (protocol gdk-drag-protocol)
6   (is-source :boolean)
7   (source-window (g-object gdk-window))
8   (dest-window (g-object gdk-window))
9   (targets (glib:glist gdk-atom-as-string :free-from-foreign nil))
10   (actions gdk-drag-action)
11   (suggested-action gdk-drag-action)
12   (action gdk-drag-action)
13   (start-time :uint32))
14 (defctype %gdk-drag-context (:struct %gdk-drag-context))
15
16 (defun %gdk-drag-context-get-protocol (context)
17   (foreign-slot-value (pointer context) '%gdk-drag-context 'protocol))
18
19 (defun %gdk-drag-context-get-is-source (context)
20   (foreign-slot-value (pointer context) '%gdk-drag-context 'is-source))
21
22 (defun %gdk-drag-context-get-source-window (context)
23   (foreign-slot-value (pointer context) '%gdk-drag-context 'source-window))
24
25 (defun %gdk-drag-context-get-dest-window (context)
26   (foreign-slot-value (pointer context) '%gdk-drag-context 'dest-window))
27
28 (defun %gdk-drag-context-get-targets (context)
29   (foreign-slot-value (pointer context) '%gdk-drag-context 'targets))
30
31 (defun %gdk-drag-context-get-actions (context)
32   (foreign-slot-value (pointer context) '%gdk-drag-context 'actions))
33
34 (defun %gdk-drag-context-get-suggested-action (context)
35   (foreign-slot-value (pointer context) '%gdk-drag-context 'suggested-action))
36
37 (defun %gdk-drag-context-get-action (context)
38   (foreign-slot-value (pointer context) '%gdk-drag-context 'action))
39
40 (defun %gdk-drag-context-get-start-time (context)
41   (foreign-slot-value (pointer context) '%gdk-drag-context 'start-time))
42
43 (defcfun gdk-drag-get-selection gdk-atom-as-string
44   (context (g-object drag-context)))
45
46 (export 'gdk-drag-get-selection)
47
48 (defcfun gdk-drag-abort :void
49   (context (g-object drag-context))
50   (time :uint32))
51
52 (export 'gdk-drag-abort)
53
54 (defcfun gdk-drop-reply :void
55   (context (g-object drag-context))
56   (ok :boolean)
57   (time :uint32))
58
59 (export 'gdk-drop-reply)
60
61 (defcfun gdk-drag-drop :void
62   (context (g-object drag-context))
63   (time :uint32))
64
65 (export 'gdk-drag-drop)
66
67 (defcfun gdk_drag_find_window :void
68   (context (g-object drag-context))
69   (window (g-object gdk-window))
70   (x-root :int)
71   (y-root :int)
72   (dest-window (:pointer (g-object gdk-window)))
73   (protocol (:pointer gdk-drag-protocol)))
74
75 (defun gdk-drag-find-window (context window x-root y-root)
76   (with-foreign-objects ((dest-window :pointer) (protocol 'gdk-drag-protocol))
77     (gdk_drag_find_window context window x-root y-root dest-window protocol)
78     (values (mem-ref dest-window '(g-object gdk-window))
79             (mem-ref protocol 'gdk-drag-protocol))))
80
81 (export 'gdk-drag-find-window)
82
83 (defcfun gdk_drag_find_window_for_screen :void
84   (context (g-object drag-context))
85   (window (g-object gdk-window))
86   (screen (g-object screen))
87   (x-root :int)
88   (y-root :int)
89   (dest-window (:pointer (g-object gdk-window)))
90   (protocol (:pointer gdk-drag-protocol)))
91
92 (defun gdk-drag-find-window-for-screen (context window screen x-root y-root)
93   (with-foreign-objects ((dest-window :pointer) (protocol 'gdk-drag-protocol))
94     (gdk_drag_find_window_for_screen context window screen x-root y-root dest-window protocol)
95     (values (mem-ref dest-window '(g-object gdk-window))
96             (mem-ref protocol 'gdk-drag-protocol))))
97
98 (export 'gdk-drag-find-window-for-screen)
99
100 (defcfun gdk-drag-begin (g-object gdk-drag-context :already-referenced)
101   (window (g-object gdk-window))
102   (targets (glib:glist gdk-atom-as-string)))
103
104 (export 'gdk-drag-begin)
105
106 (defcfun gdk-drag-motion :boolean
107   (context (g-object drag-context))
108   (dest-window (g-object gdk-window))
109   (protocol gdk-drag-protocol)
110   (x-root :int)
111   (y-root :int)
112   (suggested-action gdk-drag-action)
113   (possible-actions gdk-drag-action)
114   (time :uint32))
115
116 (export 'gdk-drag-motion)
117
118 (defcfun gdk-drop-finish :void
119   (context (g-object drag-context))
120   (success :boolean)
121   (time :uint32))
122
123 (export 'gdk-drop-finish)
124
125 (defcfun gdk_drag_get_protocol native-window
126   (xid native-window)
127   (protocol (:pointer gdk-drag-protocol)))
128
129 (defun gdk-drag-get-protocol (xid)
130   (with-foreign-object (protocol 'gdk-drag-protocol)
131     (let ((dest-window (gdk_drag_get_protocol xid protocol)))
132       (values dest-window (mem-ref protocol 'gdk-drag-protocol)))))
133
134 (export 'gdk-drag-get-protocol)
135
136 (defcfun gdk_drag_get_protocol_for_display native-window
137   (display (g-object display))
138   (xid native-window)
139   (protocol (:pointer gdk-drag-protocol)))
140
141 (defun gdk-drag-get-protocol-for-dispaly (display xid)
142   (with-foreign-object (protocol 'gdk-drag-protocol)
143     (let ((dest-window (gdk_drag_get_protocol_for_display display xid protocol)))
144       (values dest-window (mem-ref protocol 'gdk-drag-protocol)))))
145
146 (export 'gdk-drag-get-protocol-for-display)
147
148 (defcfun gdk-drag-status :void
149   (context (g-object drag-context))
150   (action gdk-drag-action)
151   (time :uint32))
152
153 (export 'gdk-drag-status)
154
155 (defcfun gdk-drag-drop-succeeded :boolean
156   (context (g-object drag-context)))
157
158 (export 'gdk-drag-drop-succeeded)