3 (defcstruct %gdk-drag-context
4 (parent-instance gobject.ffi::%g-object)
5 (protocol gdk-drag-protocol)
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)
14 (defctype %gdk-drag-context (:struct %gdk-drag-context))
16 (defun %gdk-drag-context-get-protocol (context)
17 (foreign-slot-value (pointer context) '%gdk-drag-context 'protocol))
19 (defun %gdk-drag-context-get-is-source (context)
20 (foreign-slot-value (pointer context) '%gdk-drag-context 'is-source))
22 (defun %gdk-drag-context-get-source-window (context)
23 (foreign-slot-value (pointer context) '%gdk-drag-context 'source-window))
25 (defun %gdk-drag-context-get-dest-window (context)
26 (foreign-slot-value (pointer context) '%gdk-drag-context 'dest-window))
28 (defun %gdk-drag-context-get-targets (context)
29 (foreign-slot-value (pointer context) '%gdk-drag-context 'targets))
31 (defun %gdk-drag-context-get-actions (context)
32 (foreign-slot-value (pointer context) '%gdk-drag-context 'actions))
34 (defun %gdk-drag-context-get-suggested-action (context)
35 (foreign-slot-value (pointer context) '%gdk-drag-context 'suggested-action))
37 (defun %gdk-drag-context-get-action (context)
38 (foreign-slot-value (pointer context) '%gdk-drag-context 'action))
40 (defun %gdk-drag-context-get-start-time (context)
41 (foreign-slot-value (pointer context) '%gdk-drag-context 'start-time))
43 (defcfun gdk-drag-get-selection gdk-atom-as-string
44 (context (g-object drag-context)))
46 (export 'gdk-drag-get-selection)
48 (defcfun gdk-drag-abort :void
49 (context (g-object drag-context))
52 (export 'gdk-drag-abort)
54 (defcfun gdk-drop-reply :void
55 (context (g-object drag-context))
59 (export 'gdk-drop-reply)
61 (defcfun gdk-drag-drop :void
62 (context (g-object drag-context))
65 (export 'gdk-drag-drop)
67 (defcfun gdk_drag_find_window :void
68 (context (g-object drag-context))
69 (window (g-object gdk-window))
72 (dest-window (:pointer (g-object gdk-window)))
73 (protocol (:pointer gdk-drag-protocol)))
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))))
81 (export 'gdk-drag-find-window)
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))
89 (dest-window (:pointer (g-object gdk-window)))
90 (protocol (:pointer gdk-drag-protocol)))
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))))
98 (export 'gdk-drag-find-window-for-screen)
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)))
104 (export 'gdk-drag-begin)
106 (defcfun gdk-drag-motion :boolean
107 (context (g-object drag-context))
108 (dest-window (g-object gdk-window))
109 (protocol gdk-drag-protocol)
112 (suggested-action gdk-drag-action)
113 (possible-actions gdk-drag-action)
116 (export 'gdk-drag-motion)
118 (defcfun gdk-drop-finish :void
119 (context (g-object drag-context))
123 (export 'gdk-drop-finish)
125 (defcfun gdk_drag_get_protocol native-window
127 (protocol (:pointer gdk-drag-protocol)))
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)))))
134 (export 'gdk-drag-get-protocol)
136 (defcfun gdk_drag_get_protocol_for_display native-window
137 (display (g-object display))
139 (protocol (:pointer gdk-drag-protocol)))
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)))))
146 (export 'gdk-drag-get-protocol-for-display)
148 (defcfun gdk-drag-status :void
149 (context (g-object drag-context))
150 (action gdk-drag-action)
153 (export 'gdk-drag-status)
155 (defcfun gdk-drag-drop-succeeded :boolean
156 (context (g-object drag-context)))
158 (export 'gdk-drag-drop-succeeded)