1;; -*- scheme -*-
2
3(import "glib.defs")
4
5;;; Gdk enums
6
7(define-enum GdkWindowType
8  (root GDK_WINDOW_ROOT)
9  (toplevel GDK_WINDOW_TOPLEVEL)
10  (child GDK_WINDOW_CHILD)
11  (dialog GDK_WINDOW_DIALOG)
12  (temp GDK_WINDOW_TEMP)
13  (pixmap GDK_WINDOW_FOREIGN))
14
15(define-enum GdkWindowTypeHint
16  (normal GDK_WINDOW_TYPE_HINT_NORMAL)
17  (dialog GDK_WINDOW_TYPE_HINT_DIALOG)
18  (menu GDK_WINDOW_TYPE_HINT_MENU)
19  (toolbar GDK_WINDOW_TYPE_HINT_TOOLBAR)
20  (splash GDK_WINDOW_TYPE_HINT_SPLASHSCREEN)
21  (utility GDK_WINDOW_TYPE_HINT_UTILITY)
22  (dock GDK_WINDOW_TYPE_HINT_DOCK)
23  (desktop GDK_WINDOW_TYPE_HINT_DESKTOP)
24  (dropdown GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU)
25  (popup GDK_WINDOW_TYPE_HINT_POPUP_MENU)
26  (tooltip GDK_WINDOW_TYPE_HINT_TOOLTIP)
27  (notification GDK_WINDOW_TYPE_HINT_NOTIFICATION)
28  (combo GDK_WINDOW_TYPE_HINT_COMBO)
29  (dnd GDK_WINDOW_TYPE_HINT_DND))
30
31(define-enum GdkGravity
32  (north-west GDK_GRAVITY_NORTH_WEST)
33  (north GDK_GRAVITY_NORTH)
34  (north-east GDK_GRAVITY_NORTH_EAST)
35  (west GDK_GRAVITY_WEST)
36  (center GDK_GRAVITY_CENTER)
37  (east GDK_GRAVITY_EAST)
38  (south-west GDK_GRAVITY_SOUTH_WEST)
39  (south GDK_GRAVITY_SOUTH)
40  (south-east GDK_GRAVITY_SOUTH_EAST)
41  (static GDK_GRAVITY_STATIC))
42
43(define-enum GdkWindowEdge
44  (north-west GDK_GRAVITY_NORTH_WEST)
45  (north GDK_GRAVITY_NORTH)
46  (north-east GDK_GRAVITY_NORTH_EAST)
47  (west GDK_GRAVITY_WEST)
48  (east GDK_GRAVITY_EAST)
49  (south-west GDK_GRAVITY_SOUTH_WEST)
50  (south GDK_GRAVITY_SOUTH)
51  (south-east GDK_GRAVITY_SOUTH_EAST))
52
53(define-enum GdkWindowClass
54  (input-output GDK_INPUT_OUTPUT)
55  (input-only GDK_INPUT_ONLY))
56
57(define-enum GdkImageType
58  (normal GDK_IMAGE_NORMAL)
59  (shared GDK_IMAGE_SHARED)
60  (fastest GDK_IMAGE_FASTEST))
61
62(define-enum GdkVisualType
63  (static-gray GDK_VISUAL_STATIC_GRAY)
64  (grayscale GDK_VISUAL_GRAYSCALE)
65  (static-color GDK_VISUAL_STATIC_COLOR)
66  (pseudo-color GDK_VISUAL_PSEUDO_COLOR)
67  (true-color GDK_VISUAL_TRUE_COLOR)
68  (direct-color GDK_VISUAL_DIRECT_COLOR))
69
70(define-flags GdkWindowAttributesType
71  (title GDK_WA_TITLE)
72  (x GDK_WA_X)
73  (y GDK_WA_Y)
74  (cursor GDK_WA_CURSOR)
75  (colormap GDK_WA_COLORMAP)
76  (visual GDK_WA_VISUAL))
77
78(define-flags GdkWindowHints
79  (pos GDK_HINT_POS)
80  (min-size GDK_HINT_MIN_SIZE)
81  (max-size GDK_HINT_MAX_SIZE))
82
83(define-enum GdkFunction
84  (copy GDK_COPY)
85  (invert GDK_INVERT)
86  (xor GDK_XOR))
87
88(define-enum GdkFill
89  (solid GDK_SOLID)
90  (tiled GDK_TILED)
91  (stippled GDK_STIPPLED)
92  (opaque-stippled GDK_OPAQUE_STIPPLED))
93
94(define-enum GdkLineStyle
95  (solid GDK_LINE_SOLID)
96  (on-off-dash GDK_LINE_ON_OFF_DASH)
97  (double-dash GDK_LINE_DOUBLE_DASH))
98
99(define-enum GdkCapStyle
100  (not-last GDK_CAP_NOT_LAST)
101  (butt GDK_CAP_BUTT)
102  (round GDK_CAP_ROUND)
103  (projecting GDK_CAP_PROJECTING))
104
105(define-enum GdkJoinStyle
106  (miter GDK_JOIN_MITER)
107  (round GDK_JOIN_ROUND)
108  (bevel GDK_JOIN_BEVEL))
109
110(define-enum GdkCursorType
111  (cursor GDK_LAST_CURSOR))
112
113(define-enum GdkEventType
114  (nothing GDK_NOTHING)
115  (delete GDK_DELETE)
116  (destroy GDK_DESTROY)
117  (expose GDK_EXPOSE)
118  (motion-notify GDK_MOTION_NOTIFY)
119  (button-press GDK_BUTTON_PRESS)
120  (2button-press GDK_2BUTTON_PRESS)
121  (3button-press GDK_3BUTTON_PRESS)
122  (button-release GDK_BUTTON_RELEASE)
123  (key-press GDK_KEY_PRESS)
124  (key-release GDK_KEY_RELEASE)
125  (enter-notify GDK_ENTER_NOTIFY)
126  (leave-notify GDK_LEAVE_NOTIFY)
127  (focus-change GDK_FOCUS_CHANGE)
128  (configure GDK_CONFIGURE)
129  (map GDK_MAP)
130  (unmap GDK_UNMAP)
131  (property-notify GDK_PROPERTY_NOTIFY)
132  (selection-clear GDK_SELECTION_CLEAR)
133  (selection-request GDK_SELECTION_REQUEST)
134  (selection-notify GDK_SELECTION_NOTIFY)
135  (proximity-in GDK_PROXIMITY_IN)
136  (proximity-out GDK_PROXIMITY_OUT)
137  (drag-enter GDK_DRAG_ENTER)
138  (drag-leave GDK_DRAG_LEAVE)
139  (drag-motion GDK_DRAG_MOTION)
140  (drag-status GDK_DRAG_STATUS)
141  (drop-start GDK_DROP_START)
142  (drop-finished GDK_DROP_FINISHED)
143  (client-event GDK_CLIENT_EVENT)
144  (visibility-notify GDK_VISIBILITY_NOTIFY)
145  (no-expose GDK_NO_EXPOSE))
146
147(define-flags GdkEventMask
148  (exposure-mask GDK_EXPOSURE_MASK)
149  (pointer-motion-mask GDK_POINTER_MOTION_MASK)
150  (pointer-motion-hint-mask GDK_POINTER_MOTION_HINT_MASK)
151  (button-motion-mask GDK_BUTTON_MOTION_MASK)
152  (button1-motion-mask GDK_BUTTON1_MOTION_MASK)
153  (button2-motion-mask GDK_BUTTON2_MOTION_MASK)
154  (button3-motion-mask GDK_BUTTON3_MOTION_MASK)
155  (button-press-mask GDK_BUTTON_PRESS_MASK)
156  (button-release-mask GDK_BUTTON_RELEASE_MASK)
157  (key-press-mask GDK_KEY_PRESS_MASK)
158  (key-release-mask GDK_KEY_RELEASE_MASK)
159  (enter-notify-mask GDK_ENTER_NOTIFY_MASK)
160  (leave-notify-mask GDK_LEAVE_NOTIFY_MASK)
161  (focus-change-mask GDK_FOCUS_CHANGE_MASK)
162  (structure-mask GDK_STRUCTURE_MASK)
163  (all-events-mask GDK_ALL_EVENTS_MASK))
164
165(define-enum GdkNotifyType
166  (ancestor GDK_NOTIFY_ANCESTOR)
167  (virtual GDK_NOTIFY_VIRTUAL)
168  (inferior GDK_NOTIFY_INFERIOR)
169  (nonlinear GDK_NOTIFY_NONLINEAR)
170  (nonlinear-virtual GDK_NOTIFY_NONLINEAR_VIRTUAL)
171  (unknown GDK_NOTIFY_UNKNOWN))
172
173(define-flags GdkModifierType
174  (shift-mask GDK_SHIFT_MASK)
175  (lock-mask GDK_LOCK_MASK)
176  (control-mask GDK_CONTROL_MASK)
177  (mod1-mask GDK_MOD1_MASK)
178  (mod2-mask GDK_MOD2_MASK)
179  (mod3-mask GDK_MOD3_MASK)
180  (mod4-mask GDK_MOD4_MASK)
181  (mod5-mask GDK_MOD5_MASK)
182  (button1-mask GDK_BUTTON1_MASK)
183  (button2-mask GDK_BUTTON2_MASK)
184  (button3-mask GDK_BUTTON3_MASK)
185  (button4-mask GDK_BUTTON4_MASK)
186  (button5-mask GDK_BUTTON5_MASK))
187
188(define-enum GdkSubwindowMode
189  (clip-by-children GDK_CLIP_BY_CHILDREN)
190  (include-inferiors GDK_INCLUDE_INFERIORS))
191
192(define-flags GdkInputCondition
193  (read GDK_INPUT_READ)
194  (write GDK_INPUT_WRITE)
195  (exception GDK_INPUT_EXCEPTION))
196
197(define-enum GdkStatus
198  (ok GDK_OK)
199  (error GDK_ERROR)
200  (error-param GDK_ERROR_PARAM)
201  (error-file GDK_ERROR_FILE)
202  (error-mem GDK_ERROR_MEM))
203
204(define-enum GdkByteOrder
205  (lsb-first GDK_LSB_FIRST)
206  (msb-first GDK_MSB_FIRST))
207
208(define-flags GdkGCValuesMask
209  (foreground GDK_GC_FOREGROUND)
210  (background GDK_GC_BACKGROUND)
211  (font GDK_GC_FONT)
212  (function GDK_GC_FUNCTION)
213  (fill GDK_GC_FILL)
214  (tile GDK_GC_TILE)
215  (stipple GDK_GC_STIPPLE)
216  (clip-mask GDK_GC_CLIP_MASK)
217  (subwindow GDK_GC_SUBWINDOW)
218  (ts-x-origin GDK_GC_TS_X_ORIGIN)
219  (ts-y-origin GDK_GC_TS_Y_ORIGIN)
220  (clip-x-origin GDK_GC_CLIP_X_ORIGIN)
221  (clip-y-origin GDK_GC_CLIP_Y_ORIGIN)
222  (exposures GDK_GC_EXPOSURES)
223  (line-width GDK_GC_LINE_WIDTH)
224  (line-style GDK_GC_LINE_STYLE)
225  (cap-style GDK_GC_CAP_STYLE)
226  (join-style GDK_GC_JOIN_STYLE))
227
228(define-enum GdkSelection
229  ;; FIXME: these are atoms (pointers) not integers
230  (primary "(int) GDK_SELECTION_PRIMARY")
231  (secondary "(int) GDK_SELECTION_SECONDARY"))
232
233(define-enum GdkPropertyState
234  (new-value GDK_PROPERTY_NEW_VALUE)
235  (delete GDK_PROPERTY_DELETE))
236
237(define-enum GdkPropMode
238  (replace GDK_PROP_MODE_REPLACE)
239  (prepend GDK_PROP_MODE_PREPEND)
240  (append GDK_PROP_MODE_APPEND))
241
242(define-enum GdkOverlapType
243  (in GDK_OVERLAP_RECTANGLE_IN)
244  (out GDK_OVERLAP_RECTANGLE_OUT)
245  (part GDK_OVERLAP_RECTANGLE_PART))
246
247(define-flags GdkWMDecoration
248  (all GDK_DECOR_ALL)
249  (border GDK_DECOR_BORDER)
250  (resizeh GDK_DECOR_RESIZEH)
251  (title GDK_DECOR_TITLE)
252  (menu GDK_DECOR_MENU)
253  (minimize GDK_DECOR_MINIMIZE)
254  (maximize GDK_DECOR_MAXIMIZE))
255
256(define-flags GdkWMFunction
257  (all GDK_FUNC_ALL)
258  (resize GDK_FUNC_RESIZE)
259  (move GDK_FUNC_MOVE)
260  (minimize GDK_FUNC_MINIMIZE)
261  (maximize GDK_FUNC_MAXIMIZE)
262  (close GDK_FUNC_CLOSE))
263
264(define-enum GdkVisibilityState
265  (unobscured GDK_VISIBILITY_UNOBSCURED)
266  (partial GDK_VISIBILITY_PARTIAL)
267  (fully-obscured GDK_VISIBILITY_FULLY_OBSCURED))
268
269(define-enum GdkInputSource
270  (mouse GDK_SOURCE_MOUSE)
271  (pen GDK_SOURCE_PEN)
272  (eraser GDK_SOURCE_ERASER)
273  (cursor GDK_SOURCE_CURSOR))
274
275(define-enum GdkDragAction
276  (default GDK_ACTION_DEFAULT)
277  (copy GDK_ACTION_COPY)
278  (move GDK_ACTION_MOVE)
279  (link GDK_ACTION_LINK)
280  (private GDK_ACTION_PRIVATE)
281  (ask GDK_ACTION_ASK))
282
283(define-enum GdkFillRule
284  (even-odd GDK_EVEN_ODD_RULE)
285  (winding GDK_WINDING_RULE))
286
287(define-enum GdkOverlapType
288  (in GDK_OVERLAP_RECTANGLE_IN)
289  (out GDK_OVERLAP_RECTANGLE_OUT)
290  (part GDK_OVERLAP_RECTANGLE_PART))
291
292;;; Gdk boxed types
293
294;;(define-boxed GdkPoint
295;;  (copy gdk_point_copy)
296;;  (free gdk_point_destroy))
297
298(define-boxed GdkRegion
299    (copy gdk_region_copy)
300    (free gdk_region_destroy))
301
302(define-boxed GdkColormap
303  (copy gdk_colormap_ref)
304  (free gdk_colormap_unref))
305
306;;; XXX FIXME
307(define-boxed GdkVisual
308  (copy g_object_ref)
309  (free g_object_unref))
310
311(define-boxed GdkFont
312  (copy gdk_font_ref)
313  (free gdk_font_unref)
314  (conversion "sgtk_font_conversion"))
315
316(add-options GdkFont (conversion "sgtk_font_conversion"))
317
318(define-boxed GdkWindow
319  (copy gdk_window_ref)
320  (free gdk_window_unref))
321
322(define-boxed GdkEvent
323  (copy gdk_event_copy)
324  (free gdk_event_free)
325  (size "sizeof(GdkEvent)"))
326
327(define-boxed GdkColor
328  (copy gdk_color_copy)
329  (free gdk_color_free)
330  (size "sizeof(GdkColor)")
331  (fields (uint red)
332	  (uint green)
333	  (uint blue))
334  (conversion "sgtk_color_conversion"))
335
336(add-options GdkColor (conversion "sgtk_color_conversion"))
337
338(define-object GdkScreen (GType))
339
340(define-object GdkPixmap (GType))
341
342(define-boxed GdkBitmap
343  (copy gdk_bitmap_ref)
344  (free gdk_bitmap_unref))
345
346;;; GdkGC
347
348(define-boxed GdkGC
349  (copy gdk_gc_ref)
350  (free gdk_gc_unref))
351
352(define-func gdk_gc_new
353  (GdkGC (copy nil))
354  ((GdkWindow window)))
355
356(define-func gdk_gc_set_foreground
357  none
358  ((GdkGC gc)
359   (GdkColor color)))
360
361(define-func gdk_gc_set_background
362  none
363  ((GdkGC gc)
364   (GdkColor color)))
365
366(define-func gdk_gc_set_font
367  none
368  ((GdkGC gc)
369   (GdkFont font)))
370
371(define-func gdk_gc_set_function
372  none
373  ((GdkGC gc)
374   (GdkFunction function)))
375
376(define-func gdk_gc_set_fill
377  none
378  ((GdkGC gc)
379   (GdkFill fill)))
380
381(define-func gdk_gc_set_tile
382  none
383  ((GdkGC gc)
384   (GdkPixmap tile)))
385
386(define-func gdk_gc_set_stipple
387  none
388  ((GdkGC gc)
389   (GdkPixmap stipple)))
390
391(define-func gdk_gc_set_ts_origin
392  none
393  ((GdkGC gc)
394   (int x)
395   (int y)))
396
397(define-func gdk_gc_set_clip_origin
398  none
399  ((GdkGC gc)
400   (int x)
401   (int y)))
402
403(define-func gdk_gc_set_clip_mask
404  none
405  ((GdkGC gc)
406   (GdkBitmap mask)))
407
408(define-func gdk_gc_set_subwindow
409  none
410  ((GdkGC gc)
411   (GdkSubwindowMode mode)))
412
413(define-func gdk_gc_set_exposures
414  none
415  ((GdkGC gc)
416   (bool exposures)))
417
418(define-func gdk_gc_set_line_attributes
419  none
420  ((GdkGC gc)
421   (int line_width)
422   (GdkLineStyle line_style)
423   (GdkCapStyle cap_style)
424   (GdkJoinStyle join_style)))
425
426(define-func gdk_draw_line
427  none
428  ((GdkWindow window)
429   (GdkGC gc)
430   (int x1)
431   (int y1)
432   (int x2)
433   (int y2)))
434
435(define-func gdk_draw_lines
436  none
437  ((GdkWindow window)
438   (GdkGC gc)
439   ((cvecr GdkPoint) points)))
440
441(define-func gdk_draw_rectangle
442  none
443  ((GdkWindow window)
444   (GdkGC gc)
445   (bool filled)
446   (int x)
447   (int y)
448   (int width)
449   (int height)))
450
451(define-func gdk_draw_polygon
452  none
453  ((GdkWindow window)
454   (GdkGC gc)
455   (bool filled)
456   ((cvecr GdkPoint) points)))
457
458(define-func gdk_draw_arc
459  none
460  ((GdkWindow window)
461   (GdkGC gc)
462   (bool filled)
463   (int x)
464   (int y)
465   (int width)
466   (int height)
467   (int angle1)
468   (int angle2)))
469
470(define-func gdk_draw_string
471  none
472  ((GdkWindow window)
473   (GdkFont font)
474   (GdkGC gc)
475   (int x)
476   (int y)
477   (string string)))
478
479(define-func gdk_window_clear_area
480  none
481  ((GdkWindow window)
482   (int x)
483   (int y)
484   (int width)
485   (int height)))
486
487(define-func gdk_window_clear_area_e
488  none
489  ((GdkWindow window)
490   (int x)
491   (int y)
492   (int width)
493   (int height)))
494
495(define-func gdk_window_xid
496  uint
497  ((GdkWindow window)))
498
499(define-func gdk_pixmap_new
500  GdkWindow
501  ((GdkWindow window (null-ok))
502   (int width)
503   (int height)
504   (int depth (= "-1"))))
505
506(define-func gdk_draw_pixmap
507  none
508  ((GdkWindow drawable)
509   (GdkGC gc)
510   (GdkWindow src)
511   (int xsrc)
512   (int ysrc)
513   (int xdest)
514   (int ydest)
515   (int width)
516   (int height)))
517
518(define-func gdk_set_locale
519  static_string
520  ())
521
522;; Gdk functions
523
524(define-func gdk_font_load
525  (GdkFont (copy nil))
526  ((string name)))
527
528(define-func gdk_fontset_load
529  (GdkFont (copy nil))
530  ((string name)))
531
532(define-func gdk_flush
533  none
534  ())
535
536(define-func gdk_screen_width
537  int
538  ())
539
540(define-func gdk_screen_height
541  int
542  ())
543
544;; Color
545
546;; XXX lots missing
547
548(define-func gdk_color_parse_interp
549  GdkColor
550  ((string spec)))
551
552(define-func gdk_color_intern
553  GdkColor
554  ((GdkColor color)))
555
556(define-func gdk_font_intern
557  GdkFont
558  ((GdkFont font)))
559
560(define-func gdk_event_type
561  GdkEventType
562  ((GdkEvent event)))
563
564(define-func gdk_event_window
565  GdkWindow
566  ((GdkEvent event)))
567
568(define-func gdk_event_send_event
569  bool
570  ((GdkEvent event)))
571
572;(define-func gdk_event_area
573;  GdkRectangle
574;  ((GdkEvent event)))
575
576(define-func gdk_event_visibility_state
577  GdkVisibilityState
578  ((GdkEvent event)))
579
580(define-func gdk_event_time
581  uint
582  ((GdkEvent event)))
583
584(define-func gdk_event_x
585  float
586  ((GdkEvent event)))
587
588(define-func gdk_event_y
589  float
590  ((GdkEvent event)))
591
592(define-func gdk_event_pressure
593  float
594  ((GdkEvent event)))
595
596(define-func gdk_event_xtilt
597  float
598  ((GdkEvent event)))
599
600(define-func gdk_event_ytilt
601  float
602  ((GdkEvent event)))
603
604(define-func gdk_event_button
605  int
606  ((GdkEvent event)))
607
608(define-func gdk_event_button_state
609  bool
610  ((GdkEvent event)))
611
612(define-func gdk_event_is_hint
613  bool
614  ((GdkEvent event)))
615
616(define-func gdk_event_source
617  GdkInputSource
618  ((GdkEvent event)))
619
620(define-func gdk_event_deviceid
621  uint
622  ((GdkEvent event)))
623
624(define-func gdk_event_x_root
625  float
626  ((GdkEvent event)))
627
628(define-func gdk_event_y_root
629  float
630  ((GdkEvent event)))
631
632(define-func gdk_event_key_state
633  bool
634  ((GdkEvent event)))
635
636(define-func gdk_event_keyval
637  uint
638  ((GdkEvent event)))
639
640(define-func gdk_event_string
641  string
642  ((GdkEvent event)))
643
644(define-func gdk_event_subwindow
645  GdkWindow
646  ((GdkEvent event)))
647
648(define-func gdk_event_notify_detail
649  GdkNotifyType
650  ((GdkEvent event)))
651
652(define-func gdk_event_in
653  bool
654  ((GdkEvent event)))
655
656(define-func gdk_event_configure_x
657  int
658  ((GdkEvent event)))
659
660(define-func gdk_event_configure_y
661  int
662  ((GdkEvent event)))
663
664(define-func gdk_event_configure_width
665  int
666  ((GdkEvent event)))
667
668(define-func gdk_event_configure_height
669  int
670  ((GdkEvent event)))
671
672(define-func gdk_get_leader_window_id
673  uint
674  ())
675
676;; Options
677
678(options
679 (includes "#include <gdk/gdk.h>")
680 (init-func "sgtk_init_gtk_gdk_glue")
681 (other-inits "sgtk_init_gtk_glib_glue"))
682