3 (define-g-enum "GdkGrabStatus" grab-status () :success :already-grabbed :invalid-time :not-viewable :frozen)
5 (define-g-object-class "GdkDisplay" display () ())
7 (define-g-object-class "GdkDisplayManager" display-manager ()
8 ((default-display display-manager-default-display "default-display" "GdkDisplay" t t)))
10 (define-g-object-class "GdkScreen" screen ()
11 ((font-options screen-font-options "font-options" "gpointer" t t)
12 (resolution screen-resolution "resolution" "gdouble" t t)))
14 (define-g-object-class "GdkGC" graphics-context () ())
16 (define-g-object-class "GdkDrawable" drawable () ())
18 (define-g-object-class "GdkPixmap" pixmap (:superclass drawable) ())
20 (define-g-object-class "GdkWindow" gdk-window (:superclass drawable) ())
22 (define-g-object-class "GdkKeymap" keymap () ())
24 (define-g-enum "GdkEventType" event-type ()
25 (:nothing -1) (:delete 0)
26 (:destroy 1) (:expose 2) (:motion-notify 3)
27 (:button-press 4) (:2button-press 5) (:3button-press 6)
28 (:button-release 7) (:key-press 8) (:key-release 9)
29 (:enter-notify 10) (:leave-notify 11) (:focus-change 12)
30 (:configure 13) (:map 14) (:unmap 15) (:property-notify 16)
31 (:selection-clear 17) (:selection-request 18)
32 (:selection-notify 19) (:proximity-in 20)
33 (:proximity-out 21) (:drag-enter 22) (:drag-leave 23)
34 (:drag-motion 24) (:drag-status 25) (:drop-start 26)
35 (:drop-finished 27) (:client-event 28)
36 (:visibility-notify 29) (:no-expose 30) (:scroll 31)
37 (:window-state 32) (:setting 33) (:owner-change 34)
38 (:grab-broken 35) (:damage 36))
40 (define-g-flags "GdkEventMask" gdk-event-mask (:export t :type-initializer "gdk_event_mask_get_type")
41 (:exposure-mask 2) (:pointer-motion-mask 4)
42 (:pointer-motion-hint-mask 8) (:button-motion-mask 16)
43 (:button1-motion-mask 32) (:button2-motion-mask 64)
44 (:button3-motion-mask 128) (:button-press-mask 256)
45 (:button-release-mask 512) (:key-press-mask 1024)
46 (:key-release-mask 2048) (:enter-notify-mask 4096)
47 (:leave-notify-mask 8192) (:focus-change-mask 16384)
48 (:structure-mask 32768) (:property-change-mask 65536)
49 (:visibility-notify-mask 131072)
50 (:proximity-in-mask 262144) (:proximity-out-mask 524288)
51 (:substructure-mask 1048576) (:scroll-mask 2097152)
52 (:all-events-mask 4194302))
54 (define-g-enum "GdkExtensionMode" gdk-extension-mode (:export t :type-initializer "gdk_extension_mode_get_type")
55 (:none 0) (:all 1) (:cursor 2))
57 (define-g-enum "GdkWindowTypeHint" gdk-window-type-hint (:export t :type-initializer "gdk_window_type_hint_get_type")
58 (:normal 0) (:dialog 1) (:menu 2) (:toolbar 3)
59 (:splashscreen 4) (:utility 5) (:dock 6) (:desktop 7)
60 (:dropdown-menu 8) (:popup-menu 9) (:tooltip 10)
61 (:notification 11) (:combo 12) (:dnd 13))
63 (define-g-flags "GdkModifierType" modifier-type ()
64 (:shift-mask 1) (:lock-mask 2) (:control-mask 4)
65 (:mod1-mask 8) (:mod2-mask 16) (:mod3-mask 32)
66 (:mod4-mask 64) (:mod5-mask 128)
67 (:button1-mask 256) (:button2-mask 512)
68 (:button3-mask 1024) (:button4-mask 2048)
69 (:button5-mask 4096) (:super-mask 67108864)
70 (:hyper-mask 134217728) (:meta-mask 268435456)
71 (:release-mask 1073741824)
72 (:modifier-mask 1543512063))
74 (define-g-enum "GdkScrollDirection" scroll-direction ()
78 (define-g-enum "GdkVisibilityState" visibility-state ()
80 (:partial 1) (:fully-obscured 2))
82 (define-g-enum "GdkPropertyState" property-state ()
85 (define-g-flags "GdkWindowState" window-state ()
87 (:iconified 2) (:maximized 4) (:sticky 8) (:fullscreen 16)
88 (:above 32) (:below 64))
90 (define-g-enum "GdkSettingAction" setting-action ()
94 (define-g-enum "GdkOwnerChange" owner-change ()
96 (:destroy 1) (:close 2))
98 (define-g-flags "GdkEventMask" event-mask ()
100 (:pointer-motion-mask 4) (:pointer-motion-hint-mask 8)
101 (:button-motion-mask 16) (:button1-motion-mask 32)
102 (:button2-motion-mask 64) (:button3-motion-mask 128)
103 (:button-press-mask 256) (:button-release-mask 512)
104 (:key-press-mask 1024) (:key-release-mask 2048)
105 (:enter-notify-mask 4096) (:leave-notify-mask 8192)
106 (:focus-change-mask 16384) (:structure-mask 32768)
107 (:property-change-mask 65536)
108 (:visibility-notify-mask 131072)
109 (:proximity-in-mask 262144) (:proximity-out-mask 524288)
110 (:substructure-mask 1048576) (:scroll-mask 2097152)
111 (:all-events-mask 4194302))
113 (define-g-enum "GdkFontType" font-type () :font :fontset)
115 (define-g-enum "GdkGravity" gravity ()
127 (define-g-boxed-cstruct rectangle "GdkRectangle"
130 (width :int :initform 0)
131 (height :int :initform 0))
133 (define-g-boxed-cstruct font "GdkFont"
134 (type font-type :initform :font)
135 (ascent :int :initform 0)
136 (descent :int :initform 0))
138 (define-g-boxed-cstruct color "GdkColor"
139 (pixel :uint32 :initform 0)
140 (red :uint16 :initform 0)
141 (green :uint16 :initform 0)
142 (blue :uint16 :initform 0))
144 (define-g-boxed-cstruct geometry "GdkGeometry"
145 (min-width :int :initform 0)
146 (min-height :int :initform 0)
147 (max-width :int :initform 0)
148 (max-height :int :initform 0)
149 (base-width :int :initform 0)
150 (base-height :int :initform 0)
151 (width-increment :int :initform 0)
152 (height-increment :int :initform 0)
153 (min-aspect :double :initform 0.0d0)
154 (max-aspect :double :initform 0.0d0)
155 (gravity gravity :initform :north-west))
157 (defctype gdk-atom :pointer)
159 (define-foreign-type gdk-atom-as-string-type ()
161 (:actual-type :pointer)
162 (:simple-parser gdk-atom-as-string))
164 (defmethod translate-from-foreign (value (type gdk-atom-as-string-type))
165 (gdk-atom-name value))
167 (defmethod translate-to-foreign (value (type gdk-atom-as-string-type))
168 (gdk-atom-intern value nil))
170 ;;;FIXME: Check correct type
171 (defctype native-window :uint32)
173 (defcunion event-client-data-union
178 (define-g-boxed-variant-cstruct event "GdkEvent"
180 (window (g-object gdk-window))
181 (send-event (:boolean :int8))
183 ((:key-press :key-release) event-key
185 (state modifier-type)
188 (string (:string :free-from-foreign nil
189 :free-to-foreign nil))
190 (hardware-keycode :uint16)
196 :button-release) event-button
200 (axes (fixed-array :double 2))
203 (device (g-object device))
206 ((:scroll) event-scroll
210 (state modifier-type)
211 (direction scroll-direction)
212 (device (g-object device))
215 ((:motion-notify) event-motion
219 (axes (fixed-array :double 2))
220 (state modifier-type)
222 (device (g-object device))
225 ((:expose) event-expose
226 (area rectangle :inline t)
229 ((:visibility-notify) event-visibility
230 (state visibility-state))
231 ((:enter-notify :leave-notify) event-crossing
232 (sub-window (g-object gdk-window))
238 ((:focus-change) event-focus
240 ((:configure) event-configure
245 ((:property-notify) event-property
248 (state property-state))
251 :selection-request) event-selection
256 (requestor native-window))
262 :drop-finished) event-drag
263 (drag-context :pointer)
268 :proximity-out) event-proximity
270 (device (g-object device)))
271 ((:client-event) event-client
272 (message-time gdk-atom)
273 (data-format :ushort)
274 (:variant data-format
276 (data :uchar :count 20))
278 (data :ushort :count 10))
280 (data :ulong :count 5))))
281 ((:no-expose) event-no-expose)
282 ((:window-state) event-window-state
283 (changed-mask window-state)
284 (new-window-state window-state))
285 ((:setting) event-setting
286 (action setting-action)
287 (name (:string :free-from-foreign nil :free-to-foreign nil)))
288 ((:owner-change) event-owner-change
289 (owner native-window)
290 (reason owner-change)
293 (selection-time :uint32))
294 ((:grab-broken) event-grab-broken
297 (grab-window (g-object gdk-window)))))
299 (define-g-object-class "GdkDragContext" drag-context () ())
301 (define-g-flags "GdkWindowHints" window-hints ()
302 :pos :min-size :max-size :base-size :aspect
303 :resize-inc :win-gravity :user-pos :user-size)
305 (define-g-enum "GdkWindowEdge" window-edge ()
306 (:north-west 0) (:north 1) (:north-east 2) (:west 3)
307 (:east 4) (:south-west 5) (:south 6) (:south-east 7))
309 (define-g-enum "GdkColorspace" colorspace ()
312 (define-g-object-class "GdkPixbuf" pixbuf ()
313 ((colorspace pixbuf-colorspace "colorspace" "GdkColorspace" t nil)
314 (n-channels pixbuf-n-channels "n-channels" "gint" t nil)
315 (has-alpha pixbuf-has-alpha "has-alpha" "gboolean" t nil)
316 (bits-per-sample pixbuf-bits-per-sample "bits-per-sample" "gint" t nil)
317 (width pixbuf-width "width" "gint" t nil)
318 (height pixbuf-height "height" "gint" t nil)
319 (rowstride pixbuf-rowstride "rowstride" "gint" t nil)
320 (pixels pixbuf-pixels "pixels" "gpointer" t nil)))
322 (define-g-object-class "GdkPixbufAnimation" pixbuf-animation ()