1[options]
2girs_directories = ["../gir-files"]
3library = "Gdk"
4version = "3.0"
5min_cfg_version = "3.18"
6target_path = "."
7work_mode = "normal"
8generate_safety_asserts = true
9single_version_file = true
10deprecate_by_min_version = true
11
12generate = [
13    "Gdk.AnchorHints",
14    "Gdk.AppLaunchContext",
15    "Gdk.AxisFlags",
16    "Gdk.AxisUse",
17    "Gdk.ByteOrder",
18    "Gdk.CrossingMode",
19    "Gdk.CursorType",
20    "Gdk.DeviceManager",
21    "Gdk.DevicePad",
22    "Gdk.DeviceTool",
23    "Gdk.DeviceToolType",
24    "Gdk.DeviceType",
25    "Gdk.DragAction",
26    "Gdk.DragCancelReason",
27    "Gdk.DragProtocol",
28    "Gdk.DrawingContext",
29    "Gdk.EventMask",
30    "Gdk.EventSequence",
31    "Gdk.FrameClockPhase",
32    "Gdk.FullscreenMode",
33    "Gdk.GLContext",
34    "Gdk.GLError",
35    "Gdk.GrabOwnership",
36    "Gdk.GrabStatus",
37    "Gdk.Gravity",
38    "Gdk.InputMode",
39    "Gdk.InputSource",
40    "Gdk.ModifierIntent",
41    "Gdk.ModifierType",
42    "Gdk.NotifyType",
43    "Gdk.OwnerChange",
44    "Gdk.PropertyState",
45    "Gdk.PropMode",
46    "Gdk.ScrollDirection",
47    "Gdk.SeatCapabilities",
48    "Gdk.SettingAction",
49    "Gdk.SubpixelLayout",
50    "Gdk.VisibilityState",
51    "Gdk.VisualType",
52    "Gdk.WindowEdge",
53    "Gdk.WindowHints",
54    "Gdk.WindowState",
55    "Gdk.WindowType",
56    "Gdk.WindowTypeHint",
57    "Gdk.WindowWindowClass",
58    "Gdk.WMDecoration",
59    "Gdk.WMFunction",
60]
61
62manual = [
63    "cairo.Content",
64    "cairo.Context",
65    "cairo.FontOptions",
66    "cairo.Pattern",
67    "cairo.Region",
68    "cairo.Surface",
69    "Gdk.Atom",
70    "Gdk.Event",
71    "Gdk.EventAny",
72    "Gdk.EventButton",
73    "Gdk.EventConfigure",
74    "Gdk.EventCrossing",
75    "Gdk.EventDND",
76    "Gdk.EventExpose",
77    "Gdk.EventFocus",
78    "Gdk.EventGrabBroken",
79    "Gdk.EventKey",
80    "Gdk.EventMotion",
81    "Gdk.EventOwnerChange",
82    "Gdk.EventPadAxis",
83    "Gdk.EventPadButton",
84    "Gdk.EventPadGroupMode",
85    "Gdk.EventProperty",
86    "Gdk.EventProximity",
87    "Gdk.EventScroll",
88    "Gdk.EventSelection",
89    "Gdk.EventSetting",
90    "Gdk.EventTouch",
91    "Gdk.EventTouchpadPinch",
92    "Gdk.EventTouchpadSwipe",
93    "Gdk.EventVisibility",
94    "Gdk.EventWindowState",
95    "Gdk.Geometry",
96    "Gdk.KeymapKey",
97    "Gdk.Rectangle",
98    "Gdk.RGBA",
99    "Gdk.TimeCoord",
100    "GdkPixbuf.Pixbuf",
101    "Gio.AppLaunchContext",
102    "Gio.Icon",
103    "GLib.Error",
104    "GObject.Value",
105    "Pango.Context",
106    "Pango.Direction",
107    "Pango.Layout",
108    "Pango.LayoutLine",
109]
110
111[[object]]
112name = "Gdk.*"
113status = "generate"
114    [[object.function]]
115    pattern = ".+"
116        [[object.function.parameter]]
117        name = "cr"
118        const = true
119        [[object.function.parameter]]
120        name = "surface"
121        const = true
122    [[object.function]]
123    name = "setting_get"
124    # GValue initialized inside the function instead of passed as argument
125    ignore = true
126    [[object.function]]
127    name = "property_change"
128    # data parameter needed to be more
129    ignore = true
130    [[object.function]]
131    name = "pango_layout_get_clip_region"
132    ignore = true
133    [[object.function]]
134    name = "selection_property_get"
135    #data
136    ignore = true
137    [[object.function]]
138    name = "cairo_create"
139    #manual trait
140    ignore = true
141    [[object.function]]
142    pattern = "cairo_.+"
143    #manual trait
144    ignore = true
145    [[object.function]]
146    name = "disable_multidevice"
147    #manual trait
148    ignore = true
149    [[object.function]]
150    pattern = "drag_.+"
151    #manual trait
152    ignore = true
153    [[object.function]]
154    name = "drop_reply"
155    #manual trait
156    ignore = true
157    [[object.function]]
158    name = "drop_finish"
159    #manual trait
160    ignore = true
161    [[object.function]]
162    name = "get_default_root_window"
163    #manual trait
164    ignore = true
165    [[object.function]]
166    pattern = "offscreen_window_[gs]et_embedder"
167    #manual trait
168    ignore = true
169    [[object.function]]
170    name = "offscreen_window_get_surface"
171    #manual trait
172    ignore = true
173    [[object.function]]
174    name = "pixbuf_get_from_window"
175    #manual trait
176    ignore = true
177    [[object.function]]
178    name = "keyval_name"
179    manual = true
180    [[object.function]]
181    name = "keyval_to_unicode"
182    manual = true
183    [[object.function]]
184    name = "unicode_to_keyval"
185    manual = true
186    [[object.function]]
187    name = "keyval_from_name"
188    manual = true
189    [[object.function]]
190    name = "keyval_convert_case"
191    manual = true
192    [[object.function]]
193    name = "keyval_is_lower"
194    manual = true
195    [[object.function]]
196    name = "keyval_is_upper"
197    manual = true
198    [[object.function]]
199    name = "keyval_to_lower"
200    manual = true
201    [[object.function]]
202    name = "keyval_to_upper"
203    manual = true
204    [[object.function]]
205    name = "init"
206    #manual
207    ignore = true
208    [[object.function]]
209    pattern = "threads_add_idle.*"
210    #use glib::source::idle_add() instead
211    ignore = true
212    [[object.function]]
213    pattern = "threads_add_timeout.*"
214    #use glib::source::timeout_add() instead
215    ignore = true
216
217[[object]]
218name = "Gdk.Cursor"
219status = "generate"
220    [[object.function]]
221    name = "get_display"
222        [object.function.return]
223        nullable = false
224    [[object.function]]
225    name = "new_from_surface"
226        [[object.function.parameter]]
227        name = "surface"
228        const = true
229
230[[object]]
231name = "Gdk.Device"
232status = "generate"
233    [[object.function]]
234    name = "get_display"
235        [object.function.return]
236        nullable = false
237    [[object.function]]
238    name = "free_history"
239    ignore = true # cannot be used as is
240    [[object.function]]
241    name = "get_history"
242    manual = true # need to call "free_history" function by hand
243    [[object.property]]
244    name = "tool"
245    version = "3.22"
246    [[object.property]]
247    name = "type"
248    generate = ["get", "notify"]
249
250[[object]]
251name = "Gdk.DevicePadFeature"
252status = "generate"
253version = "3.22"
254
255[[object]]
256name = "Gdk.Display"
257status = "generate"
258    [[object.function]]
259    name = "get_default_group"
260        [object.function.return]
261        nullable = false
262    [[object.function]]
263    name = "get_default_screen"
264        [object.function.return]
265        nullable = false
266    [[object.function]]
267    name = "get_name"
268        [object.function.return]
269        nullable = false
270    [[object.function]]
271    name = "get_screen"
272        [object.function.return]
273        nullable = false
274
275[[object]]
276name = "Gdk.DisplayManager"
277status = "generate"
278    [[object.function]]
279    name = "get"
280        [object.function.return]
281        nullable = false
282
283[[object]]
284name = "Gdk.DragContext"
285status = "generate"
286    [[object.function]]
287    name = "get_device"
288        [object.function.return]
289        nullable = false
290    [[object.function]]
291    name = "get_dest_window"
292        [object.function.return]
293        nullable = false
294    [[object.function]]
295    name = "get_source_window"
296        [object.function.return]
297        nullable = false
298
299[[object]]
300name = "Gdk.EventType"
301status = "generate"
302    [[object.member]]
303    name = "2button_press"
304    alias = true
305    [[object.member]]
306    name = "3button_press"
307    alias = true
308    [[object.member]]
309    name = "event_last"
310    alias = true
311
312[[object]]
313name = "Gdk.FrameClock"
314status = "generate"
315    [[object.function]]
316    name = "get_refresh_info"
317    #wrong gir: no out parameters
318    manual = true
319
320[[object]]
321name = "Gdk.FrameTimings"
322status = "generate"
323    [[object.function]]
324    name = "get_predicted_presentation_time"
325    # Use an `Option` for the return value
326    manual = true
327    [[object.function]]
328    name = "get_presentation_time"
329    # Use an `Option` for the return value
330    manual = true
331    [[object.function]]
332    name = "get_refresh_interval"
333    # Use an `Option` for the return value
334    manual = true
335
336[[object]]
337name = "Gdk.Keymap"
338status = "generate"
339    [[object.function]]
340    name = "get_caps_lock_state"
341    rename = "is_caps_locked"
342    [[object.function]]
343    name = "get_num_lock_state"
344    rename = "is_num_locked"
345    [[object.function]]
346    name = "get_scroll_lock_state"
347    rename = "is_scroll_locked"
348    [[object.function]]
349    name = "get_entries_for_keycode"
350    # Invalid generation of Vec<KeymapKey>
351    manual = true
352    [[object.function]]
353    name = "get_entries_for_keyval"
354    # Invalid generation of Vec<KeymapKey>
355    manual = true
356    [[object.function]]
357    name = "add_virtual_modifiers"
358    # Invalid usage of "&mut ModifierType"
359    manual = true
360    [[object.function]]
361    name = "map_virtual_modifiers"
362    # Invalid usage of "&mut ModifierType"
363    manual = true
364    [[object.function]]
365    name = "lookup_key"
366    manual = true
367
368[[object]]
369name = "Gdk.Monitor"
370status = "generate"
371version = "3.22"
372    [[object.property]]
373    name = "subpixel-layout"
374    version = "3.22"
375    [[object.property]]
376    name = "manufacturer"
377    version = "3.22"
378    [[object.property]]
379    name = "model"
380    version = "3.22"
381
382[[object]]
383name = "Gdk.Screen"
384status = "generate"
385    [[object.function]]
386    name = "get_display"
387        [object.function.return]
388        nullable = false
389    [[object.function]]
390    name = "make_display_name"
391        [object.function.return]
392        nullable = false
393    [[object.function]]
394    name = "get_font_options"
395    manual = true
396    [[object.function]]
397    name = "get_setting"
398    # bool return value signals success
399    manual = true
400    [[object.function]]
401    name = "height"
402    # This is an associated function which clashes with
403    # the actual method getter after auto-renaming.
404    rename = "screen_height"
405    [[object.function]]
406    name = "height_mm"
407    # This is an associated function which clashes with
408    # the actual method getter after auto-renaming.
409    rename = "screen_height_mm"
410    [[object.function]]
411    name = "width"
412    # This is an associated function which clashes with
413    # the actual method getter after auto-renaming.
414    rename = "screen_width"
415    [[object.function]]
416    name = "width_mm"
417    # This is an associated function which clashes with
418    # the actual method getter after auto-renaming.
419    rename = "screen_width_mm"
420
421[[object]]
422name = "Gdk.Seat"
423status = "generate"
424version = "3.20"
425
426[[object]]
427name = "Gdk.Visual"
428status = "generate"
429    [[object.function]]
430    name = "get_system"
431        [object.function.return]
432        nullable = false
433    [[object.function]]
434    name = "get_best"
435        [object.function.return]
436        nullable = false
437    [[object.function]]
438    name = "get_screen"
439        [object.function.return]
440        nullable = false
441
442[[object]]
443name = "Gdk.Window"
444status = "generate"
445manual_traits = ["WindowExtManual"]
446    [[object.function]]
447    name = "new"
448    manual = true
449    [[object.function]]
450    pattern = "[gs]et_background_pattern"
451    manual = true
452    doc_trait_name = "WindowExtManual"
453    [[object.function]]
454    pattern = "[gs]et_user_data"
455    manual = true
456    doc_trait_name = "WindowExtManual"
457    [[object.function]]
458    name = "get_effective_toplevel"
459        [object.function.return]
460        nullable = false
461    [[object.function]]
462    name = "get_event_compression"
463    rename = "does_event_compression"
464    [[object.function]]
465    name = "get_display"
466        [object.function.return]
467        nullable = false
468    [[object.function]]
469    name = "get_screen"
470        [object.function.return]
471        nullable = false
472    [[object.function]]
473    name = "get_toplevel"
474        [object.function.return]
475        nullable = false
476    [[object.function]]
477    name = "get_visual"
478        [object.function.return]
479        nullable = false
480    [[object.function]]
481    name = "mark_paint_from_clip"
482        [[object.function.parameter]]
483        name = "cr"
484        const = true
485    [[object.function]]
486    name = "create_similar_surface"
487    manual = true
488    # See https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3228
489    [[object.function]]
490    name = "create_similar_image_surface"
491    manual = true
492    [[object.function]]
493    name = "set_opaque_region"
494        [[object.function.parameter]]
495        name = "region"
496        const = true
497