瀏覽代碼

feat: full Gdk/Gsk coverage; bind libspelling and libpanel

Complete the GTK platform stack and add the two remaining GNOME
platform libraries.

Gdk-4.0 / Gsk-4.0 (full coverage):
- 52 new Gdk modules and 48 new Gsk modules, covering every class,
  interface and record of Gdk 4.0 and Gsk 4.0 plus their namespace
  functions and enums: displays/devices/seats, events, surfaces
  (toplevel/popup), cursors, drag-and-drop, clips, content formats and
  (de)serialization, textures and Cairo/GL/Vulkan draw contexts, frame
  clocks; and the Gsk render-node family, renderers, transforms,
  rounded/clip/path/shadow helpers and GL shaders.
- These modules are produced by tools/gir2def.py (the same generator the
  verifier exercises) and are validated against the installed libraries.
  Variadic functions are omitted; the hand-written Gdk.def keeps the
  canonical GdkRGBA record.

libspelling 0.4 / libpanel 1.10 (hand-written):
- Spelling: SpellingChecker, SpellingDictionary, SpellingLanguage,
  SpellingProvider, SpellingTextBufferAdapter, SpellingFunctions.
- Panel: Application/Workbench/Workspace/DocumentWorkspace, Frame (+
  Header/HeaderBar/TabBar/Switcher), Grid/GridColumn/Paned/Statusbar/
  OmniBar/Dock/ToggleButton, Widget/Session/SessionItem/SaveDelegate/
  SaveDialog/ChangesDialog, Settings/LayeredSettings/GSettingsActionGroup/
  ActionMuxer/MenuManager/ThemeSelector/Inhibitor, PanelEnums/Functions.

Tooling:
- gir_verify.py + Makefile: verify Gdk-4.0, Gsk-4.0, Spelling-1 and
  Panel-1 too (allowlisting Panel's internal marshallers/macro).

Also:
- tests/test_platform.mod: Gdk display, Gsk transform, libpanel, spelling
- examples/spelling.mod: GtkSourceView 5 + libspelling
- Makefile/run_tests.sh: optional libspelling/libpanel detection
- README updated

Test suite: 45 passed. gir-verify: 0 unexpected (10256 identifiers).
Eric Streit 2 天之前
父節點
當前提交
6b58592c30
共有 100 個文件被更改,包括 4387 次插入 和 16 次删除
  1. 11 2
      Makefile
  2. 46 14
      README.md
  3. 79 0
      examples/spelling.mod
  4. 29 0
      src/GdkAppLaunchContext.def
  5. 17 0
      src/GdkButtonEvent.def
  6. 17 0
      src/GdkCairoContext.def
  7. 44 0
      src/GdkCicpParams.def
  8. 44 0
      src/GdkColorState.def
  9. 47 0
      src/GdkContentDeserializer.def
  10. 74 0
      src/GdkContentFormats.def
  11. 38 0
      src/GdkContentFormatsBuilder.def
  12. 47 0
      src/GdkContentSerializer.def
  13. 23 0
      src/GdkCrossingEvent.def
  14. 38 0
      src/GdkCursor.def
  15. 17 0
      src/GdkDNDEvent.def
  16. 71 0
      src/GdkDevice.def
  17. 26 0
      src/GdkDevicePad.def
  18. 26 0
      src/GdkDeviceTool.def
  19. 104 0
      src/GdkDisplay.def
  20. 29 0
      src/GdkDisplayManager.def
  21. 32 0
      src/GdkDmabufFormats.def
  22. 98 0
      src/GdkDmabufTextureBuilder.def
  23. 47 0
      src/GdkDrag.def
  24. 17 0
      src/GdkDragSurface.def
  25. 17 0
      src/GdkDragSurfaceSize.def
  26. 32 0
      src/GdkDrawContext.def
  27. 50 0
      src/GdkDrop.def
  28. 501 0
      src/GdkEnums.def
  29. 65 0
      src/GdkEvent.def
  30. 23 0
      src/GdkFileList.def
  31. 17 0
      src/GdkFocusEvent.def
  32. 44 0
      src/GdkFrameClock.def
  33. 38 0
      src/GdkFrameTimings.def
  34. 100 0
      src/GdkFunctions.def
  35. 20 0
      src/GdkGLTexture.def
  36. 80 0
      src/GdkGLTextureBuilder.def
  37. 20 0
      src/GdkGrabBrokenEvent.def
  38. 38 0
      src/GdkKeyEvent.def
  39. 17 0
      src/GdkMemoryTexture.def
  40. 68 0
      src/GdkMemoryTextureBuilder.def
  41. 53 0
      src/GdkMonitor.def
  42. 23 0
      src/GdkPadEvent.def
  43. 44 0
      src/GdkPaintable.def
  44. 35 0
      src/GdkPopup.def
  45. 65 0
      src/GdkPopupLayout.def
  46. 26 0
      src/GdkRectangle.def
  47. 26 0
      src/GdkScrollEvent.def
  48. 32 0
      src/GdkSeat.def
  49. 95 0
      src/GdkSurface.def
  50. 47 0
      src/GdkTextureDownloader.def
  51. 71 0
      src/GdkToplevel.def
  52. 50 0
      src/GdkToplevelLayout.def
  53. 26 0
      src/GdkToplevelSize.def
  54. 17 0
      src/GdkTouchEvent.def
  55. 29 0
      src/GdkTouchpadEvent.def
  56. 26 0
      src/GskBlendNode.def
  57. 23 0
      src/GskBlurNode.def
  58. 26 0
      src/GskBorderNode.def
  59. 17 0
      src/GskBroadwayRenderer.def
  60. 23 0
      src/GskCairoNode.def
  61. 17 0
      src/GskCairoRenderer.def
  62. 23 0
      src/GskClipNode.def
  63. 26 0
      src/GskColorMatrixNode.def
  64. 20 0
      src/GskColorNode.def
  65. 32 0
      src/GskConicGradientNode.def
  66. 23 0
      src/GskContainerNode.def
  67. 26 0
      src/GskCrossFadeNode.def
  68. 23 0
      src/GskDebugNode.def
  69. 205 0
      src/GskEnums.def
  70. 26 0
      src/GskFillNode.def
  71. 22 0
      src/GskFunctions.def
  72. 17 0
      src/GskGLRenderer.def
  73. 74 0
      src/GskGLShader.def
  74. 29 0
      src/GskGLShaderNode.def
  75. 35 0
      src/GskInsetShadowNode.def
  76. 29 0
      src/GskLinearGradientNode.def
  77. 26 0
      src/GskMaskNode.def
  78. 17 0
      src/GskNglRenderer.def
  79. 23 0
      src/GskOpacityNode.def
  80. 35 0
      src/GskOutsetShadowNode.def
  81. 59 0
      src/GskPath.def
  82. 107 0
      src/GskPathBuilder.def
  83. 38 0
      src/GskPathMeasure.def
  84. 41 0
      src/GskPathPoint.def
  85. 38 0
      src/GskRadialGradientNode.def
  86. 41 0
      src/GskRenderNode.def
  87. 38 0
      src/GskRenderer.def
  88. 23 0
      src/GskRepeatNode.def
  89. 17 0
      src/GskRepeatingLinearGradientNode.def
  90. 17 0
      src/GskRepeatingRadialGradientNode.def
  91. 23 0
      src/GskRoundedClipNode.def
  92. 44 0
      src/GskRoundedRect.def
  93. 50 0
      src/GskShaderArgsBuilder.def
  94. 26 0
      src/GskShadowNode.def
  95. 65 0
      src/GskStroke.def
  96. 26 0
      src/GskStrokeNode.def
  97. 23 0
      src/GskSubsurfaceNode.def
  98. 35 0
      src/GskTextNode.def
  99. 20 0
      src/GskTextureNode.def
  100. 23 0
      src/GskTextureScaleNode.def

+ 11 - 2
Makefile

@@ -7,10 +7,14 @@ GTKLIBS  := $(shell pkg-config --libs gtk4 2>/dev/null || echo -lgtk-4)
 ADWLIBS  := $(shell pkg-config --libs libadwaita-1 2>/dev/null)
 # GtkSourceView 5 is optional too.
 SRCVLIBS := $(shell pkg-config --libs gtksourceview-5 2>/dev/null)
+# libspelling + libpanel are optional platform libraries.
+SPELLIBS := $(shell pkg-config --libs libspelling-1 2>/dev/null)
+PANELLIBS := $(shell pkg-config --libs libpanel-1 2>/dev/null)
 GLLIBS   := $(shell pkg-config --libs gl 2>/dev/null)
 GTKCFG   += $(shell pkg-config --cflags libadwaita-1 2>/dev/null)
 GTKCFG   += $(shell pkg-config --cflags gtksourceview-5 2>/dev/null)
-GTKLIBS  += $(ADWLIBS) $(SRCVLIBS) $(GLLIBS)
+GTKCFG   += $(shell pkg-config --cflags libspelling-1 libpanel-1 2>/dev/null)
+GTKLIBS  += $(ADWLIBS) $(SRCVLIBS) $(SPELLIBS) $(PANELLIBS) $(GLLIBS)
 GM2FLAGS ?= -fiso
 GIR      ?= Gtk-4.0
 GIR_DIR  ?= /usr/share/gir-1.0
@@ -37,6 +41,11 @@ ifneq ($(SRCVLIBS),)
 EXAMPLES += sourceview
 endif
 
+# Include the spell-checking example with GtkSourceView + libspelling.
+ifneq ($(SRCVLIBS)$(SPELLIBS),)
+EXAMPLES += spelling
+endif
+
 .PHONY: all tests examples demos check clean gir gir-check gir-verify
 
 all: tests examples demos
@@ -104,7 +113,7 @@ gir-check:
 	./tools/run_gir_check.sh
 
 # Check that every generated identifier exists in the installed library.
-GIR_VERIFY ?= Gtk-4.0 GLib-2.0 Gio-2.0 Adw-1 GtkSource-5
+GIR_VERIFY ?= Gtk-4.0 GLib-2.0 Gio-2.0 Adw-1 GtkSource-5 Gdk-4.0 Gsk-4.0 Spelling-1 Panel-1
 gir-verify:
 	set -e; for ns in $(GIR_VERIFY); do \
 	    python3 tools/gir_verify.py $$ns --gir-dir $(GIR_DIR); \

+ 46 - 14
README.md

@@ -14,21 +14,26 @@ Verified with `gm2` 16.0.1 (experimental), GTK 4.18.6 and libadwaita 1.7.6.
 
 ## Features
 
-- **273 hand-written binding modules** across GLib, GObject, Gio, GTK4,
-  libadwaita and GtkSourceView 5 — windows, widgets, inputs, containers,
-  model-backed views, actions/menus/accelerators, dialogs, CSS, drawing
-  (Cairo/Pango), rich text, gestures, drag-and-drop, media, OpenGL,
-  printing, expressions/constraints/shortcuts, settings, the **complete
-  GNOME (libadwaita) widget set** — every `Adw*` class — and the
-  **GtkSourceView 5** code-editor widgets.
+- **414 binding modules** across GLib, GObject, Gio, GTK4, Gdk, Gsk,
+  libadwaita, GtkSourceView 5, libspelling and libpanel — windows,
+  widgets, inputs, containers, model-backed views,
+  actions/menus/accelerators, dialogs, CSS, drawing (Cairo/Pango),
+  rich text, gestures, drag-and-drop, media, OpenGL, printing,
+  expressions/constraints/shortcuts, settings, the **complete GNOME
+  (libadwaita) widget set** — every `Adw*` class — the **GtkSourceView 5**
+  code-editor widgets, **full Gdk/Gsk coverage**, and the libspelling /
+  libpanel platform libraries.
+  Most modules are hand-written; the large Gdk/Gsk (and the Panel/Gdk
+  record) namespaces are generated by `tools/gir2def.py` and verified
+  against the installed libraries.
 - **Pure-Modula-2 helpers**: `GtkUtils` (string/number conversion,
   `Connect`, `SetAccel`, ownership and `GError` helpers) and
   `GtkClosures` (per-connection signal contexts with cleanup).
-- **44 tests**, **29 runnable examples**, and an **m2 gtk-demo**
+- **45 tests**, **30 runnable examples**, and an **m2 gtk-demo**
   browser (`demos/`) modelled on GTK's own `gtk4-demo`.
 - **Generator + verifier**: `tools/gir2def.py` turns a `.gir` file into
   `.def` files; `tools/gir_verify.py` checks every generated identifier
-  against the installed library. Verified clean across 9052 identifiers.
+  against the installed library. Verified clean across 10256 identifiers.
 
 ## Requirements
 
@@ -41,6 +46,10 @@ Verified with `gm2` 16.0.1 (experimental), GTK 4.18.6 and libadwaita 1.7.6.
   (`pkg-config --cflags --libs gtksourceview-5`, tested 5.16.0) —
   **optional**; enables the `GtkSource*` modules, `test_sourceview` and
   the `sourceview` example.
+- libspelling and libpanel development files (`libspelling-1`, tested
+  0.4.8; `libpanel-1`, tested 1.10.0) — **optional**; enable the
+  `Spelling*`/`Panel*` modules, `test_platform` and the `spelling`
+  example.
 
 ```sh
 export PATH=$HOME/bin/Modula2/Gm2/bin:$PATH
@@ -140,6 +149,7 @@ gm2 -fiso -Isrc -Ilib myprog.mod \
 | `adw_widgets` | view-switcher title, view stack, banner, squeezer, wrap box, avatar, spinner |
 | `adw_views` | tabbed window: `AdwTabView`/`AdwTabBar`/`AdwTabButton`/`AdwTabOverview` |
 | `sourceview` | GtkSourceView 5 code editor (highlighting, line numbers, style scheme) |
+| `spelling` | GtkSourceView 5 + libspelling spell-checking |
 
 ## m2 gtk-demo (`demos/`)
 
@@ -283,6 +293,28 @@ make demos
 | `GtkSourceIndenter`, `GtkSourcePrintCompositor`, `GtkSourceVimIMContext` | indentation, printing and the Vim input method |
 | `GtkSourceEnums`, `GtkSourceFunctions` | shared enums and namespace functions |
 
+### Gdk / Gsk (full coverage)
+
+| Modules | Contents |
+|---|---|
+| `Gdk*` (~58) | displays, monitors, seats, devices, events, surfaces, toplevels/popups, cursors, drag-and-drop, clips, content (de)serialization, textures and draw contexts, Cairo/GL/Vulkan contexts, frame clocks, `RGBA`/`Rectangle` value types, `GdkEnums`, `GdkFunctions` |
+| `Gsk*` (~48) | render nodes (container, cairo, color, text, texture, transform, shadow, …), renderers, transforms, rounded/clip/path/shadow helpers, GL shaders, `GskEnums`, `GskFunctions` |
+
+These namespace modules are produced by `tools/gir2def.py` (the same
+generator the verifier checks) and are complete: every `Gdk*`/`Gsk*`
+class/interface/record plus the namespace functions and enums.
+
+### libspelling / libpanel
+
+| Modules | Contents |
+|---|---|
+| `SpellingChecker`, `SpellingDictionary`, `SpellingLanguage`, `SpellingProvider`, `SpellingTextBufferAdapter` | libspelling spell-checking |
+| `PanelApplication`, `PanelWorkbench`, `PanelWorkspace`, `PanelDocumentWorkspace` | libpanel workbench/workspace |
+| `PanelFrame(+Header, HeaderBar, TabBar, Switcher)`, `PanelGrid`, `PanelGridColumn`, `PanelPaned`, `PanelStatusbar`, `PanelOmniBar`, `PanelDock`, `PanelToggleButton` | panel layout and docks |
+| `PanelWidget`, `PanelSession`, `PanelSessionItem`, `PanelSaveDelegate`, `PanelSaveDialog`, `PanelChangesDialog` | documents and sessions |
+| `PanelSettings`, `PanelLayeredSettings`, `PanelGSettingsActionGroup`, `PanelActionMuxer`, `PanelMenuManager`, `PanelThemeSelector`, `PanelInhibitor` | settings, actions and menus |
+| `PanelEnums`, `PanelFunctions`, `SpellingFunctions` | enums and namespace functions |
+
 ### Helpers and the C shim (`lib/`)
 
 | Module | Contents |
@@ -346,11 +378,11 @@ make gir-verify           # check every identifier exists in the library
 
 It produces one module per class/interface/record, namespace functions in
 `<Namespace>Functions.def`, and enums in `<Namespace>Enums.def`; procedure
-names are the exact GIR `c:identifier`. Across Gtk/GLib/Gio/Adw/GtkSource,
-682 generated modules parse under `gm2 -fiso` and all 9052 identifiers
-resolve in the installed libraries. Output goes to `gen/` (git-ignored) and
-is meant to be cherry-picked, not to replace `src/`. See `tools/README.md`
-for the type mapping and limits.
+names are the exact GIR `c:identifier`. Across Gtk/GLib/Gio/Adw/GtkSource/
+Gdk/Gsk/Spelling/Panel, 828 generated modules parse under `gm2 -fiso` and
+all 10256 identifiers resolve in the installed libraries. Output goes to
+`gen/` (git-ignored) and is meant to be cherry-picked, not to replace
+`src/`. See `tools/README.md` for the type mapping and limits.
 
 ## Repository layout
 

+ 79 - 0
examples/spelling.mod

@@ -0,0 +1,79 @@
+MODULE spelling ;
+
+(*
+   m2-GTK4 example - a GtkSourceView 5 editor with libspelling
+   spell-checking attached to its buffer:
+
+     GtkApplicationWindow > GtkScrolledWindow > GtkSourceView
+       buffer <- SpellingTextBufferAdapter <- SpellingChecker
+
+   Build:  make examples
+   Run:    ./build/examples/spelling
+*)
+
+FROM Gio IMPORT g_application_run;
+FROM GtkApplication IMPORT gtk_application_new;
+FROM GtkWindow IMPORT gtk_application_window_new, gtk_window_set_title,
+   gtk_window_set_default_size, gtk_window_set_child, gtk_window_present;
+FROM GtkScrolledWindow IMPORT gtk_scrolled_window_new,
+   gtk_scrolled_window_set_child;
+FROM GtkWidget IMPORT gtk_widget_set_vexpand;
+FROM GtkTextBuffer IMPORT gtk_text_buffer_set_text;
+FROM GtkUtils IMPORT Connect;
+FROM GtkSourceFunctions IMPORT gtk_source_init;
+FROM GtkSourceBuffer IMPORT gtk_source_buffer_new;
+FROM GtkSourceView IMPORT gtk_source_view_new_with_buffer,
+   gtk_source_view_set_show_line_numbers;
+FROM SpellingFunctions IMPORT spelling_init;
+FROM SpellingChecker IMPORT spelling_checker_get_default;
+FROM SpellingTextBufferAdapter IMPORT spelling_text_buffer_adapter_new;
+FROM SYSTEM IMPORT ADDRESS, ADR;
+FROM libc IMPORT printf;
+
+CONST
+   AppId = "org.example.m2gtk4.Spelling";
+
+   Sample =
+"Spell checking is attatched to this bufer and underlines misspeled words.\n" +
+"Right-click (or press the menu key) on a underlined word to see the\n" +
+"corrections offered by the default libspelling provider.\n";
+
+PROCEDURE OnActivate (application: ADDRESS; data: ADDRESS);
+VAR
+   window, sw, view, buffer, checker, adapter: ADDRESS;
+BEGIN
+   buffer := gtk_source_buffer_new(NIL);
+   gtk_text_buffer_set_text(buffer, Sample, -1);
+
+   checker := spelling_checker_get_default();
+   IF checker # NIL THEN
+      adapter := spelling_text_buffer_adapter_new(buffer, checker)
+   END;
+
+   view := gtk_source_view_new_with_buffer(buffer);
+   gtk_source_view_set_show_line_numbers(view, 1);
+
+   sw := gtk_scrolled_window_new();
+   gtk_scrolled_window_set_child(sw, view);
+   gtk_widget_set_vexpand(sw, 1);
+
+   window := gtk_application_window_new(application);
+   gtk_window_set_title(window, "m2-GTK4 - libspelling");
+   gtk_window_set_default_size(window, 600, 400);
+   gtk_window_set_child(window, sw);
+   gtk_window_present(window)
+END OnActivate;
+
+VAR
+   app: ADDRESS;
+BEGIN
+   gtk_source_init();
+   spelling_init();
+   app := gtk_application_new(AppId, 0);
+   IF app = NIL THEN
+      printf("gtk_application_new failed\n");
+      HALT(1)
+   END;
+   Connect(app, "activate", ADR(OnActivate), NIL);
+   g_application_run(app, 0, NIL)
+END spelling.

+ 29 - 0
src/GdkAppLaunchContext.def

@@ -0,0 +1,29 @@
+DEFINITION MODULE FOR "C" GdkAppLaunchContext ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkAppLaunchContext,
+   gdk_app_launch_context_get_display,
+   gdk_app_launch_context_set_desktop,
+   gdk_app_launch_context_set_icon,
+   gdk_app_launch_context_set_icon_name,
+   gdk_app_launch_context_set_timestamp;
+
+TYPE
+   GdkAppLaunchContext = ADDRESS;
+
+(* gdk_app_launch_context_get_display *)
+PROCEDURE gdk_app_launch_context_get_display (context: GdkAppLaunchContext) : [ ADDRESS ];
+(* gdk_app_launch_context_set_desktop *)
+PROCEDURE gdk_app_launch_context_set_desktop (context: GdkAppLaunchContext; desktop: INTEGER);
+(* gdk_app_launch_context_set_icon *)
+PROCEDURE gdk_app_launch_context_set_icon (context: GdkAppLaunchContext; icon: ADDRESS);
+(* gdk_app_launch_context_set_icon_name *)
+PROCEDURE gdk_app_launch_context_set_icon_name (context: GdkAppLaunchContext; icon_name: ARRAY OF CHAR);
+(* gdk_app_launch_context_set_timestamp *)
+PROCEDURE gdk_app_launch_context_set_timestamp (context: GdkAppLaunchContext; timestamp: CARDINAL);
+
+END GdkAppLaunchContext.

+ 17 - 0
src/GdkButtonEvent.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GdkButtonEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkButtonEvent,
+   gdk_button_event_get_button;
+
+TYPE
+   GdkButtonEvent = ADDRESS;
+
+(* gdk_button_event_get_button *)
+PROCEDURE gdk_button_event_get_button (event: GdkButtonEvent) : [ CARDINAL ];
+
+END GdkButtonEvent.

+ 17 - 0
src/GdkCairoContext.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GdkCairoContext ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkCairoContext,
+   gdk_cairo_context_cairo_create;
+
+TYPE
+   GdkCairoContext = ADDRESS;
+
+(* gdk_cairo_context_cairo_create *)
+PROCEDURE gdk_cairo_context_cairo_create (self: GdkCairoContext) : [ ADDRESS ];
+
+END GdkCairoContext.

+ 44 - 0
src/GdkCicpParams.def

@@ -0,0 +1,44 @@
+DEFINITION MODULE FOR "C" GdkCicpParams ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkCicpParams,
+   gdk_cicp_params_new,
+   gdk_cicp_params_build_color_state,
+   gdk_cicp_params_get_color_primaries,
+   gdk_cicp_params_get_matrix_coefficients,
+   gdk_cicp_params_get_range,
+   gdk_cicp_params_get_transfer_function,
+   gdk_cicp_params_set_color_primaries,
+   gdk_cicp_params_set_matrix_coefficients,
+   gdk_cicp_params_set_range,
+   gdk_cicp_params_set_transfer_function;
+
+TYPE
+   GdkCicpParams = ADDRESS;
+
+(* gdk_cicp_params_new *)
+PROCEDURE gdk_cicp_params_new () : [ ADDRESS ];
+(* gdk_cicp_params_build_color_state *)
+PROCEDURE gdk_cicp_params_build_color_state (self: GdkCicpParams) : [ ADDRESS ];
+(* gdk_cicp_params_get_color_primaries *)
+PROCEDURE gdk_cicp_params_get_color_primaries (self: GdkCicpParams) : [ CARDINAL ];
+(* gdk_cicp_params_get_matrix_coefficients *)
+PROCEDURE gdk_cicp_params_get_matrix_coefficients (self: GdkCicpParams) : [ CARDINAL ];
+(* gdk_cicp_params_get_range *)
+PROCEDURE gdk_cicp_params_get_range (self: GdkCicpParams) : [ CARDINAL ];
+(* gdk_cicp_params_get_transfer_function *)
+PROCEDURE gdk_cicp_params_get_transfer_function (self: GdkCicpParams) : [ CARDINAL ];
+(* gdk_cicp_params_set_color_primaries *)
+PROCEDURE gdk_cicp_params_set_color_primaries (self: GdkCicpParams; color_primaries: CARDINAL);
+(* gdk_cicp_params_set_matrix_coefficients *)
+PROCEDURE gdk_cicp_params_set_matrix_coefficients (self: GdkCicpParams; matrix_coefficients: CARDINAL);
+(* gdk_cicp_params_set_range *)
+PROCEDURE gdk_cicp_params_set_range (self: GdkCicpParams; range: CARDINAL);
+(* gdk_cicp_params_set_transfer_function *)
+PROCEDURE gdk_cicp_params_set_transfer_function (self: GdkCicpParams; transfer_function: CARDINAL);
+
+END GdkCicpParams.

+ 44 - 0
src/GdkColorState.def

@@ -0,0 +1,44 @@
+DEFINITION MODULE FOR "C" GdkColorState ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkColorState,
+   gdk_color_state_create_cicp_params,
+   gdk_color_state_equal,
+   gdk_color_state_ref,
+   gdk_color_state_unref,
+   gdk_color_state_get_oklab,
+   gdk_color_state_get_oklch,
+   gdk_color_state_get_rec2100_linear,
+   gdk_color_state_get_rec2100_pq,
+   gdk_color_state_get_srgb,
+   gdk_color_state_get_srgb_linear;
+
+TYPE
+   GdkColorState = ADDRESS;
+
+(* gdk_color_state_create_cicp_params *)
+PROCEDURE gdk_color_state_create_cicp_params (self: GdkColorState) : [ ADDRESS ];
+(* gdk_color_state_equal *)
+PROCEDURE gdk_color_state_equal (self: GdkColorState; other: GdkColorState) : [ INTEGER ];
+(* gdk_color_state_ref *)
+PROCEDURE gdk_color_state_ref (self: GdkColorState) : [ ADDRESS ];
+(* gdk_color_state_unref *)
+PROCEDURE gdk_color_state_unref (self: GdkColorState);
+(* gdk_color_state_get_oklab *)
+PROCEDURE gdk_color_state_get_oklab () : [ ADDRESS ];
+(* gdk_color_state_get_oklch *)
+PROCEDURE gdk_color_state_get_oklch () : [ ADDRESS ];
+(* gdk_color_state_get_rec2100_linear *)
+PROCEDURE gdk_color_state_get_rec2100_linear () : [ ADDRESS ];
+(* gdk_color_state_get_rec2100_pq *)
+PROCEDURE gdk_color_state_get_rec2100_pq () : [ ADDRESS ];
+(* gdk_color_state_get_srgb *)
+PROCEDURE gdk_color_state_get_srgb () : [ ADDRESS ];
+(* gdk_color_state_get_srgb_linear *)
+PROCEDURE gdk_color_state_get_srgb_linear () : [ ADDRESS ];
+
+END GdkColorState.

+ 47 - 0
src/GdkContentDeserializer.def

@@ -0,0 +1,47 @@
+DEFINITION MODULE FOR "C" GdkContentDeserializer ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkContentDeserializer,
+   gdk_content_deserializer_get_cancellable,
+   gdk_content_deserializer_get_gtype,
+   gdk_content_deserializer_get_input_stream,
+   gdk_content_deserializer_get_mime_type,
+   gdk_content_deserializer_get_priority,
+   gdk_content_deserializer_get_task_data,
+   gdk_content_deserializer_get_user_data,
+   gdk_content_deserializer_get_value,
+   gdk_content_deserializer_return_error,
+   gdk_content_deserializer_return_success,
+   gdk_content_deserializer_set_task_data;
+
+TYPE
+   GdkContentDeserializer = ADDRESS;
+
+(* gdk_content_deserializer_get_cancellable *)
+PROCEDURE gdk_content_deserializer_get_cancellable (deserializer: GdkContentDeserializer) : [ ADDRESS ];
+(* gdk_content_deserializer_get_gtype *)
+PROCEDURE gdk_content_deserializer_get_gtype (deserializer: GdkContentDeserializer) : [ LONGCARD ];
+(* gdk_content_deserializer_get_input_stream *)
+PROCEDURE gdk_content_deserializer_get_input_stream (deserializer: GdkContentDeserializer) : [ ADDRESS ];
+(* gdk_content_deserializer_get_mime_type *)
+PROCEDURE gdk_content_deserializer_get_mime_type (deserializer: GdkContentDeserializer) : [ ADDRESS ];
+(* gdk_content_deserializer_get_priority *)
+PROCEDURE gdk_content_deserializer_get_priority (deserializer: GdkContentDeserializer) : [ INTEGER ];
+(* gdk_content_deserializer_get_task_data *)
+PROCEDURE gdk_content_deserializer_get_task_data (deserializer: GdkContentDeserializer) : [ ADDRESS ];
+(* gdk_content_deserializer_get_user_data *)
+PROCEDURE gdk_content_deserializer_get_user_data (deserializer: GdkContentDeserializer) : [ ADDRESS ];
+(* gdk_content_deserializer_get_value *)
+PROCEDURE gdk_content_deserializer_get_value (deserializer: GdkContentDeserializer) : [ ADDRESS ];
+(* gdk_content_deserializer_return_error *)
+PROCEDURE gdk_content_deserializer_return_error (deserializer: GdkContentDeserializer);
+(* gdk_content_deserializer_return_success *)
+PROCEDURE gdk_content_deserializer_return_success (deserializer: GdkContentDeserializer);
+(* gdk_content_deserializer_set_task_data *)
+PROCEDURE gdk_content_deserializer_set_task_data (deserializer: GdkContentDeserializer; data: ADDRESS; notify: ADDRESS);
+
+END GdkContentDeserializer.

+ 74 - 0
src/GdkContentFormats.def

@@ -0,0 +1,74 @@
+DEFINITION MODULE FOR "C" GdkContentFormats ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkContentFormats,
+   gdk_content_formats_new,
+   gdk_content_formats_new_for_gtype,
+   gdk_content_formats_contain_gtype,
+   gdk_content_formats_contain_mime_type,
+   gdk_content_formats_get_gtypes,
+   gdk_content_formats_get_mime_types,
+   gdk_content_formats_is_empty,
+   gdk_content_formats_match,
+   gdk_content_formats_match_gtype,
+   gdk_content_formats_match_mime_type,
+   gdk_content_formats_print,
+   gdk_content_formats_ref,
+   gdk_content_formats_to_string,
+   gdk_content_formats_union,
+   gdk_content_formats_union_deserialize_gtypes,
+   gdk_content_formats_union_deserialize_mime_types,
+   gdk_content_formats_union_serialize_gtypes,
+   gdk_content_formats_union_serialize_mime_types,
+   gdk_content_formats_unref,
+   gdk_content_formats_parse;
+
+TYPE
+   GdkContentFormats = ADDRESS;
+
+(* gdk_content_formats_new *)
+PROCEDURE gdk_content_formats_new (mime_types: ADDRESS) : [ ADDRESS ];
+(* gdk_content_formats_new_for_gtype *)
+PROCEDURE gdk_content_formats_new_for_gtype (type_: LONGCARD) : [ ADDRESS ];
+(* gdk_content_formats_contain_gtype *)
+PROCEDURE gdk_content_formats_contain_gtype (formats: GdkContentFormats; type_: LONGCARD) : [ INTEGER ];
+(* gdk_content_formats_contain_mime_type *)
+PROCEDURE gdk_content_formats_contain_mime_type (formats: GdkContentFormats; mime_type: ARRAY OF CHAR) : [ INTEGER ];
+(* gdk_content_formats_get_gtypes *)
+PROCEDURE gdk_content_formats_get_gtypes (formats: GdkContentFormats; VAR n_gtypes: LONGCARD);
+(* gdk_content_formats_get_mime_types *)
+PROCEDURE gdk_content_formats_get_mime_types (formats: GdkContentFormats; VAR n_mime_types: LONGCARD);
+(* gdk_content_formats_is_empty *)
+PROCEDURE gdk_content_formats_is_empty (formats: GdkContentFormats) : [ INTEGER ];
+(* gdk_content_formats_match *)
+PROCEDURE gdk_content_formats_match (first: GdkContentFormats; second: GdkContentFormats) : [ INTEGER ];
+(* gdk_content_formats_match_gtype *)
+PROCEDURE gdk_content_formats_match_gtype (first: GdkContentFormats; second: GdkContentFormats) : [ LONGCARD ];
+(* gdk_content_formats_match_mime_type *)
+PROCEDURE gdk_content_formats_match_mime_type (first: GdkContentFormats; second: GdkContentFormats) : [ ADDRESS ];
+(* gdk_content_formats_print *)
+PROCEDURE gdk_content_formats_print (formats: GdkContentFormats; string: ADDRESS);
+(* gdk_content_formats_ref *)
+PROCEDURE gdk_content_formats_ref (formats: GdkContentFormats) : [ ADDRESS ];
+(* gdk_content_formats_to_string *)
+PROCEDURE gdk_content_formats_to_string (formats: GdkContentFormats) : [ ADDRESS ];
+(* gdk_content_formats_union *)
+PROCEDURE gdk_content_formats_union (first: GdkContentFormats; second: GdkContentFormats) : [ ADDRESS ];
+(* gdk_content_formats_union_deserialize_gtypes *)
+PROCEDURE gdk_content_formats_union_deserialize_gtypes (formats: GdkContentFormats) : [ ADDRESS ];
+(* gdk_content_formats_union_deserialize_mime_types *)
+PROCEDURE gdk_content_formats_union_deserialize_mime_types (formats: GdkContentFormats) : [ ADDRESS ];
+(* gdk_content_formats_union_serialize_gtypes *)
+PROCEDURE gdk_content_formats_union_serialize_gtypes (formats: GdkContentFormats) : [ ADDRESS ];
+(* gdk_content_formats_union_serialize_mime_types *)
+PROCEDURE gdk_content_formats_union_serialize_mime_types (formats: GdkContentFormats) : [ ADDRESS ];
+(* gdk_content_formats_unref *)
+PROCEDURE gdk_content_formats_unref (formats: GdkContentFormats);
+(* gdk_content_formats_parse *)
+PROCEDURE gdk_content_formats_parse (string: ARRAY OF CHAR) : [ ADDRESS ];
+
+END GdkContentFormats.

+ 38 - 0
src/GdkContentFormatsBuilder.def

@@ -0,0 +1,38 @@
+DEFINITION MODULE FOR "C" GdkContentFormatsBuilder ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkContentFormatsBuilder,
+   gdk_content_formats_builder_new,
+   gdk_content_formats_builder_add_formats,
+   gdk_content_formats_builder_add_gtype,
+   gdk_content_formats_builder_add_mime_type,
+   gdk_content_formats_builder_free_to_formats,
+   gdk_content_formats_builder_ref,
+   gdk_content_formats_builder_to_formats,
+   gdk_content_formats_builder_unref;
+
+TYPE
+   GdkContentFormatsBuilder = ADDRESS;
+
+(* gdk_content_formats_builder_new *)
+PROCEDURE gdk_content_formats_builder_new () : [ ADDRESS ];
+(* gdk_content_formats_builder_add_formats *)
+PROCEDURE gdk_content_formats_builder_add_formats (builder: GdkContentFormatsBuilder; formats: ADDRESS);
+(* gdk_content_formats_builder_add_gtype *)
+PROCEDURE gdk_content_formats_builder_add_gtype (builder: GdkContentFormatsBuilder; type_: LONGCARD);
+(* gdk_content_formats_builder_add_mime_type *)
+PROCEDURE gdk_content_formats_builder_add_mime_type (builder: GdkContentFormatsBuilder; mime_type: ARRAY OF CHAR);
+(* gdk_content_formats_builder_free_to_formats *)
+PROCEDURE gdk_content_formats_builder_free_to_formats (builder: GdkContentFormatsBuilder) : [ ADDRESS ];
+(* gdk_content_formats_builder_ref *)
+PROCEDURE gdk_content_formats_builder_ref (builder: GdkContentFormatsBuilder) : [ ADDRESS ];
+(* gdk_content_formats_builder_to_formats *)
+PROCEDURE gdk_content_formats_builder_to_formats (builder: GdkContentFormatsBuilder) : [ ADDRESS ];
+(* gdk_content_formats_builder_unref *)
+PROCEDURE gdk_content_formats_builder_unref (builder: GdkContentFormatsBuilder);
+
+END GdkContentFormatsBuilder.

+ 47 - 0
src/GdkContentSerializer.def

@@ -0,0 +1,47 @@
+DEFINITION MODULE FOR "C" GdkContentSerializer ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkContentSerializer,
+   gdk_content_serializer_get_cancellable,
+   gdk_content_serializer_get_gtype,
+   gdk_content_serializer_get_mime_type,
+   gdk_content_serializer_get_output_stream,
+   gdk_content_serializer_get_priority,
+   gdk_content_serializer_get_task_data,
+   gdk_content_serializer_get_user_data,
+   gdk_content_serializer_get_value,
+   gdk_content_serializer_return_error,
+   gdk_content_serializer_return_success,
+   gdk_content_serializer_set_task_data;
+
+TYPE
+   GdkContentSerializer = ADDRESS;
+
+(* gdk_content_serializer_get_cancellable *)
+PROCEDURE gdk_content_serializer_get_cancellable (serializer: GdkContentSerializer) : [ ADDRESS ];
+(* gdk_content_serializer_get_gtype *)
+PROCEDURE gdk_content_serializer_get_gtype (serializer: GdkContentSerializer) : [ LONGCARD ];
+(* gdk_content_serializer_get_mime_type *)
+PROCEDURE gdk_content_serializer_get_mime_type (serializer: GdkContentSerializer) : [ ADDRESS ];
+(* gdk_content_serializer_get_output_stream *)
+PROCEDURE gdk_content_serializer_get_output_stream (serializer: GdkContentSerializer) : [ ADDRESS ];
+(* gdk_content_serializer_get_priority *)
+PROCEDURE gdk_content_serializer_get_priority (serializer: GdkContentSerializer) : [ INTEGER ];
+(* gdk_content_serializer_get_task_data *)
+PROCEDURE gdk_content_serializer_get_task_data (serializer: GdkContentSerializer) : [ ADDRESS ];
+(* gdk_content_serializer_get_user_data *)
+PROCEDURE gdk_content_serializer_get_user_data (serializer: GdkContentSerializer) : [ ADDRESS ];
+(* gdk_content_serializer_get_value *)
+PROCEDURE gdk_content_serializer_get_value (serializer: GdkContentSerializer) : [ ADDRESS ];
+(* gdk_content_serializer_return_error *)
+PROCEDURE gdk_content_serializer_return_error (serializer: GdkContentSerializer);
+(* gdk_content_serializer_return_success *)
+PROCEDURE gdk_content_serializer_return_success (serializer: GdkContentSerializer);
+(* gdk_content_serializer_set_task_data *)
+PROCEDURE gdk_content_serializer_set_task_data (serializer: GdkContentSerializer; data: ADDRESS; notify: ADDRESS);
+
+END GdkContentSerializer.

+ 23 - 0
src/GdkCrossingEvent.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GdkCrossingEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkCrossingEvent,
+   gdk_crossing_event_get_detail,
+   gdk_crossing_event_get_focus,
+   gdk_crossing_event_get_mode;
+
+TYPE
+   GdkCrossingEvent = ADDRESS;
+
+(* gdk_crossing_event_get_detail *)
+PROCEDURE gdk_crossing_event_get_detail (event: GdkCrossingEvent) : [ CARDINAL ];
+(* gdk_crossing_event_get_focus *)
+PROCEDURE gdk_crossing_event_get_focus (event: GdkCrossingEvent) : [ INTEGER ];
+(* gdk_crossing_event_get_mode *)
+PROCEDURE gdk_crossing_event_get_mode (event: GdkCrossingEvent) : [ CARDINAL ];
+
+END GdkCrossingEvent.

+ 38 - 0
src/GdkCursor.def

@@ -0,0 +1,38 @@
+DEFINITION MODULE FOR "C" GdkCursor ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkCursor,
+   gdk_cursor_new_from_callback,
+   gdk_cursor_new_from_name,
+   gdk_cursor_new_from_texture,
+   gdk_cursor_get_fallback,
+   gdk_cursor_get_hotspot_x,
+   gdk_cursor_get_hotspot_y,
+   gdk_cursor_get_name,
+   gdk_cursor_get_texture;
+
+TYPE
+   GdkCursor = ADDRESS;
+
+(* gdk_cursor_new_from_callback *)
+PROCEDURE gdk_cursor_new_from_callback (data: ADDRESS; destroy: ADDRESS; fallback: GdkCursor) : [ ADDRESS ];
+(* gdk_cursor_new_from_name *)
+PROCEDURE gdk_cursor_new_from_name (name: ARRAY OF CHAR; fallback: GdkCursor) : [ ADDRESS ];
+(* gdk_cursor_new_from_texture *)
+PROCEDURE gdk_cursor_new_from_texture (texture: ADDRESS; hotspot_x: INTEGER; hotspot_y: INTEGER; fallback: GdkCursor) : [ ADDRESS ];
+(* gdk_cursor_get_fallback *)
+PROCEDURE gdk_cursor_get_fallback (cursor: GdkCursor) : [ ADDRESS ];
+(* gdk_cursor_get_hotspot_x *)
+PROCEDURE gdk_cursor_get_hotspot_x (cursor: GdkCursor) : [ INTEGER ];
+(* gdk_cursor_get_hotspot_y *)
+PROCEDURE gdk_cursor_get_hotspot_y (cursor: GdkCursor) : [ INTEGER ];
+(* gdk_cursor_get_name *)
+PROCEDURE gdk_cursor_get_name (cursor: GdkCursor) : [ ADDRESS ];
+(* gdk_cursor_get_texture *)
+PROCEDURE gdk_cursor_get_texture (cursor: GdkCursor) : [ ADDRESS ];
+
+END GdkCursor.

+ 17 - 0
src/GdkDNDEvent.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GdkDNDEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDNDEvent,
+   gdk_dnd_event_get_drop;
+
+TYPE
+   GdkDNDEvent = ADDRESS;
+
+(* gdk_dnd_event_get_drop *)
+PROCEDURE gdk_dnd_event_get_drop (event: GdkDNDEvent) : [ ADDRESS ];
+
+END GdkDNDEvent.

+ 71 - 0
src/GdkDevice.def

@@ -0,0 +1,71 @@
+DEFINITION MODULE FOR "C" GdkDevice ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDevice,
+   gdk_device_get_active_layout_index,
+   gdk_device_get_caps_lock_state,
+   gdk_device_get_device_tool,
+   gdk_device_get_direction,
+   gdk_device_get_display,
+   gdk_device_get_has_cursor,
+   gdk_device_get_layout_names,
+   gdk_device_get_modifier_state,
+   gdk_device_get_name,
+   gdk_device_get_num_lock_state,
+   gdk_device_get_num_touches,
+   gdk_device_get_product_id,
+   gdk_device_get_scroll_lock_state,
+   gdk_device_get_seat,
+   gdk_device_get_source,
+   gdk_device_get_surface_at_position,
+   gdk_device_get_timestamp,
+   gdk_device_get_vendor_id,
+   gdk_device_has_bidi_layouts;
+
+TYPE
+   GdkDevice = ADDRESS;
+
+(* gdk_device_get_active_layout_index *)
+PROCEDURE gdk_device_get_active_layout_index (device: GdkDevice) : [ INTEGER ];
+(* gdk_device_get_caps_lock_state *)
+PROCEDURE gdk_device_get_caps_lock_state (device: GdkDevice) : [ INTEGER ];
+(* gdk_device_get_device_tool *)
+PROCEDURE gdk_device_get_device_tool (device: GdkDevice) : [ ADDRESS ];
+(* gdk_device_get_direction *)
+PROCEDURE gdk_device_get_direction (device: GdkDevice) : [ ADDRESS ];
+(* gdk_device_get_display *)
+PROCEDURE gdk_device_get_display (device: GdkDevice) : [ ADDRESS ];
+(* gdk_device_get_has_cursor *)
+PROCEDURE gdk_device_get_has_cursor (device: GdkDevice) : [ INTEGER ];
+(* gdk_device_get_layout_names *)
+PROCEDURE gdk_device_get_layout_names (device: GdkDevice);
+(* gdk_device_get_modifier_state *)
+PROCEDURE gdk_device_get_modifier_state (device: GdkDevice) : [ CARDINAL ];
+(* gdk_device_get_name *)
+PROCEDURE gdk_device_get_name (device: GdkDevice) : [ ADDRESS ];
+(* gdk_device_get_num_lock_state *)
+PROCEDURE gdk_device_get_num_lock_state (device: GdkDevice) : [ INTEGER ];
+(* gdk_device_get_num_touches *)
+PROCEDURE gdk_device_get_num_touches (device: GdkDevice) : [ CARDINAL ];
+(* gdk_device_get_product_id *)
+PROCEDURE gdk_device_get_product_id (device: GdkDevice) : [ ADDRESS ];
+(* gdk_device_get_scroll_lock_state *)
+PROCEDURE gdk_device_get_scroll_lock_state (device: GdkDevice) : [ INTEGER ];
+(* gdk_device_get_seat *)
+PROCEDURE gdk_device_get_seat (device: GdkDevice) : [ ADDRESS ];
+(* gdk_device_get_source *)
+PROCEDURE gdk_device_get_source (device: GdkDevice) : [ CARDINAL ];
+(* gdk_device_get_surface_at_position *)
+PROCEDURE gdk_device_get_surface_at_position (device: GdkDevice; VAR win_x: REAL; VAR win_y: REAL) : [ ADDRESS ];
+(* gdk_device_get_timestamp *)
+PROCEDURE gdk_device_get_timestamp (device: GdkDevice) : [ CARDINAL ];
+(* gdk_device_get_vendor_id *)
+PROCEDURE gdk_device_get_vendor_id (device: GdkDevice) : [ ADDRESS ];
+(* gdk_device_has_bidi_layouts *)
+PROCEDURE gdk_device_has_bidi_layouts (device: GdkDevice) : [ INTEGER ];
+
+END GdkDevice.

+ 26 - 0
src/GdkDevicePad.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GdkDevicePad ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDevicePad,
+   gdk_device_pad_get_feature_group,
+   gdk_device_pad_get_group_n_modes,
+   gdk_device_pad_get_n_features,
+   gdk_device_pad_get_n_groups;
+
+TYPE
+   GdkDevicePad = ADDRESS;
+
+(* gdk_device_pad_get_feature_group *)
+PROCEDURE gdk_device_pad_get_feature_group (pad: GdkDevicePad; feature: CARDINAL; feature_idx: INTEGER) : [ INTEGER ];
+(* gdk_device_pad_get_group_n_modes *)
+PROCEDURE gdk_device_pad_get_group_n_modes (pad: GdkDevicePad; group_idx: INTEGER) : [ INTEGER ];
+(* gdk_device_pad_get_n_features *)
+PROCEDURE gdk_device_pad_get_n_features (pad: GdkDevicePad; feature: CARDINAL) : [ INTEGER ];
+(* gdk_device_pad_get_n_groups *)
+PROCEDURE gdk_device_pad_get_n_groups (pad: GdkDevicePad) : [ INTEGER ];
+
+END GdkDevicePad.

+ 26 - 0
src/GdkDeviceTool.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GdkDeviceTool ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDeviceTool,
+   gdk_device_tool_get_axes,
+   gdk_device_tool_get_hardware_id,
+   gdk_device_tool_get_serial,
+   gdk_device_tool_get_tool_type;
+
+TYPE
+   GdkDeviceTool = ADDRESS;
+
+(* gdk_device_tool_get_axes *)
+PROCEDURE gdk_device_tool_get_axes (tool: GdkDeviceTool) : [ CARDINAL ];
+(* gdk_device_tool_get_hardware_id *)
+PROCEDURE gdk_device_tool_get_hardware_id (tool: GdkDeviceTool) : [ LONGCARD ];
+(* gdk_device_tool_get_serial *)
+PROCEDURE gdk_device_tool_get_serial (tool: GdkDeviceTool) : [ LONGCARD ];
+(* gdk_device_tool_get_tool_type *)
+PROCEDURE gdk_device_tool_get_tool_type (tool: GdkDeviceTool) : [ CARDINAL ];
+
+END GdkDeviceTool.

+ 104 - 0
src/GdkDisplay.def

@@ -0,0 +1,104 @@
+DEFINITION MODULE FOR "C" GdkDisplay ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDisplay,
+   gdk_display_get_default,
+   gdk_display_open,
+   gdk_display_beep,
+   gdk_display_close,
+   gdk_display_create_gl_context,
+   gdk_display_device_is_grabbed,
+   gdk_display_flush,
+   gdk_display_get_app_launch_context,
+   gdk_display_get_clipboard,
+   gdk_display_get_default_seat,
+   gdk_display_get_dmabuf_formats,
+   gdk_display_get_monitor_at_surface,
+   gdk_display_get_monitors,
+   gdk_display_get_name,
+   gdk_display_get_primary_clipboard,
+   gdk_display_get_setting,
+   gdk_display_get_startup_notification_id,
+   gdk_display_is_closed,
+   gdk_display_is_composited,
+   gdk_display_is_rgba,
+   gdk_display_list_seats,
+   gdk_display_map_keycode,
+   gdk_display_map_keyval,
+   gdk_display_notify_startup_complete,
+   gdk_display_prepare_gl,
+   gdk_display_put_event,
+   gdk_display_supports_input_shapes,
+   gdk_display_supports_shadow_width,
+   gdk_display_sync,
+   gdk_display_translate_key;
+
+TYPE
+   GdkDisplay = ADDRESS;
+
+(* gdk_display_get_default *)
+PROCEDURE gdk_display_get_default () : [ ADDRESS ];
+(* gdk_display_open *)
+PROCEDURE gdk_display_open (display_name: ARRAY OF CHAR) : [ ADDRESS ];
+(* gdk_display_beep *)
+PROCEDURE gdk_display_beep (display: GdkDisplay);
+(* gdk_display_close *)
+PROCEDURE gdk_display_close (display: GdkDisplay);
+(* gdk_display_create_gl_context *)
+PROCEDURE gdk_display_create_gl_context (self: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_device_is_grabbed *)
+PROCEDURE gdk_display_device_is_grabbed (display: GdkDisplay; device: ADDRESS) : [ INTEGER ];
+(* gdk_display_flush *)
+PROCEDURE gdk_display_flush (display: GdkDisplay);
+(* gdk_display_get_app_launch_context *)
+PROCEDURE gdk_display_get_app_launch_context (display: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_get_clipboard *)
+PROCEDURE gdk_display_get_clipboard (display: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_get_default_seat *)
+PROCEDURE gdk_display_get_default_seat (display: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_get_dmabuf_formats *)
+PROCEDURE gdk_display_get_dmabuf_formats (display: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_get_monitor_at_surface *)
+PROCEDURE gdk_display_get_monitor_at_surface (display: GdkDisplay; surface: ADDRESS) : [ ADDRESS ];
+(* gdk_display_get_monitors *)
+PROCEDURE gdk_display_get_monitors (self: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_get_name *)
+PROCEDURE gdk_display_get_name (display: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_get_primary_clipboard *)
+PROCEDURE gdk_display_get_primary_clipboard (display: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_get_setting *)
+PROCEDURE gdk_display_get_setting (display: GdkDisplay; name: ARRAY OF CHAR; value: ADDRESS) : [ INTEGER ];
+(* gdk_display_get_startup_notification_id *)
+PROCEDURE gdk_display_get_startup_notification_id (display: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_is_closed *)
+PROCEDURE gdk_display_is_closed (display: GdkDisplay) : [ INTEGER ];
+(* gdk_display_is_composited *)
+PROCEDURE gdk_display_is_composited (display: GdkDisplay) : [ INTEGER ];
+(* gdk_display_is_rgba *)
+PROCEDURE gdk_display_is_rgba (display: GdkDisplay) : [ INTEGER ];
+(* gdk_display_list_seats *)
+PROCEDURE gdk_display_list_seats (display: GdkDisplay) : [ ADDRESS ];
+(* gdk_display_map_keycode *)
+PROCEDURE gdk_display_map_keycode (display: GdkDisplay; keycode: CARDINAL; keys: ADDRESS; VAR n_entries: INTEGER) : [ INTEGER ];
+(* gdk_display_map_keyval *)
+PROCEDURE gdk_display_map_keyval (display: GdkDisplay; keyval: CARDINAL; VAR n_keys: INTEGER) : [ INTEGER ];
+(* gdk_display_notify_startup_complete *)
+PROCEDURE gdk_display_notify_startup_complete (display: GdkDisplay; startup_id: ARRAY OF CHAR);
+(* gdk_display_prepare_gl *)
+PROCEDURE gdk_display_prepare_gl (self: GdkDisplay) : [ INTEGER ];
+(* gdk_display_put_event *)
+PROCEDURE gdk_display_put_event (display: GdkDisplay; event: ADDRESS);
+(* gdk_display_supports_input_shapes *)
+PROCEDURE gdk_display_supports_input_shapes (display: GdkDisplay) : [ INTEGER ];
+(* gdk_display_supports_shadow_width *)
+PROCEDURE gdk_display_supports_shadow_width (display: GdkDisplay) : [ INTEGER ];
+(* gdk_display_sync *)
+PROCEDURE gdk_display_sync (display: GdkDisplay);
+(* gdk_display_translate_key *)
+PROCEDURE gdk_display_translate_key (display: GdkDisplay; keycode: CARDINAL; state: CARDINAL; group: INTEGER; VAR keyval: CARDINAL; VAR effective_group: INTEGER; VAR level: INTEGER; VAR consumed: CARDINAL) : [ INTEGER ];
+
+END GdkDisplay.

+ 29 - 0
src/GdkDisplayManager.def

@@ -0,0 +1,29 @@
+DEFINITION MODULE FOR "C" GdkDisplayManager ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDisplayManager,
+   gdk_display_manager_get,
+   gdk_display_manager_get_default_display,
+   gdk_display_manager_list_displays,
+   gdk_display_manager_open_display,
+   gdk_display_manager_set_default_display;
+
+TYPE
+   GdkDisplayManager = ADDRESS;
+
+(* gdk_display_manager_get *)
+PROCEDURE gdk_display_manager_get () : [ ADDRESS ];
+(* gdk_display_manager_get_default_display *)
+PROCEDURE gdk_display_manager_get_default_display (manager: GdkDisplayManager) : [ ADDRESS ];
+(* gdk_display_manager_list_displays *)
+PROCEDURE gdk_display_manager_list_displays (manager: GdkDisplayManager) : [ ADDRESS ];
+(* gdk_display_manager_open_display *)
+PROCEDURE gdk_display_manager_open_display (manager: GdkDisplayManager; name: ARRAY OF CHAR) : [ ADDRESS ];
+(* gdk_display_manager_set_default_display *)
+PROCEDURE gdk_display_manager_set_default_display (manager: GdkDisplayManager; display: ADDRESS);
+
+END GdkDisplayManager.

+ 32 - 0
src/GdkDmabufFormats.def

@@ -0,0 +1,32 @@
+DEFINITION MODULE FOR "C" GdkDmabufFormats ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDmabufFormats,
+   gdk_dmabuf_formats_contains,
+   gdk_dmabuf_formats_equal,
+   gdk_dmabuf_formats_get_format,
+   gdk_dmabuf_formats_get_n_formats,
+   gdk_dmabuf_formats_ref,
+   gdk_dmabuf_formats_unref;
+
+TYPE
+   GdkDmabufFormats = ADDRESS;
+
+(* gdk_dmabuf_formats_contains *)
+PROCEDURE gdk_dmabuf_formats_contains (formats: GdkDmabufFormats; fourcc: CARDINAL; modifier: LONGCARD) : [ INTEGER ];
+(* gdk_dmabuf_formats_equal *)
+PROCEDURE gdk_dmabuf_formats_equal (formats1: GdkDmabufFormats; formats2: GdkDmabufFormats) : [ INTEGER ];
+(* gdk_dmabuf_formats_get_format *)
+PROCEDURE gdk_dmabuf_formats_get_format (formats: GdkDmabufFormats; idx: LONGCARD; VAR fourcc: CARDINAL; VAR modifier: LONGCARD);
+(* gdk_dmabuf_formats_get_n_formats *)
+PROCEDURE gdk_dmabuf_formats_get_n_formats (formats: GdkDmabufFormats) : [ LONGCARD ];
+(* gdk_dmabuf_formats_ref *)
+PROCEDURE gdk_dmabuf_formats_ref (formats: GdkDmabufFormats) : [ ADDRESS ];
+(* gdk_dmabuf_formats_unref *)
+PROCEDURE gdk_dmabuf_formats_unref (formats: GdkDmabufFormats);
+
+END GdkDmabufFormats.

+ 98 - 0
src/GdkDmabufTextureBuilder.def

@@ -0,0 +1,98 @@
+DEFINITION MODULE FOR "C" GdkDmabufTextureBuilder ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDmabufTextureBuilder,
+   gdk_dmabuf_texture_builder_new,
+   gdk_dmabuf_texture_builder_build,
+   gdk_dmabuf_texture_builder_get_color_state,
+   gdk_dmabuf_texture_builder_get_display,
+   gdk_dmabuf_texture_builder_get_fd,
+   gdk_dmabuf_texture_builder_get_fourcc,
+   gdk_dmabuf_texture_builder_get_height,
+   gdk_dmabuf_texture_builder_get_modifier,
+   gdk_dmabuf_texture_builder_get_n_planes,
+   gdk_dmabuf_texture_builder_get_offset,
+   gdk_dmabuf_texture_builder_get_premultiplied,
+   gdk_dmabuf_texture_builder_get_stride,
+   gdk_dmabuf_texture_builder_get_update_region,
+   gdk_dmabuf_texture_builder_get_update_texture,
+   gdk_dmabuf_texture_builder_get_width,
+   gdk_dmabuf_texture_builder_set_color_state,
+   gdk_dmabuf_texture_builder_set_display,
+   gdk_dmabuf_texture_builder_set_fd,
+   gdk_dmabuf_texture_builder_set_fourcc,
+   gdk_dmabuf_texture_builder_set_height,
+   gdk_dmabuf_texture_builder_set_modifier,
+   gdk_dmabuf_texture_builder_set_n_planes,
+   gdk_dmabuf_texture_builder_set_offset,
+   gdk_dmabuf_texture_builder_set_premultiplied,
+   gdk_dmabuf_texture_builder_set_stride,
+   gdk_dmabuf_texture_builder_set_update_region,
+   gdk_dmabuf_texture_builder_set_update_texture,
+   gdk_dmabuf_texture_builder_set_width;
+
+TYPE
+   GdkDmabufTextureBuilder = ADDRESS;
+
+(* gdk_dmabuf_texture_builder_new *)
+PROCEDURE gdk_dmabuf_texture_builder_new () : [ ADDRESS ];
+(* gdk_dmabuf_texture_builder_build *)
+PROCEDURE gdk_dmabuf_texture_builder_build (self: GdkDmabufTextureBuilder; destroy: ADDRESS; data: ADDRESS) : [ ADDRESS ];
+(* gdk_dmabuf_texture_builder_get_color_state *)
+PROCEDURE gdk_dmabuf_texture_builder_get_color_state (self: GdkDmabufTextureBuilder) : [ ADDRESS ];
+(* gdk_dmabuf_texture_builder_get_display *)
+PROCEDURE gdk_dmabuf_texture_builder_get_display (self: GdkDmabufTextureBuilder) : [ ADDRESS ];
+(* gdk_dmabuf_texture_builder_get_fd *)
+PROCEDURE gdk_dmabuf_texture_builder_get_fd (self: GdkDmabufTextureBuilder; plane: CARDINAL) : [ INTEGER ];
+(* gdk_dmabuf_texture_builder_get_fourcc *)
+PROCEDURE gdk_dmabuf_texture_builder_get_fourcc (self: GdkDmabufTextureBuilder) : [ CARDINAL ];
+(* gdk_dmabuf_texture_builder_get_height *)
+PROCEDURE gdk_dmabuf_texture_builder_get_height (self: GdkDmabufTextureBuilder) : [ CARDINAL ];
+(* gdk_dmabuf_texture_builder_get_modifier *)
+PROCEDURE gdk_dmabuf_texture_builder_get_modifier (self: GdkDmabufTextureBuilder) : [ LONGCARD ];
+(* gdk_dmabuf_texture_builder_get_n_planes *)
+PROCEDURE gdk_dmabuf_texture_builder_get_n_planes (self: GdkDmabufTextureBuilder) : [ CARDINAL ];
+(* gdk_dmabuf_texture_builder_get_offset *)
+PROCEDURE gdk_dmabuf_texture_builder_get_offset (self: GdkDmabufTextureBuilder; plane: CARDINAL) : [ CARDINAL ];
+(* gdk_dmabuf_texture_builder_get_premultiplied *)
+PROCEDURE gdk_dmabuf_texture_builder_get_premultiplied (self: GdkDmabufTextureBuilder) : [ INTEGER ];
+(* gdk_dmabuf_texture_builder_get_stride *)
+PROCEDURE gdk_dmabuf_texture_builder_get_stride (self: GdkDmabufTextureBuilder; plane: CARDINAL) : [ CARDINAL ];
+(* gdk_dmabuf_texture_builder_get_update_region *)
+PROCEDURE gdk_dmabuf_texture_builder_get_update_region (self: GdkDmabufTextureBuilder) : [ ADDRESS ];
+(* gdk_dmabuf_texture_builder_get_update_texture *)
+PROCEDURE gdk_dmabuf_texture_builder_get_update_texture (self: GdkDmabufTextureBuilder) : [ ADDRESS ];
+(* gdk_dmabuf_texture_builder_get_width *)
+PROCEDURE gdk_dmabuf_texture_builder_get_width (self: GdkDmabufTextureBuilder) : [ CARDINAL ];
+(* gdk_dmabuf_texture_builder_set_color_state *)
+PROCEDURE gdk_dmabuf_texture_builder_set_color_state (self: GdkDmabufTextureBuilder; color_state: ADDRESS);
+(* gdk_dmabuf_texture_builder_set_display *)
+PROCEDURE gdk_dmabuf_texture_builder_set_display (self: GdkDmabufTextureBuilder; display: ADDRESS);
+(* gdk_dmabuf_texture_builder_set_fd *)
+PROCEDURE gdk_dmabuf_texture_builder_set_fd (self: GdkDmabufTextureBuilder; plane: CARDINAL; fd: INTEGER);
+(* gdk_dmabuf_texture_builder_set_fourcc *)
+PROCEDURE gdk_dmabuf_texture_builder_set_fourcc (self: GdkDmabufTextureBuilder; fourcc: CARDINAL);
+(* gdk_dmabuf_texture_builder_set_height *)
+PROCEDURE gdk_dmabuf_texture_builder_set_height (self: GdkDmabufTextureBuilder; height: CARDINAL);
+(* gdk_dmabuf_texture_builder_set_modifier *)
+PROCEDURE gdk_dmabuf_texture_builder_set_modifier (self: GdkDmabufTextureBuilder; modifier: LONGCARD);
+(* gdk_dmabuf_texture_builder_set_n_planes *)
+PROCEDURE gdk_dmabuf_texture_builder_set_n_planes (self: GdkDmabufTextureBuilder; n_planes: CARDINAL);
+(* gdk_dmabuf_texture_builder_set_offset *)
+PROCEDURE gdk_dmabuf_texture_builder_set_offset (self: GdkDmabufTextureBuilder; plane: CARDINAL; offset: CARDINAL);
+(* gdk_dmabuf_texture_builder_set_premultiplied *)
+PROCEDURE gdk_dmabuf_texture_builder_set_premultiplied (self: GdkDmabufTextureBuilder; premultiplied: INTEGER);
+(* gdk_dmabuf_texture_builder_set_stride *)
+PROCEDURE gdk_dmabuf_texture_builder_set_stride (self: GdkDmabufTextureBuilder; plane: CARDINAL; stride: CARDINAL);
+(* gdk_dmabuf_texture_builder_set_update_region *)
+PROCEDURE gdk_dmabuf_texture_builder_set_update_region (self: GdkDmabufTextureBuilder; region: ADDRESS);
+(* gdk_dmabuf_texture_builder_set_update_texture *)
+PROCEDURE gdk_dmabuf_texture_builder_set_update_texture (self: GdkDmabufTextureBuilder; texture: ADDRESS);
+(* gdk_dmabuf_texture_builder_set_width *)
+PROCEDURE gdk_dmabuf_texture_builder_set_width (self: GdkDmabufTextureBuilder; width: CARDINAL);
+
+END GdkDmabufTextureBuilder.

+ 47 - 0
src/GdkDrag.def

@@ -0,0 +1,47 @@
+DEFINITION MODULE FOR "C" GdkDrag ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDrag,
+   gdk_drag_begin,
+   gdk_drag_drop_done,
+   gdk_drag_get_actions,
+   gdk_drag_get_content,
+   gdk_drag_get_device,
+   gdk_drag_get_display,
+   gdk_drag_get_drag_surface,
+   gdk_drag_get_formats,
+   gdk_drag_get_selected_action,
+   gdk_drag_get_surface,
+   gdk_drag_set_hotspot;
+
+TYPE
+   GdkDrag = ADDRESS;
+
+(* gdk_drag_begin *)
+PROCEDURE gdk_drag_begin (surface: ADDRESS; device: ADDRESS; content: ADDRESS; actions: CARDINAL; dx: REAL; dy: REAL) : [ ADDRESS ];
+(* gdk_drag_drop_done *)
+PROCEDURE gdk_drag_drop_done (drag: GdkDrag; success: INTEGER);
+(* gdk_drag_get_actions *)
+PROCEDURE gdk_drag_get_actions (drag: GdkDrag) : [ CARDINAL ];
+(* gdk_drag_get_content *)
+PROCEDURE gdk_drag_get_content (drag: GdkDrag) : [ ADDRESS ];
+(* gdk_drag_get_device *)
+PROCEDURE gdk_drag_get_device (drag: GdkDrag) : [ ADDRESS ];
+(* gdk_drag_get_display *)
+PROCEDURE gdk_drag_get_display (drag: GdkDrag) : [ ADDRESS ];
+(* gdk_drag_get_drag_surface *)
+PROCEDURE gdk_drag_get_drag_surface (drag: GdkDrag) : [ ADDRESS ];
+(* gdk_drag_get_formats *)
+PROCEDURE gdk_drag_get_formats (drag: GdkDrag) : [ ADDRESS ];
+(* gdk_drag_get_selected_action *)
+PROCEDURE gdk_drag_get_selected_action (drag: GdkDrag) : [ CARDINAL ];
+(* gdk_drag_get_surface *)
+PROCEDURE gdk_drag_get_surface (drag: GdkDrag) : [ ADDRESS ];
+(* gdk_drag_set_hotspot *)
+PROCEDURE gdk_drag_set_hotspot (drag: GdkDrag; hot_x: INTEGER; hot_y: INTEGER);
+
+END GdkDrag.

+ 17 - 0
src/GdkDragSurface.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GdkDragSurface ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDragSurface,
+   gdk_drag_surface_present;
+
+TYPE
+   GdkDragSurface = ADDRESS;
+
+(* gdk_drag_surface_present *)
+PROCEDURE gdk_drag_surface_present (drag_surface: GdkDragSurface; width: INTEGER; height: INTEGER) : [ INTEGER ];
+
+END GdkDragSurface.

+ 17 - 0
src/GdkDragSurfaceSize.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GdkDragSurfaceSize ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDragSurfaceSize,
+   gdk_drag_surface_size_set_size;
+
+TYPE
+   GdkDragSurfaceSize = ADDRESS;
+
+(* gdk_drag_surface_size_set_size *)
+PROCEDURE gdk_drag_surface_size_set_size (size: GdkDragSurfaceSize; width: INTEGER; height: INTEGER);
+
+END GdkDragSurfaceSize.

+ 32 - 0
src/GdkDrawContext.def

@@ -0,0 +1,32 @@
+DEFINITION MODULE FOR "C" GdkDrawContext ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDrawContext,
+   gdk_draw_context_begin_frame,
+   gdk_draw_context_end_frame,
+   gdk_draw_context_get_display,
+   gdk_draw_context_get_frame_region,
+   gdk_draw_context_get_surface,
+   gdk_draw_context_is_in_frame;
+
+TYPE
+   GdkDrawContext = ADDRESS;
+
+(* gdk_draw_context_begin_frame *)
+PROCEDURE gdk_draw_context_begin_frame (context: GdkDrawContext; region: ADDRESS);
+(* gdk_draw_context_end_frame *)
+PROCEDURE gdk_draw_context_end_frame (context: GdkDrawContext);
+(* gdk_draw_context_get_display *)
+PROCEDURE gdk_draw_context_get_display (context: GdkDrawContext) : [ ADDRESS ];
+(* gdk_draw_context_get_frame_region *)
+PROCEDURE gdk_draw_context_get_frame_region (context: GdkDrawContext) : [ ADDRESS ];
+(* gdk_draw_context_get_surface *)
+PROCEDURE gdk_draw_context_get_surface (context: GdkDrawContext) : [ ADDRESS ];
+(* gdk_draw_context_is_in_frame *)
+PROCEDURE gdk_draw_context_is_in_frame (context: GdkDrawContext) : [ INTEGER ];
+
+END GdkDrawContext.

+ 50 - 0
src/GdkDrop.def

@@ -0,0 +1,50 @@
+DEFINITION MODULE FOR "C" GdkDrop ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkDrop,
+   gdk_drop_finish,
+   gdk_drop_get_actions,
+   gdk_drop_get_device,
+   gdk_drop_get_display,
+   gdk_drop_get_drag,
+   gdk_drop_get_formats,
+   gdk_drop_get_surface,
+   gdk_drop_read_async,
+   gdk_drop_read_finish,
+   gdk_drop_read_value_async,
+   gdk_drop_read_value_finish,
+   gdk_drop_status;
+
+TYPE
+   GdkDrop = ADDRESS;
+
+(* gdk_drop_finish *)
+PROCEDURE gdk_drop_finish (self: GdkDrop; action: CARDINAL);
+(* gdk_drop_get_actions *)
+PROCEDURE gdk_drop_get_actions (self: GdkDrop) : [ CARDINAL ];
+(* gdk_drop_get_device *)
+PROCEDURE gdk_drop_get_device (self: GdkDrop) : [ ADDRESS ];
+(* gdk_drop_get_display *)
+PROCEDURE gdk_drop_get_display (self: GdkDrop) : [ ADDRESS ];
+(* gdk_drop_get_drag *)
+PROCEDURE gdk_drop_get_drag (self: GdkDrop) : [ ADDRESS ];
+(* gdk_drop_get_formats *)
+PROCEDURE gdk_drop_get_formats (self: GdkDrop) : [ ADDRESS ];
+(* gdk_drop_get_surface *)
+PROCEDURE gdk_drop_get_surface (self: GdkDrop) : [ ADDRESS ];
+(* gdk_drop_read_async *)
+PROCEDURE gdk_drop_read_async (self: GdkDrop; mime_types: ADDRESS; io_priority: INTEGER; cancellable: ADDRESS; user_data: ADDRESS);
+(* gdk_drop_read_finish *)
+PROCEDURE gdk_drop_read_finish (self: GdkDrop; result: ADDRESS; out_mime_type: ADDRESS) : [ ADDRESS ];
+(* gdk_drop_read_value_async *)
+PROCEDURE gdk_drop_read_value_async (self: GdkDrop; type_: LONGCARD; io_priority: INTEGER; cancellable: ADDRESS; user_data: ADDRESS);
+(* gdk_drop_read_value_finish *)
+PROCEDURE gdk_drop_read_value_finish (self: GdkDrop; result: ADDRESS) : [ ADDRESS ];
+(* gdk_drop_status *)
+PROCEDURE gdk_drop_status (self: GdkDrop; actions: CARDINAL; preferred: CARDINAL);
+
+END GdkDrop.

+ 501 - 0
src/GdkEnums.def

@@ -0,0 +1,501 @@
+DEFINITION MODULE FOR "C" GdkEnums ;
+
+(* Generated by tools/gir2def.py: enumerations and bitfields. *)
+
+EXPORT UNQUALIFIED
+   GDK_ANCHOR_FLIP_X,
+   GDK_ANCHOR_FLIP_Y,
+   GDK_ANCHOR_SLIDE_X,
+   GDK_ANCHOR_SLIDE_Y,
+   GDK_ANCHOR_RESIZE_X,
+   GDK_ANCHOR_RESIZE_Y,
+   GDK_ANCHOR_FLIP,
+   GDK_ANCHOR_SLIDE,
+   GDK_ANCHOR_RESIZE,
+   GDK_AXIS_FLAG_X,
+   GDK_AXIS_FLAG_Y,
+   GDK_AXIS_FLAG_DELTA_X,
+   GDK_AXIS_FLAG_DELTA_Y,
+   GDK_AXIS_FLAG_PRESSURE,
+   GDK_AXIS_FLAG_XTILT,
+   GDK_AXIS_FLAG_YTILT,
+   GDK_AXIS_FLAG_WHEEL,
+   GDK_AXIS_FLAG_DISTANCE,
+   GDK_AXIS_FLAG_ROTATION,
+   GDK_AXIS_FLAG_SLIDER,
+   GDK_AXIS_IGNORE,
+   GDK_AXIS_X,
+   GDK_AXIS_Y,
+   GDK_AXIS_DELTA_X,
+   GDK_AXIS_DELTA_Y,
+   GDK_AXIS_PRESSURE,
+   GDK_AXIS_XTILT,
+   GDK_AXIS_YTILT,
+   GDK_AXIS_WHEEL,
+   GDK_AXIS_DISTANCE,
+   GDK_AXIS_ROTATION,
+   GDK_AXIS_SLIDER,
+   GDK_AXIS_LAST,
+   GDK_CICP_RANGE_NARROW,
+   GDK_CICP_RANGE_FULL,
+   GDK_CROSSING_NORMAL,
+   GDK_CROSSING_GRAB,
+   GDK_CROSSING_UNGRAB,
+   GDK_CROSSING_GTK_GRAB,
+   GDK_CROSSING_GTK_UNGRAB,
+   GDK_CROSSING_STATE_CHANGED,
+   GDK_CROSSING_TOUCH_BEGIN,
+   GDK_CROSSING_TOUCH_END,
+   GDK_CROSSING_DEVICE_SWITCH,
+   GDK_DEVICE_PAD_FEATURE_BUTTON,
+   GDK_DEVICE_PAD_FEATURE_RING,
+   GDK_DEVICE_PAD_FEATURE_STRIP,
+   GDK_DEVICE_TOOL_TYPE_UNKNOWN,
+   GDK_DEVICE_TOOL_TYPE_PEN,
+   GDK_DEVICE_TOOL_TYPE_ERASER,
+   GDK_DEVICE_TOOL_TYPE_BRUSH,
+   GDK_DEVICE_TOOL_TYPE_PENCIL,
+   GDK_DEVICE_TOOL_TYPE_AIRBRUSH,
+   GDK_DEVICE_TOOL_TYPE_MOUSE,
+   GDK_DEVICE_TOOL_TYPE_LENS,
+   GDK_DMABUF_ERROR_NOT_AVAILABLE,
+   GDK_DMABUF_ERROR_UNSUPPORTED_FORMAT,
+   GDK_DMABUF_ERROR_CREATION_FAILED,
+   GDK_ACTION_COPY,
+   GDK_ACTION_MOVE,
+   GDK_ACTION_LINK,
+   GDK_ACTION_ASK,
+   GDK_DRAG_CANCEL_NO_TARGET,
+   GDK_DRAG_CANCEL_USER_CANCELLED,
+   GDK_DRAG_CANCEL_ERROR,
+   GDK_DELETE,
+   GDK_MOTION_NOTIFY,
+   GDK_BUTTON_PRESS,
+   GDK_BUTTON_RELEASE,
+   GDK_KEY_PRESS,
+   GDK_KEY_RELEASE,
+   GDK_ENTER_NOTIFY,
+   GDK_LEAVE_NOTIFY,
+   GDK_FOCUS_CHANGE,
+   GDK_PROXIMITY_IN,
+   GDK_PROXIMITY_OUT,
+   GDK_DRAG_ENTER,
+   GDK_DRAG_LEAVE,
+   GDK_DRAG_MOTION,
+   GDK_DROP_START,
+   GDK_SCROLL,
+   GDK_GRAB_BROKEN,
+   GDK_TOUCH_BEGIN,
+   GDK_TOUCH_UPDATE,
+   GDK_TOUCH_END,
+   GDK_TOUCH_CANCEL,
+   GDK_TOUCHPAD_SWIPE,
+   GDK_TOUCHPAD_PINCH,
+   GDK_PAD_BUTTON_PRESS,
+   GDK_PAD_BUTTON_RELEASE,
+   GDK_PAD_RING,
+   GDK_PAD_STRIP,
+   GDK_PAD_GROUP_MODE,
+   GDK_TOUCHPAD_HOLD,
+   GDK_EVENT_LAST,
+   GDK_FRAME_CLOCK_PHASE_NONE,
+   GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS,
+   GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT,
+   GDK_FRAME_CLOCK_PHASE_UPDATE,
+   GDK_FRAME_CLOCK_PHASE_LAYOUT,
+   GDK_FRAME_CLOCK_PHASE_PAINT,
+   GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS,
+   GDK_FRAME_CLOCK_PHASE_AFTER_PAINT,
+   GDK_FULLSCREEN_ON_CURRENT_MONITOR,
+   GDK_FULLSCREEN_ON_ALL_MONITORS,
+   GDK_GL_API_GL,
+   GDK_GL_API_GLES,
+   GDK_GL_ERROR_NOT_AVAILABLE,
+   GDK_GL_ERROR_UNSUPPORTED_FORMAT,
+   GDK_GL_ERROR_UNSUPPORTED_PROFILE,
+   GDK_GL_ERROR_COMPILATION_FAILED,
+   GDK_GL_ERROR_LINK_FAILED,
+   GDK_GRAVITY_NORTH_WEST,
+   GDK_GRAVITY_NORTH,
+   GDK_GRAVITY_NORTH_EAST,
+   GDK_GRAVITY_WEST,
+   GDK_GRAVITY_CENTER,
+   GDK_GRAVITY_EAST,
+   GDK_GRAVITY_SOUTH_WEST,
+   GDK_GRAVITY_SOUTH,
+   GDK_GRAVITY_SOUTH_EAST,
+   GDK_GRAVITY_STATIC,
+   GDK_SOURCE_MOUSE,
+   GDK_SOURCE_PEN,
+   GDK_SOURCE_KEYBOARD,
+   GDK_SOURCE_TOUCHSCREEN,
+   GDK_SOURCE_TOUCHPAD,
+   GDK_SOURCE_TRACKPOINT,
+   GDK_SOURCE_TABLET_PAD,
+   GDK_KEY_MATCH_NONE,
+   GDK_KEY_MATCH_PARTIAL,
+   GDK_KEY_MATCH_EXACT,
+   GDK_MEMORY_B8G8R8A8_PREMULTIPLIED,
+   GDK_MEMORY_A8R8G8B8_PREMULTIPLIED,
+   GDK_MEMORY_R8G8B8A8_PREMULTIPLIED,
+   GDK_MEMORY_B8G8R8A8,
+   GDK_MEMORY_A8R8G8B8,
+   GDK_MEMORY_R8G8B8A8,
+   GDK_MEMORY_A8B8G8R8,
+   GDK_MEMORY_R8G8B8,
+   GDK_MEMORY_B8G8R8,
+   GDK_MEMORY_R16G16B16,
+   GDK_MEMORY_R16G16B16A16_PREMULTIPLIED,
+   GDK_MEMORY_R16G16B16A16,
+   GDK_MEMORY_R16G16B16_FLOAT,
+   GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED,
+   GDK_MEMORY_R16G16B16A16_FLOAT,
+   GDK_MEMORY_R32G32B32_FLOAT,
+   GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED,
+   GDK_MEMORY_R32G32B32A32_FLOAT,
+   GDK_MEMORY_G8A8_PREMULTIPLIED,
+   GDK_MEMORY_G8A8,
+   GDK_MEMORY_G8,
+   GDK_MEMORY_G16A16_PREMULTIPLIED,
+   GDK_MEMORY_G16A16,
+   GDK_MEMORY_G16,
+   GDK_MEMORY_A8,
+   GDK_MEMORY_A16,
+   GDK_MEMORY_A16_FLOAT,
+   GDK_MEMORY_A32_FLOAT,
+   GDK_MEMORY_A8B8G8R8_PREMULTIPLIED,
+   GDK_MEMORY_B8G8R8X8,
+   GDK_MEMORY_X8R8G8B8,
+   GDK_MEMORY_R8G8B8X8,
+   GDK_MEMORY_X8B8G8R8,
+   GDK_MEMORY_N_FORMATS,
+   GDK_NO_MODIFIER_MASK,
+   GDK_SHIFT_MASK,
+   GDK_LOCK_MASK,
+   GDK_CONTROL_MASK,
+   GDK_ALT_MASK,
+   GDK_BUTTON1_MASK,
+   GDK_BUTTON2_MASK,
+   GDK_BUTTON3_MASK,
+   GDK_BUTTON4_MASK,
+   GDK_BUTTON5_MASK,
+   GDK_SUPER_MASK,
+   GDK_HYPER_MASK,
+   GDK_META_MASK,
+   GDK_NOTIFY_ANCESTOR,
+   GDK_NOTIFY_VIRTUAL,
+   GDK_NOTIFY_INFERIOR,
+   GDK_NOTIFY_NONLINEAR,
+   GDK_NOTIFY_NONLINEAR_VIRTUAL,
+   GDK_NOTIFY_UNKNOWN,
+   GDK_PAINTABLE_STATIC_SIZE,
+   GDK_PAINTABLE_STATIC_CONTENTS,
+   GDK_SCROLL_UP,
+   GDK_SCROLL_DOWN,
+   GDK_SCROLL_LEFT,
+   GDK_SCROLL_RIGHT,
+   GDK_SCROLL_SMOOTH,
+   GDK_SCROLL_UNIT_WHEEL,
+   GDK_SCROLL_UNIT_SURFACE,
+   GDK_SEAT_CAPABILITY_NONE,
+   GDK_SEAT_CAPABILITY_POINTER,
+   GDK_SEAT_CAPABILITY_TOUCH,
+   GDK_SEAT_CAPABILITY_TABLET_STYLUS,
+   GDK_SEAT_CAPABILITY_KEYBOARD,
+   GDK_SEAT_CAPABILITY_TABLET_PAD,
+   GDK_SEAT_CAPABILITY_ALL_POINTING,
+   GDK_SEAT_CAPABILITY_ALL,
+   GDK_SUBPIXEL_LAYOUT_UNKNOWN,
+   GDK_SUBPIXEL_LAYOUT_NONE,
+   GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB,
+   GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR,
+   GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB,
+   GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR,
+   GDK_SURFACE_EDGE_NORTH_WEST,
+   GDK_SURFACE_EDGE_NORTH,
+   GDK_SURFACE_EDGE_NORTH_EAST,
+   GDK_SURFACE_EDGE_WEST,
+   GDK_SURFACE_EDGE_EAST,
+   GDK_SURFACE_EDGE_SOUTH_WEST,
+   GDK_SURFACE_EDGE_SOUTH,
+   GDK_SURFACE_EDGE_SOUTH_EAST,
+   GDK_TEXTURE_ERROR_TOO_LARGE,
+   GDK_TEXTURE_ERROR_CORRUPT_IMAGE,
+   GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT,
+   GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT,
+   GDK_TITLEBAR_GESTURE_DOUBLE_CLICK,
+   GDK_TITLEBAR_GESTURE_RIGHT_CLICK,
+   GDK_TITLEBAR_GESTURE_MIDDLE_CLICK,
+   GDK_TOPLEVEL_STATE_MINIMIZED,
+   GDK_TOPLEVEL_STATE_MAXIMIZED,
+   GDK_TOPLEVEL_STATE_STICKY,
+   GDK_TOPLEVEL_STATE_FULLSCREEN,
+   GDK_TOPLEVEL_STATE_ABOVE,
+   GDK_TOPLEVEL_STATE_BELOW,
+   GDK_TOPLEVEL_STATE_FOCUSED,
+   GDK_TOPLEVEL_STATE_TILED,
+   GDK_TOPLEVEL_STATE_TOP_TILED,
+   GDK_TOPLEVEL_STATE_TOP_RESIZABLE,
+   GDK_TOPLEVEL_STATE_RIGHT_TILED,
+   GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE,
+   GDK_TOPLEVEL_STATE_BOTTOM_TILED,
+   GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE,
+   GDK_TOPLEVEL_STATE_LEFT_TILED,
+   GDK_TOPLEVEL_STATE_LEFT_RESIZABLE,
+   GDK_TOPLEVEL_STATE_SUSPENDED,
+   GDK_TOUCHPAD_GESTURE_PHASE_BEGIN,
+   GDK_TOUCHPAD_GESTURE_PHASE_UPDATE,
+   GDK_TOUCHPAD_GESTURE_PHASE_END,
+   GDK_TOUCHPAD_GESTURE_PHASE_CANCEL,
+   GDK_VULKAN_ERROR_UNSUPPORTED,
+   GDK_VULKAN_ERROR_NOT_AVAILABLE;
+
+CONST
+   GDK_ANCHOR_FLIP_X = 1;
+   GDK_ANCHOR_FLIP_Y = 2;
+   GDK_ANCHOR_SLIDE_X = 4;
+   GDK_ANCHOR_SLIDE_Y = 8;
+   GDK_ANCHOR_RESIZE_X = 16;
+   GDK_ANCHOR_RESIZE_Y = 32;
+   GDK_ANCHOR_FLIP = 3;
+   GDK_ANCHOR_SLIDE = 12;
+   GDK_ANCHOR_RESIZE = 48;
+   GDK_AXIS_FLAG_X = 2;
+   GDK_AXIS_FLAG_Y = 4;
+   GDK_AXIS_FLAG_DELTA_X = 8;
+   GDK_AXIS_FLAG_DELTA_Y = 16;
+   GDK_AXIS_FLAG_PRESSURE = 32;
+   GDK_AXIS_FLAG_XTILT = 64;
+   GDK_AXIS_FLAG_YTILT = 128;
+   GDK_AXIS_FLAG_WHEEL = 256;
+   GDK_AXIS_FLAG_DISTANCE = 512;
+   GDK_AXIS_FLAG_ROTATION = 1024;
+   GDK_AXIS_FLAG_SLIDER = 2048;
+   GDK_AXIS_IGNORE = 0;
+   GDK_AXIS_X = 1;
+   GDK_AXIS_Y = 2;
+   GDK_AXIS_DELTA_X = 3;
+   GDK_AXIS_DELTA_Y = 4;
+   GDK_AXIS_PRESSURE = 5;
+   GDK_AXIS_XTILT = 6;
+   GDK_AXIS_YTILT = 7;
+   GDK_AXIS_WHEEL = 8;
+   GDK_AXIS_DISTANCE = 9;
+   GDK_AXIS_ROTATION = 10;
+   GDK_AXIS_SLIDER = 11;
+   GDK_AXIS_LAST = 12;
+   GDK_CICP_RANGE_NARROW = 0;
+   GDK_CICP_RANGE_FULL = 1;
+   GDK_CROSSING_NORMAL = 0;
+   GDK_CROSSING_GRAB = 1;
+   GDK_CROSSING_UNGRAB = 2;
+   GDK_CROSSING_GTK_GRAB = 3;
+   GDK_CROSSING_GTK_UNGRAB = 4;
+   GDK_CROSSING_STATE_CHANGED = 5;
+   GDK_CROSSING_TOUCH_BEGIN = 6;
+   GDK_CROSSING_TOUCH_END = 7;
+   GDK_CROSSING_DEVICE_SWITCH = 8;
+   GDK_DEVICE_PAD_FEATURE_BUTTON = 0;
+   GDK_DEVICE_PAD_FEATURE_RING = 1;
+   GDK_DEVICE_PAD_FEATURE_STRIP = 2;
+   GDK_DEVICE_TOOL_TYPE_UNKNOWN = 0;
+   GDK_DEVICE_TOOL_TYPE_PEN = 1;
+   GDK_DEVICE_TOOL_TYPE_ERASER = 2;
+   GDK_DEVICE_TOOL_TYPE_BRUSH = 3;
+   GDK_DEVICE_TOOL_TYPE_PENCIL = 4;
+   GDK_DEVICE_TOOL_TYPE_AIRBRUSH = 5;
+   GDK_DEVICE_TOOL_TYPE_MOUSE = 6;
+   GDK_DEVICE_TOOL_TYPE_LENS = 7;
+   GDK_DMABUF_ERROR_NOT_AVAILABLE = 0;
+   GDK_DMABUF_ERROR_UNSUPPORTED_FORMAT = 1;
+   GDK_DMABUF_ERROR_CREATION_FAILED = 2;
+   GDK_ACTION_COPY = 1;
+   GDK_ACTION_MOVE = 2;
+   GDK_ACTION_LINK = 4;
+   GDK_ACTION_ASK = 8;
+   GDK_DRAG_CANCEL_NO_TARGET = 0;
+   GDK_DRAG_CANCEL_USER_CANCELLED = 1;
+   GDK_DRAG_CANCEL_ERROR = 2;
+   GDK_DELETE = 0;
+   GDK_MOTION_NOTIFY = 1;
+   GDK_BUTTON_PRESS = 2;
+   GDK_BUTTON_RELEASE = 3;
+   GDK_KEY_PRESS = 4;
+   GDK_KEY_RELEASE = 5;
+   GDK_ENTER_NOTIFY = 6;
+   GDK_LEAVE_NOTIFY = 7;
+   GDK_FOCUS_CHANGE = 8;
+   GDK_PROXIMITY_IN = 9;
+   GDK_PROXIMITY_OUT = 10;
+   GDK_DRAG_ENTER = 11;
+   GDK_DRAG_LEAVE = 12;
+   GDK_DRAG_MOTION = 13;
+   GDK_DROP_START = 14;
+   GDK_SCROLL = 15;
+   GDK_GRAB_BROKEN = 16;
+   GDK_TOUCH_BEGIN = 17;
+   GDK_TOUCH_UPDATE = 18;
+   GDK_TOUCH_END = 19;
+   GDK_TOUCH_CANCEL = 20;
+   GDK_TOUCHPAD_SWIPE = 21;
+   GDK_TOUCHPAD_PINCH = 22;
+   GDK_PAD_BUTTON_PRESS = 23;
+   GDK_PAD_BUTTON_RELEASE = 24;
+   GDK_PAD_RING = 25;
+   GDK_PAD_STRIP = 26;
+   GDK_PAD_GROUP_MODE = 27;
+   GDK_TOUCHPAD_HOLD = 28;
+   GDK_EVENT_LAST = 29;
+   GDK_FRAME_CLOCK_PHASE_NONE = 0;
+   GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS = 1;
+   GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT = 2;
+   GDK_FRAME_CLOCK_PHASE_UPDATE = 4;
+   GDK_FRAME_CLOCK_PHASE_LAYOUT = 8;
+   GDK_FRAME_CLOCK_PHASE_PAINT = 16;
+   GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS = 32;
+   GDK_FRAME_CLOCK_PHASE_AFTER_PAINT = 64;
+   GDK_FULLSCREEN_ON_CURRENT_MONITOR = 0;
+   GDK_FULLSCREEN_ON_ALL_MONITORS = 1;
+   GDK_GL_API_GL = 1;
+   GDK_GL_API_GLES = 2;
+   GDK_GL_ERROR_NOT_AVAILABLE = 0;
+   GDK_GL_ERROR_UNSUPPORTED_FORMAT = 1;
+   GDK_GL_ERROR_UNSUPPORTED_PROFILE = 2;
+   GDK_GL_ERROR_COMPILATION_FAILED = 3;
+   GDK_GL_ERROR_LINK_FAILED = 4;
+   GDK_GRAVITY_NORTH_WEST = 1;
+   GDK_GRAVITY_NORTH = 2;
+   GDK_GRAVITY_NORTH_EAST = 3;
+   GDK_GRAVITY_WEST = 4;
+   GDK_GRAVITY_CENTER = 5;
+   GDK_GRAVITY_EAST = 6;
+   GDK_GRAVITY_SOUTH_WEST = 7;
+   GDK_GRAVITY_SOUTH = 8;
+   GDK_GRAVITY_SOUTH_EAST = 9;
+   GDK_GRAVITY_STATIC = 10;
+   GDK_SOURCE_MOUSE = 0;
+   GDK_SOURCE_PEN = 1;
+   GDK_SOURCE_KEYBOARD = 2;
+   GDK_SOURCE_TOUCHSCREEN = 3;
+   GDK_SOURCE_TOUCHPAD = 4;
+   GDK_SOURCE_TRACKPOINT = 5;
+   GDK_SOURCE_TABLET_PAD = 6;
+   GDK_KEY_MATCH_NONE = 0;
+   GDK_KEY_MATCH_PARTIAL = 1;
+   GDK_KEY_MATCH_EXACT = 2;
+   GDK_MEMORY_B8G8R8A8_PREMULTIPLIED = 0;
+   GDK_MEMORY_A8R8G8B8_PREMULTIPLIED = 1;
+   GDK_MEMORY_R8G8B8A8_PREMULTIPLIED = 2;
+   GDK_MEMORY_B8G8R8A8 = 3;
+   GDK_MEMORY_A8R8G8B8 = 4;
+   GDK_MEMORY_R8G8B8A8 = 5;
+   GDK_MEMORY_A8B8G8R8 = 6;
+   GDK_MEMORY_R8G8B8 = 7;
+   GDK_MEMORY_B8G8R8 = 8;
+   GDK_MEMORY_R16G16B16 = 9;
+   GDK_MEMORY_R16G16B16A16_PREMULTIPLIED = 10;
+   GDK_MEMORY_R16G16B16A16 = 11;
+   GDK_MEMORY_R16G16B16_FLOAT = 12;
+   GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED = 13;
+   GDK_MEMORY_R16G16B16A16_FLOAT = 14;
+   GDK_MEMORY_R32G32B32_FLOAT = 15;
+   GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED = 16;
+   GDK_MEMORY_R32G32B32A32_FLOAT = 17;
+   GDK_MEMORY_G8A8_PREMULTIPLIED = 18;
+   GDK_MEMORY_G8A8 = 19;
+   GDK_MEMORY_G8 = 20;
+   GDK_MEMORY_G16A16_PREMULTIPLIED = 21;
+   GDK_MEMORY_G16A16 = 22;
+   GDK_MEMORY_G16 = 23;
+   GDK_MEMORY_A8 = 24;
+   GDK_MEMORY_A16 = 25;
+   GDK_MEMORY_A16_FLOAT = 26;
+   GDK_MEMORY_A32_FLOAT = 27;
+   GDK_MEMORY_A8B8G8R8_PREMULTIPLIED = 28;
+   GDK_MEMORY_B8G8R8X8 = 29;
+   GDK_MEMORY_X8R8G8B8 = 30;
+   GDK_MEMORY_R8G8B8X8 = 31;
+   GDK_MEMORY_X8B8G8R8 = 32;
+   GDK_MEMORY_N_FORMATS = 33;
+   GDK_NO_MODIFIER_MASK = 0;
+   GDK_SHIFT_MASK = 1;
+   GDK_LOCK_MASK = 2;
+   GDK_CONTROL_MASK = 4;
+   GDK_ALT_MASK = 8;
+   GDK_BUTTON1_MASK = 256;
+   GDK_BUTTON2_MASK = 512;
+   GDK_BUTTON3_MASK = 1024;
+   GDK_BUTTON4_MASK = 2048;
+   GDK_BUTTON5_MASK = 4096;
+   GDK_SUPER_MASK = 67108864;
+   GDK_HYPER_MASK = 134217728;
+   GDK_META_MASK = 268435456;
+   GDK_NOTIFY_ANCESTOR = 0;
+   GDK_NOTIFY_VIRTUAL = 1;
+   GDK_NOTIFY_INFERIOR = 2;
+   GDK_NOTIFY_NONLINEAR = 3;
+   GDK_NOTIFY_NONLINEAR_VIRTUAL = 4;
+   GDK_NOTIFY_UNKNOWN = 5;
+   GDK_PAINTABLE_STATIC_SIZE = 1;
+   GDK_PAINTABLE_STATIC_CONTENTS = 2;
+   GDK_SCROLL_UP = 0;
+   GDK_SCROLL_DOWN = 1;
+   GDK_SCROLL_LEFT = 2;
+   GDK_SCROLL_RIGHT = 3;
+   GDK_SCROLL_SMOOTH = 4;
+   GDK_SCROLL_UNIT_WHEEL = 0;
+   GDK_SCROLL_UNIT_SURFACE = 1;
+   GDK_SEAT_CAPABILITY_NONE = 0;
+   GDK_SEAT_CAPABILITY_POINTER = 1;
+   GDK_SEAT_CAPABILITY_TOUCH = 2;
+   GDK_SEAT_CAPABILITY_TABLET_STYLUS = 4;
+   GDK_SEAT_CAPABILITY_KEYBOARD = 8;
+   GDK_SEAT_CAPABILITY_TABLET_PAD = 16;
+   GDK_SEAT_CAPABILITY_ALL_POINTING = 7;
+   GDK_SEAT_CAPABILITY_ALL = 31;
+   GDK_SUBPIXEL_LAYOUT_UNKNOWN = 0;
+   GDK_SUBPIXEL_LAYOUT_NONE = 1;
+   GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB = 2;
+   GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR = 3;
+   GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB = 4;
+   GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR = 5;
+   GDK_SURFACE_EDGE_NORTH_WEST = 0;
+   GDK_SURFACE_EDGE_NORTH = 1;
+   GDK_SURFACE_EDGE_NORTH_EAST = 2;
+   GDK_SURFACE_EDGE_WEST = 3;
+   GDK_SURFACE_EDGE_EAST = 4;
+   GDK_SURFACE_EDGE_SOUTH_WEST = 5;
+   GDK_SURFACE_EDGE_SOUTH = 6;
+   GDK_SURFACE_EDGE_SOUTH_EAST = 7;
+   GDK_TEXTURE_ERROR_TOO_LARGE = 0;
+   GDK_TEXTURE_ERROR_CORRUPT_IMAGE = 1;
+   GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT = 2;
+   GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT = 3;
+   GDK_TITLEBAR_GESTURE_DOUBLE_CLICK = 1;
+   GDK_TITLEBAR_GESTURE_RIGHT_CLICK = 2;
+   GDK_TITLEBAR_GESTURE_MIDDLE_CLICK = 3;
+   GDK_TOPLEVEL_STATE_MINIMIZED = 1;
+   GDK_TOPLEVEL_STATE_MAXIMIZED = 2;
+   GDK_TOPLEVEL_STATE_STICKY = 4;
+   GDK_TOPLEVEL_STATE_FULLSCREEN = 8;
+   GDK_TOPLEVEL_STATE_ABOVE = 16;
+   GDK_TOPLEVEL_STATE_BELOW = 32;
+   GDK_TOPLEVEL_STATE_FOCUSED = 64;
+   GDK_TOPLEVEL_STATE_TILED = 128;
+   GDK_TOPLEVEL_STATE_TOP_TILED = 256;
+   GDK_TOPLEVEL_STATE_TOP_RESIZABLE = 512;
+   GDK_TOPLEVEL_STATE_RIGHT_TILED = 1024;
+   GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE = 2048;
+   GDK_TOPLEVEL_STATE_BOTTOM_TILED = 4096;
+   GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE = 8192;
+   GDK_TOPLEVEL_STATE_LEFT_TILED = 16384;
+   GDK_TOPLEVEL_STATE_LEFT_RESIZABLE = 32768;
+   GDK_TOPLEVEL_STATE_SUSPENDED = 65536;
+   GDK_TOUCHPAD_GESTURE_PHASE_BEGIN = 0;
+   GDK_TOUCHPAD_GESTURE_PHASE_UPDATE = 1;
+   GDK_TOUCHPAD_GESTURE_PHASE_END = 2;
+   GDK_TOUCHPAD_GESTURE_PHASE_CANCEL = 3;
+   GDK_VULKAN_ERROR_UNSUPPORTED = 0;
+   GDK_VULKAN_ERROR_NOT_AVAILABLE = 1;
+
+END GdkEnums.

+ 65 - 0
src/GdkEvent.def

@@ -0,0 +1,65 @@
+DEFINITION MODULE FOR "C" GdkEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkEvent,
+   gdk_event_get_axes,
+   gdk_event_get_axis,
+   gdk_event_get_device,
+   gdk_event_get_device_tool,
+   gdk_event_get_display,
+   gdk_event_get_event_sequence,
+   gdk_event_get_event_type,
+   gdk_event_get_history,
+   gdk_event_get_modifier_state,
+   gdk_event_get_pointer_emulated,
+   gdk_event_get_position,
+   gdk_event_get_seat,
+   gdk_event_get_surface,
+   gdk_event_get_time,
+   gdk_event_ref,
+   gdk_event_triggers_context_menu,
+   gdk_event_unref;
+
+TYPE
+   GdkEvent = ADDRESS;
+
+(* gdk_event_get_axes *)
+PROCEDURE gdk_event_get_axes (event: GdkEvent; VAR n_axes: CARDINAL) : [ INTEGER ];
+(* gdk_event_get_axis *)
+PROCEDURE gdk_event_get_axis (event: GdkEvent; axis_use: CARDINAL; VAR value: REAL) : [ INTEGER ];
+(* gdk_event_get_device *)
+PROCEDURE gdk_event_get_device (event: GdkEvent) : [ ADDRESS ];
+(* gdk_event_get_device_tool *)
+PROCEDURE gdk_event_get_device_tool (event: GdkEvent) : [ ADDRESS ];
+(* gdk_event_get_display *)
+PROCEDURE gdk_event_get_display (event: GdkEvent) : [ ADDRESS ];
+(* gdk_event_get_event_sequence *)
+PROCEDURE gdk_event_get_event_sequence (event: GdkEvent) : [ ADDRESS ];
+(* gdk_event_get_event_type *)
+PROCEDURE gdk_event_get_event_type (event: GdkEvent) : [ CARDINAL ];
+(* gdk_event_get_history *)
+PROCEDURE gdk_event_get_history (event: GdkEvent; VAR out_n_coords: CARDINAL);
+(* gdk_event_get_modifier_state *)
+PROCEDURE gdk_event_get_modifier_state (event: GdkEvent) : [ CARDINAL ];
+(* gdk_event_get_pointer_emulated *)
+PROCEDURE gdk_event_get_pointer_emulated (event: GdkEvent) : [ INTEGER ];
+(* gdk_event_get_position *)
+PROCEDURE gdk_event_get_position (event: GdkEvent; VAR x: REAL; VAR y: REAL) : [ INTEGER ];
+(* gdk_event_get_seat *)
+PROCEDURE gdk_event_get_seat (event: GdkEvent) : [ ADDRESS ];
+(* gdk_event_get_surface *)
+PROCEDURE gdk_event_get_surface (event: GdkEvent) : [ ADDRESS ];
+(* gdk_event_get_time *)
+PROCEDURE gdk_event_get_time (event: GdkEvent) : [ CARDINAL ];
+(* gdk_event_ref *)
+PROCEDURE gdk_event_ref (event: GdkEvent) : [ ADDRESS ];
+(* gdk_event_triggers_context_menu *)
+PROCEDURE gdk_event_triggers_context_menu (event: GdkEvent) : [ INTEGER ];
+(* gdk_event_unref *)
+PROCEDURE gdk_event_unref (event: GdkEvent);
+
+END GdkEvent.

+ 23 - 0
src/GdkFileList.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GdkFileList ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkFileList,
+   gdk_file_list_new_from_array,
+   gdk_file_list_new_from_list,
+   gdk_file_list_get_files;
+
+TYPE
+   GdkFileList = ADDRESS;
+
+(* gdk_file_list_new_from_array *)
+PROCEDURE gdk_file_list_new_from_array (files: ADDRESS) : [ ADDRESS ];
+(* gdk_file_list_new_from_list *)
+PROCEDURE gdk_file_list_new_from_list (files: ADDRESS) : [ ADDRESS ];
+(* gdk_file_list_get_files *)
+PROCEDURE gdk_file_list_get_files (file_list: GdkFileList) : [ ADDRESS ];
+
+END GdkFileList.

+ 17 - 0
src/GdkFocusEvent.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GdkFocusEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkFocusEvent,
+   gdk_focus_event_get_in;
+
+TYPE
+   GdkFocusEvent = ADDRESS;
+
+(* gdk_focus_event_get_in *)
+PROCEDURE gdk_focus_event_get_in (event: GdkFocusEvent) : [ INTEGER ];
+
+END GdkFocusEvent.

+ 44 - 0
src/GdkFrameClock.def

@@ -0,0 +1,44 @@
+DEFINITION MODULE FOR "C" GdkFrameClock ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkFrameClock,
+   gdk_frame_clock_begin_updating,
+   gdk_frame_clock_end_updating,
+   gdk_frame_clock_get_current_timings,
+   gdk_frame_clock_get_fps,
+   gdk_frame_clock_get_frame_counter,
+   gdk_frame_clock_get_frame_time,
+   gdk_frame_clock_get_history_start,
+   gdk_frame_clock_get_refresh_info,
+   gdk_frame_clock_get_timings,
+   gdk_frame_clock_request_phase;
+
+TYPE
+   GdkFrameClock = ADDRESS;
+
+(* gdk_frame_clock_begin_updating *)
+PROCEDURE gdk_frame_clock_begin_updating (frame_clock: GdkFrameClock);
+(* gdk_frame_clock_end_updating *)
+PROCEDURE gdk_frame_clock_end_updating (frame_clock: GdkFrameClock);
+(* gdk_frame_clock_get_current_timings *)
+PROCEDURE gdk_frame_clock_get_current_timings (frame_clock: GdkFrameClock) : [ ADDRESS ];
+(* gdk_frame_clock_get_fps *)
+PROCEDURE gdk_frame_clock_get_fps (frame_clock: GdkFrameClock) : [ REAL ];
+(* gdk_frame_clock_get_frame_counter *)
+PROCEDURE gdk_frame_clock_get_frame_counter (frame_clock: GdkFrameClock) : [ LONGINT ];
+(* gdk_frame_clock_get_frame_time *)
+PROCEDURE gdk_frame_clock_get_frame_time (frame_clock: GdkFrameClock) : [ LONGINT ];
+(* gdk_frame_clock_get_history_start *)
+PROCEDURE gdk_frame_clock_get_history_start (frame_clock: GdkFrameClock) : [ LONGINT ];
+(* gdk_frame_clock_get_refresh_info *)
+PROCEDURE gdk_frame_clock_get_refresh_info (frame_clock: GdkFrameClock; base_time: LONGINT; VAR refresh_interval_return: LONGINT; VAR presentation_time_return: LONGINT);
+(* gdk_frame_clock_get_timings *)
+PROCEDURE gdk_frame_clock_get_timings (frame_clock: GdkFrameClock; frame_counter: LONGINT) : [ ADDRESS ];
+(* gdk_frame_clock_request_phase *)
+PROCEDURE gdk_frame_clock_request_phase (frame_clock: GdkFrameClock; phase: CARDINAL);
+
+END GdkFrameClock.

+ 38 - 0
src/GdkFrameTimings.def

@@ -0,0 +1,38 @@
+DEFINITION MODULE FOR "C" GdkFrameTimings ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkFrameTimings,
+   gdk_frame_timings_get_complete,
+   gdk_frame_timings_get_frame_counter,
+   gdk_frame_timings_get_frame_time,
+   gdk_frame_timings_get_predicted_presentation_time,
+   gdk_frame_timings_get_presentation_time,
+   gdk_frame_timings_get_refresh_interval,
+   gdk_frame_timings_ref,
+   gdk_frame_timings_unref;
+
+TYPE
+   GdkFrameTimings = ADDRESS;
+
+(* gdk_frame_timings_get_complete *)
+PROCEDURE gdk_frame_timings_get_complete (timings: GdkFrameTimings) : [ INTEGER ];
+(* gdk_frame_timings_get_frame_counter *)
+PROCEDURE gdk_frame_timings_get_frame_counter (timings: GdkFrameTimings) : [ LONGINT ];
+(* gdk_frame_timings_get_frame_time *)
+PROCEDURE gdk_frame_timings_get_frame_time (timings: GdkFrameTimings) : [ LONGINT ];
+(* gdk_frame_timings_get_predicted_presentation_time *)
+PROCEDURE gdk_frame_timings_get_predicted_presentation_time (timings: GdkFrameTimings) : [ LONGINT ];
+(* gdk_frame_timings_get_presentation_time *)
+PROCEDURE gdk_frame_timings_get_presentation_time (timings: GdkFrameTimings) : [ LONGINT ];
+(* gdk_frame_timings_get_refresh_interval *)
+PROCEDURE gdk_frame_timings_get_refresh_interval (timings: GdkFrameTimings) : [ LONGINT ];
+(* gdk_frame_timings_ref *)
+PROCEDURE gdk_frame_timings_ref (timings: GdkFrameTimings) : [ ADDRESS ];
+(* gdk_frame_timings_unref *)
+PROCEDURE gdk_frame_timings_unref (timings: GdkFrameTimings);
+
+END GdkFrameTimings.

+ 100 - 0
src/GdkFunctions.def

@@ -0,0 +1,100 @@
+DEFINITION MODULE FOR "C" GdkFunctions ;
+
+(* Generated by tools/gir2def.py: namespace-level functions. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   gdk_cairo_draw_from_gl,
+   gdk_cairo_rectangle,
+   gdk_cairo_region,
+   gdk_cairo_region_create_from_surface,
+   gdk_cairo_set_source_pixbuf,
+   gdk_cairo_set_source_rgba,
+   gdk_content_deserialize_async,
+   gdk_content_deserialize_finish,
+   gdk_content_register_deserializer,
+   gdk_content_register_serializer,
+   gdk_content_serialize_async,
+   gdk_content_serialize_finish,
+   gdk_events_get_angle,
+   gdk_events_get_center,
+   gdk_events_get_distance,
+   gdk_intern_mime_type,
+   gdk_keyval_convert_case,
+   gdk_keyval_from_name,
+   gdk_keyval_is_lower,
+   gdk_keyval_is_upper,
+   gdk_keyval_name,
+   gdk_keyval_to_lower,
+   gdk_keyval_to_unicode,
+   gdk_keyval_to_upper,
+   gdk_pango_layout_get_clip_region,
+   gdk_pango_layout_line_get_clip_region,
+   gdk_pixbuf_get_from_surface,
+   gdk_pixbuf_get_from_texture,
+   gdk_set_allowed_backends,
+   gdk_unicode_to_keyval;
+
+(* gdk_cairo_draw_from_gl *)
+PROCEDURE gdk_cairo_draw_from_gl (cr: ADDRESS; surface: ADDRESS; source: INTEGER; source_type: INTEGER; buffer_scale: INTEGER; x: INTEGER; y: INTEGER; width: INTEGER; height: INTEGER);
+(* gdk_cairo_rectangle *)
+PROCEDURE gdk_cairo_rectangle (cr: ADDRESS; rectangle: ADDRESS);
+(* gdk_cairo_region *)
+PROCEDURE gdk_cairo_region (cr: ADDRESS; region: ADDRESS);
+(* gdk_cairo_region_create_from_surface *)
+PROCEDURE gdk_cairo_region_create_from_surface (surface: ADDRESS) : [ ADDRESS ];
+(* gdk_cairo_set_source_pixbuf *)
+PROCEDURE gdk_cairo_set_source_pixbuf (cr: ADDRESS; pixbuf: ADDRESS; pixbuf_x: REAL; pixbuf_y: REAL);
+(* gdk_cairo_set_source_rgba *)
+PROCEDURE gdk_cairo_set_source_rgba (cr: ADDRESS; rgba: ADDRESS);
+(* gdk_content_deserialize_async *)
+PROCEDURE gdk_content_deserialize_async (stream: ADDRESS; mime_type: ARRAY OF CHAR; type_: LONGCARD; io_priority: INTEGER; cancellable: ADDRESS; user_data: ADDRESS);
+(* gdk_content_deserialize_finish *)
+PROCEDURE gdk_content_deserialize_finish (result: ADDRESS; value: ADDRESS) : [ INTEGER ];
+(* gdk_content_register_deserializer *)
+PROCEDURE gdk_content_register_deserializer (mime_type: ARRAY OF CHAR; type_: LONGCARD; data: ADDRESS; notify: ADDRESS);
+(* gdk_content_register_serializer *)
+PROCEDURE gdk_content_register_serializer (type_: LONGCARD; mime_type: ARRAY OF CHAR; data: ADDRESS; notify: ADDRESS);
+(* gdk_content_serialize_async *)
+PROCEDURE gdk_content_serialize_async (stream: ADDRESS; mime_type: ARRAY OF CHAR; value: ADDRESS; io_priority: INTEGER; cancellable: ADDRESS; user_data: ADDRESS);
+(* gdk_content_serialize_finish *)
+PROCEDURE gdk_content_serialize_finish (result: ADDRESS) : [ INTEGER ];
+(* gdk_events_get_angle *)
+PROCEDURE gdk_events_get_angle (event1: ADDRESS; event2: ADDRESS; VAR angle: REAL) : [ INTEGER ];
+(* gdk_events_get_center *)
+PROCEDURE gdk_events_get_center (event1: ADDRESS; event2: ADDRESS; VAR x: REAL; VAR y: REAL) : [ INTEGER ];
+(* gdk_events_get_distance *)
+PROCEDURE gdk_events_get_distance (event1: ADDRESS; event2: ADDRESS; VAR distance: REAL) : [ INTEGER ];
+(* gdk_intern_mime_type *)
+PROCEDURE gdk_intern_mime_type (string: ARRAY OF CHAR) : [ ADDRESS ];
+(* gdk_keyval_convert_case *)
+PROCEDURE gdk_keyval_convert_case (symbol: CARDINAL; VAR lower: CARDINAL; VAR upper: CARDINAL);
+(* gdk_keyval_from_name *)
+PROCEDURE gdk_keyval_from_name (keyval_name: ARRAY OF CHAR) : [ CARDINAL ];
+(* gdk_keyval_is_lower *)
+PROCEDURE gdk_keyval_is_lower (keyval: CARDINAL) : [ INTEGER ];
+(* gdk_keyval_is_upper *)
+PROCEDURE gdk_keyval_is_upper (keyval: CARDINAL) : [ INTEGER ];
+(* gdk_keyval_name *)
+PROCEDURE gdk_keyval_name (keyval: CARDINAL) : [ ADDRESS ];
+(* gdk_keyval_to_lower *)
+PROCEDURE gdk_keyval_to_lower (keyval: CARDINAL) : [ CARDINAL ];
+(* gdk_keyval_to_unicode *)
+PROCEDURE gdk_keyval_to_unicode (keyval: CARDINAL) : [ CARDINAL ];
+(* gdk_keyval_to_upper *)
+PROCEDURE gdk_keyval_to_upper (keyval: CARDINAL) : [ CARDINAL ];
+(* gdk_pango_layout_get_clip_region *)
+PROCEDURE gdk_pango_layout_get_clip_region (layout: ADDRESS; x_origin: INTEGER; y_origin: INTEGER; index_ranges: ADDRESS; n_ranges: INTEGER) : [ ADDRESS ];
+(* gdk_pango_layout_line_get_clip_region *)
+PROCEDURE gdk_pango_layout_line_get_clip_region (line: ADDRESS; x_origin: INTEGER; y_origin: INTEGER; index_ranges: ADDRESS; n_ranges: INTEGER) : [ ADDRESS ];
+(* gdk_pixbuf_get_from_surface *)
+PROCEDURE gdk_pixbuf_get_from_surface (surface: ADDRESS; src_x: INTEGER; src_y: INTEGER; width: INTEGER; height: INTEGER) : [ ADDRESS ];
+(* gdk_pixbuf_get_from_texture *)
+PROCEDURE gdk_pixbuf_get_from_texture (texture: ADDRESS) : [ ADDRESS ];
+(* gdk_set_allowed_backends *)
+PROCEDURE gdk_set_allowed_backends (backends: ARRAY OF CHAR);
+(* gdk_unicode_to_keyval *)
+PROCEDURE gdk_unicode_to_keyval (wc: CARDINAL) : [ CARDINAL ];
+
+END GdkFunctions.

+ 20 - 0
src/GdkGLTexture.def

@@ -0,0 +1,20 @@
+DEFINITION MODULE FOR "C" GdkGLTexture ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkGLTexture,
+   gdk_gl_texture_new,
+   gdk_gl_texture_release;
+
+TYPE
+   GdkGLTexture = ADDRESS;
+
+(* gdk_gl_texture_new *)
+PROCEDURE gdk_gl_texture_new (context: ADDRESS; id: CARDINAL; width: INTEGER; height: INTEGER; destroy: ADDRESS; data: ADDRESS) : [ ADDRESS ];
+(* gdk_gl_texture_release *)
+PROCEDURE gdk_gl_texture_release (self: GdkGLTexture);
+
+END GdkGLTexture.

+ 80 - 0
src/GdkGLTextureBuilder.def

@@ -0,0 +1,80 @@
+DEFINITION MODULE FOR "C" GdkGLTextureBuilder ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkGLTextureBuilder,
+   gdk_gl_texture_builder_new,
+   gdk_gl_texture_builder_build,
+   gdk_gl_texture_builder_get_color_state,
+   gdk_gl_texture_builder_get_context,
+   gdk_gl_texture_builder_get_format,
+   gdk_gl_texture_builder_get_has_mipmap,
+   gdk_gl_texture_builder_get_height,
+   gdk_gl_texture_builder_get_id,
+   gdk_gl_texture_builder_get_sync,
+   gdk_gl_texture_builder_get_update_region,
+   gdk_gl_texture_builder_get_update_texture,
+   gdk_gl_texture_builder_get_width,
+   gdk_gl_texture_builder_set_color_state,
+   gdk_gl_texture_builder_set_context,
+   gdk_gl_texture_builder_set_format,
+   gdk_gl_texture_builder_set_has_mipmap,
+   gdk_gl_texture_builder_set_height,
+   gdk_gl_texture_builder_set_id,
+   gdk_gl_texture_builder_set_sync,
+   gdk_gl_texture_builder_set_update_region,
+   gdk_gl_texture_builder_set_update_texture,
+   gdk_gl_texture_builder_set_width;
+
+TYPE
+   GdkGLTextureBuilder = ADDRESS;
+
+(* gdk_gl_texture_builder_new *)
+PROCEDURE gdk_gl_texture_builder_new () : [ ADDRESS ];
+(* gdk_gl_texture_builder_build *)
+PROCEDURE gdk_gl_texture_builder_build (self: GdkGLTextureBuilder; destroy: ADDRESS; data: ADDRESS) : [ ADDRESS ];
+(* gdk_gl_texture_builder_get_color_state *)
+PROCEDURE gdk_gl_texture_builder_get_color_state (self: GdkGLTextureBuilder) : [ ADDRESS ];
+(* gdk_gl_texture_builder_get_context *)
+PROCEDURE gdk_gl_texture_builder_get_context (self: GdkGLTextureBuilder) : [ ADDRESS ];
+(* gdk_gl_texture_builder_get_format *)
+PROCEDURE gdk_gl_texture_builder_get_format (self: GdkGLTextureBuilder) : [ CARDINAL ];
+(* gdk_gl_texture_builder_get_has_mipmap *)
+PROCEDURE gdk_gl_texture_builder_get_has_mipmap (self: GdkGLTextureBuilder) : [ INTEGER ];
+(* gdk_gl_texture_builder_get_height *)
+PROCEDURE gdk_gl_texture_builder_get_height (self: GdkGLTextureBuilder) : [ INTEGER ];
+(* gdk_gl_texture_builder_get_id *)
+PROCEDURE gdk_gl_texture_builder_get_id (self: GdkGLTextureBuilder) : [ CARDINAL ];
+(* gdk_gl_texture_builder_get_sync *)
+PROCEDURE gdk_gl_texture_builder_get_sync (self: GdkGLTextureBuilder) : [ ADDRESS ];
+(* gdk_gl_texture_builder_get_update_region *)
+PROCEDURE gdk_gl_texture_builder_get_update_region (self: GdkGLTextureBuilder) : [ ADDRESS ];
+(* gdk_gl_texture_builder_get_update_texture *)
+PROCEDURE gdk_gl_texture_builder_get_update_texture (self: GdkGLTextureBuilder) : [ ADDRESS ];
+(* gdk_gl_texture_builder_get_width *)
+PROCEDURE gdk_gl_texture_builder_get_width (self: GdkGLTextureBuilder) : [ INTEGER ];
+(* gdk_gl_texture_builder_set_color_state *)
+PROCEDURE gdk_gl_texture_builder_set_color_state (self: GdkGLTextureBuilder; color_state: ADDRESS);
+(* gdk_gl_texture_builder_set_context *)
+PROCEDURE gdk_gl_texture_builder_set_context (self: GdkGLTextureBuilder; context: ADDRESS);
+(* gdk_gl_texture_builder_set_format *)
+PROCEDURE gdk_gl_texture_builder_set_format (self: GdkGLTextureBuilder; format: CARDINAL);
+(* gdk_gl_texture_builder_set_has_mipmap *)
+PROCEDURE gdk_gl_texture_builder_set_has_mipmap (self: GdkGLTextureBuilder; has_mipmap: INTEGER);
+(* gdk_gl_texture_builder_set_height *)
+PROCEDURE gdk_gl_texture_builder_set_height (self: GdkGLTextureBuilder; height: INTEGER);
+(* gdk_gl_texture_builder_set_id *)
+PROCEDURE gdk_gl_texture_builder_set_id (self: GdkGLTextureBuilder; id: CARDINAL);
+(* gdk_gl_texture_builder_set_sync *)
+PROCEDURE gdk_gl_texture_builder_set_sync (self: GdkGLTextureBuilder; sync: ADDRESS);
+(* gdk_gl_texture_builder_set_update_region *)
+PROCEDURE gdk_gl_texture_builder_set_update_region (self: GdkGLTextureBuilder; region: ADDRESS);
+(* gdk_gl_texture_builder_set_update_texture *)
+PROCEDURE gdk_gl_texture_builder_set_update_texture (self: GdkGLTextureBuilder; texture: ADDRESS);
+(* gdk_gl_texture_builder_set_width *)
+PROCEDURE gdk_gl_texture_builder_set_width (self: GdkGLTextureBuilder; width: INTEGER);
+
+END GdkGLTextureBuilder.

+ 20 - 0
src/GdkGrabBrokenEvent.def

@@ -0,0 +1,20 @@
+DEFINITION MODULE FOR "C" GdkGrabBrokenEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkGrabBrokenEvent,
+   gdk_grab_broken_event_get_grab_surface,
+   gdk_grab_broken_event_get_implicit;
+
+TYPE
+   GdkGrabBrokenEvent = ADDRESS;
+
+(* gdk_grab_broken_event_get_grab_surface *)
+PROCEDURE gdk_grab_broken_event_get_grab_surface (event: GdkGrabBrokenEvent) : [ ADDRESS ];
+(* gdk_grab_broken_event_get_implicit *)
+PROCEDURE gdk_grab_broken_event_get_implicit (event: GdkGrabBrokenEvent) : [ INTEGER ];
+
+END GdkGrabBrokenEvent.

+ 38 - 0
src/GdkKeyEvent.def

@@ -0,0 +1,38 @@
+DEFINITION MODULE FOR "C" GdkKeyEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkKeyEvent,
+   gdk_key_event_get_consumed_modifiers,
+   gdk_key_event_get_keycode,
+   gdk_key_event_get_keyval,
+   gdk_key_event_get_layout,
+   gdk_key_event_get_level,
+   gdk_key_event_get_match,
+   gdk_key_event_is_modifier,
+   gdk_key_event_matches;
+
+TYPE
+   GdkKeyEvent = ADDRESS;
+
+(* gdk_key_event_get_consumed_modifiers *)
+PROCEDURE gdk_key_event_get_consumed_modifiers (event: GdkKeyEvent) : [ CARDINAL ];
+(* gdk_key_event_get_keycode *)
+PROCEDURE gdk_key_event_get_keycode (event: GdkKeyEvent) : [ CARDINAL ];
+(* gdk_key_event_get_keyval *)
+PROCEDURE gdk_key_event_get_keyval (event: GdkKeyEvent) : [ CARDINAL ];
+(* gdk_key_event_get_layout *)
+PROCEDURE gdk_key_event_get_layout (event: GdkKeyEvent) : [ CARDINAL ];
+(* gdk_key_event_get_level *)
+PROCEDURE gdk_key_event_get_level (event: GdkKeyEvent) : [ CARDINAL ];
+(* gdk_key_event_get_match *)
+PROCEDURE gdk_key_event_get_match (event: GdkKeyEvent; VAR keyval: CARDINAL; VAR modifiers: CARDINAL) : [ INTEGER ];
+(* gdk_key_event_is_modifier *)
+PROCEDURE gdk_key_event_is_modifier (event: GdkKeyEvent) : [ INTEGER ];
+(* gdk_key_event_matches *)
+PROCEDURE gdk_key_event_matches (event: GdkKeyEvent; keyval: CARDINAL; modifiers: CARDINAL) : [ CARDINAL ];
+
+END GdkKeyEvent.

+ 17 - 0
src/GdkMemoryTexture.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GdkMemoryTexture ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkMemoryTexture,
+   gdk_memory_texture_new;
+
+TYPE
+   GdkMemoryTexture = ADDRESS;
+
+(* gdk_memory_texture_new *)
+PROCEDURE gdk_memory_texture_new (width: INTEGER; height: INTEGER; format: CARDINAL; bytes: ADDRESS; stride: LONGCARD) : [ ADDRESS ];
+
+END GdkMemoryTexture.

+ 68 - 0
src/GdkMemoryTextureBuilder.def

@@ -0,0 +1,68 @@
+DEFINITION MODULE FOR "C" GdkMemoryTextureBuilder ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkMemoryTextureBuilder,
+   gdk_memory_texture_builder_new,
+   gdk_memory_texture_builder_build,
+   gdk_memory_texture_builder_get_bytes,
+   gdk_memory_texture_builder_get_color_state,
+   gdk_memory_texture_builder_get_format,
+   gdk_memory_texture_builder_get_height,
+   gdk_memory_texture_builder_get_stride,
+   gdk_memory_texture_builder_get_update_region,
+   gdk_memory_texture_builder_get_update_texture,
+   gdk_memory_texture_builder_get_width,
+   gdk_memory_texture_builder_set_bytes,
+   gdk_memory_texture_builder_set_color_state,
+   gdk_memory_texture_builder_set_format,
+   gdk_memory_texture_builder_set_height,
+   gdk_memory_texture_builder_set_stride,
+   gdk_memory_texture_builder_set_update_region,
+   gdk_memory_texture_builder_set_update_texture,
+   gdk_memory_texture_builder_set_width;
+
+TYPE
+   GdkMemoryTextureBuilder = ADDRESS;
+
+(* gdk_memory_texture_builder_new *)
+PROCEDURE gdk_memory_texture_builder_new () : [ ADDRESS ];
+(* gdk_memory_texture_builder_build *)
+PROCEDURE gdk_memory_texture_builder_build (self: GdkMemoryTextureBuilder) : [ ADDRESS ];
+(* gdk_memory_texture_builder_get_bytes *)
+PROCEDURE gdk_memory_texture_builder_get_bytes (self: GdkMemoryTextureBuilder) : [ ADDRESS ];
+(* gdk_memory_texture_builder_get_color_state *)
+PROCEDURE gdk_memory_texture_builder_get_color_state (self: GdkMemoryTextureBuilder) : [ ADDRESS ];
+(* gdk_memory_texture_builder_get_format *)
+PROCEDURE gdk_memory_texture_builder_get_format (self: GdkMemoryTextureBuilder) : [ CARDINAL ];
+(* gdk_memory_texture_builder_get_height *)
+PROCEDURE gdk_memory_texture_builder_get_height (self: GdkMemoryTextureBuilder) : [ INTEGER ];
+(* gdk_memory_texture_builder_get_stride *)
+PROCEDURE gdk_memory_texture_builder_get_stride (self: GdkMemoryTextureBuilder) : [ LONGCARD ];
+(* gdk_memory_texture_builder_get_update_region *)
+PROCEDURE gdk_memory_texture_builder_get_update_region (self: GdkMemoryTextureBuilder) : [ ADDRESS ];
+(* gdk_memory_texture_builder_get_update_texture *)
+PROCEDURE gdk_memory_texture_builder_get_update_texture (self: GdkMemoryTextureBuilder) : [ ADDRESS ];
+(* gdk_memory_texture_builder_get_width *)
+PROCEDURE gdk_memory_texture_builder_get_width (self: GdkMemoryTextureBuilder) : [ INTEGER ];
+(* gdk_memory_texture_builder_set_bytes *)
+PROCEDURE gdk_memory_texture_builder_set_bytes (self: GdkMemoryTextureBuilder; bytes: ADDRESS);
+(* gdk_memory_texture_builder_set_color_state *)
+PROCEDURE gdk_memory_texture_builder_set_color_state (self: GdkMemoryTextureBuilder; color_state: ADDRESS);
+(* gdk_memory_texture_builder_set_format *)
+PROCEDURE gdk_memory_texture_builder_set_format (self: GdkMemoryTextureBuilder; format: CARDINAL);
+(* gdk_memory_texture_builder_set_height *)
+PROCEDURE gdk_memory_texture_builder_set_height (self: GdkMemoryTextureBuilder; height: INTEGER);
+(* gdk_memory_texture_builder_set_stride *)
+PROCEDURE gdk_memory_texture_builder_set_stride (self: GdkMemoryTextureBuilder; stride: LONGCARD);
+(* gdk_memory_texture_builder_set_update_region *)
+PROCEDURE gdk_memory_texture_builder_set_update_region (self: GdkMemoryTextureBuilder; region: ADDRESS);
+(* gdk_memory_texture_builder_set_update_texture *)
+PROCEDURE gdk_memory_texture_builder_set_update_texture (self: GdkMemoryTextureBuilder; texture: ADDRESS);
+(* gdk_memory_texture_builder_set_width *)
+PROCEDURE gdk_memory_texture_builder_set_width (self: GdkMemoryTextureBuilder; width: INTEGER);
+
+END GdkMemoryTextureBuilder.

+ 53 - 0
src/GdkMonitor.def

@@ -0,0 +1,53 @@
+DEFINITION MODULE FOR "C" GdkMonitor ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkMonitor,
+   gdk_monitor_get_connector,
+   gdk_monitor_get_description,
+   gdk_monitor_get_display,
+   gdk_monitor_get_geometry,
+   gdk_monitor_get_height_mm,
+   gdk_monitor_get_manufacturer,
+   gdk_monitor_get_model,
+   gdk_monitor_get_refresh_rate,
+   gdk_monitor_get_scale,
+   gdk_monitor_get_scale_factor,
+   gdk_monitor_get_subpixel_layout,
+   gdk_monitor_get_width_mm,
+   gdk_monitor_is_valid;
+
+TYPE
+   GdkMonitor = ADDRESS;
+
+(* gdk_monitor_get_connector *)
+PROCEDURE gdk_monitor_get_connector (monitor: GdkMonitor) : [ ADDRESS ];
+(* gdk_monitor_get_description *)
+PROCEDURE gdk_monitor_get_description (monitor: GdkMonitor) : [ ADDRESS ];
+(* gdk_monitor_get_display *)
+PROCEDURE gdk_monitor_get_display (monitor: GdkMonitor) : [ ADDRESS ];
+(* gdk_monitor_get_geometry *)
+PROCEDURE gdk_monitor_get_geometry (monitor: GdkMonitor; geometry: ADDRESS);
+(* gdk_monitor_get_height_mm *)
+PROCEDURE gdk_monitor_get_height_mm (monitor: GdkMonitor) : [ INTEGER ];
+(* gdk_monitor_get_manufacturer *)
+PROCEDURE gdk_monitor_get_manufacturer (monitor: GdkMonitor) : [ ADDRESS ];
+(* gdk_monitor_get_model *)
+PROCEDURE gdk_monitor_get_model (monitor: GdkMonitor) : [ ADDRESS ];
+(* gdk_monitor_get_refresh_rate *)
+PROCEDURE gdk_monitor_get_refresh_rate (monitor: GdkMonitor) : [ INTEGER ];
+(* gdk_monitor_get_scale *)
+PROCEDURE gdk_monitor_get_scale (monitor: GdkMonitor) : [ REAL ];
+(* gdk_monitor_get_scale_factor *)
+PROCEDURE gdk_monitor_get_scale_factor (monitor: GdkMonitor) : [ INTEGER ];
+(* gdk_monitor_get_subpixel_layout *)
+PROCEDURE gdk_monitor_get_subpixel_layout (monitor: GdkMonitor) : [ CARDINAL ];
+(* gdk_monitor_get_width_mm *)
+PROCEDURE gdk_monitor_get_width_mm (monitor: GdkMonitor) : [ INTEGER ];
+(* gdk_monitor_is_valid *)
+PROCEDURE gdk_monitor_is_valid (monitor: GdkMonitor) : [ INTEGER ];
+
+END GdkMonitor.

+ 23 - 0
src/GdkPadEvent.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GdkPadEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkPadEvent,
+   gdk_pad_event_get_axis_value,
+   gdk_pad_event_get_button,
+   gdk_pad_event_get_group_mode;
+
+TYPE
+   GdkPadEvent = ADDRESS;
+
+(* gdk_pad_event_get_axis_value *)
+PROCEDURE gdk_pad_event_get_axis_value (event: GdkPadEvent; VAR index: CARDINAL; VAR value: REAL);
+(* gdk_pad_event_get_button *)
+PROCEDURE gdk_pad_event_get_button (event: GdkPadEvent) : [ CARDINAL ];
+(* gdk_pad_event_get_group_mode *)
+PROCEDURE gdk_pad_event_get_group_mode (event: GdkPadEvent; VAR group: CARDINAL; VAR mode: CARDINAL);
+
+END GdkPadEvent.

+ 44 - 0
src/GdkPaintable.def

@@ -0,0 +1,44 @@
+DEFINITION MODULE FOR "C" GdkPaintable ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkPaintable,
+   gdk_paintable_new_empty,
+   gdk_paintable_compute_concrete_size,
+   gdk_paintable_get_current_image,
+   gdk_paintable_get_flags,
+   gdk_paintable_get_intrinsic_aspect_ratio,
+   gdk_paintable_get_intrinsic_height,
+   gdk_paintable_get_intrinsic_width,
+   gdk_paintable_invalidate_contents,
+   gdk_paintable_invalidate_size,
+   gdk_paintable_snapshot;
+
+TYPE
+   GdkPaintable = ADDRESS;
+
+(* gdk_paintable_new_empty *)
+PROCEDURE gdk_paintable_new_empty (intrinsic_width: INTEGER; intrinsic_height: INTEGER) : [ ADDRESS ];
+(* gdk_paintable_compute_concrete_size *)
+PROCEDURE gdk_paintable_compute_concrete_size (paintable: GdkPaintable; specified_width: REAL; specified_height: REAL; default_width: REAL; default_height: REAL; VAR concrete_width: REAL; VAR concrete_height: REAL);
+(* gdk_paintable_get_current_image *)
+PROCEDURE gdk_paintable_get_current_image (paintable: GdkPaintable) : [ ADDRESS ];
+(* gdk_paintable_get_flags *)
+PROCEDURE gdk_paintable_get_flags (paintable: GdkPaintable) : [ CARDINAL ];
+(* gdk_paintable_get_intrinsic_aspect_ratio *)
+PROCEDURE gdk_paintable_get_intrinsic_aspect_ratio (paintable: GdkPaintable) : [ REAL ];
+(* gdk_paintable_get_intrinsic_height *)
+PROCEDURE gdk_paintable_get_intrinsic_height (paintable: GdkPaintable) : [ INTEGER ];
+(* gdk_paintable_get_intrinsic_width *)
+PROCEDURE gdk_paintable_get_intrinsic_width (paintable: GdkPaintable) : [ INTEGER ];
+(* gdk_paintable_invalidate_contents *)
+PROCEDURE gdk_paintable_invalidate_contents (paintable: GdkPaintable);
+(* gdk_paintable_invalidate_size *)
+PROCEDURE gdk_paintable_invalidate_size (paintable: GdkPaintable);
+(* gdk_paintable_snapshot *)
+PROCEDURE gdk_paintable_snapshot (paintable: GdkPaintable; snapshot: ADDRESS; width: REAL; height: REAL);
+
+END GdkPaintable.

+ 35 - 0
src/GdkPopup.def

@@ -0,0 +1,35 @@
+DEFINITION MODULE FOR "C" GdkPopup ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkPopup,
+   gdk_popup_get_autohide,
+   gdk_popup_get_parent,
+   gdk_popup_get_position_x,
+   gdk_popup_get_position_y,
+   gdk_popup_get_rect_anchor,
+   gdk_popup_get_surface_anchor,
+   gdk_popup_present;
+
+TYPE
+   GdkPopup = ADDRESS;
+
+(* gdk_popup_get_autohide *)
+PROCEDURE gdk_popup_get_autohide (popup: GdkPopup) : [ INTEGER ];
+(* gdk_popup_get_parent *)
+PROCEDURE gdk_popup_get_parent (popup: GdkPopup) : [ ADDRESS ];
+(* gdk_popup_get_position_x *)
+PROCEDURE gdk_popup_get_position_x (popup: GdkPopup) : [ INTEGER ];
+(* gdk_popup_get_position_y *)
+PROCEDURE gdk_popup_get_position_y (popup: GdkPopup) : [ INTEGER ];
+(* gdk_popup_get_rect_anchor *)
+PROCEDURE gdk_popup_get_rect_anchor (popup: GdkPopup) : [ CARDINAL ];
+(* gdk_popup_get_surface_anchor *)
+PROCEDURE gdk_popup_get_surface_anchor (popup: GdkPopup) : [ CARDINAL ];
+(* gdk_popup_present *)
+PROCEDURE gdk_popup_present (popup: GdkPopup; width: INTEGER; height: INTEGER; layout: ADDRESS) : [ INTEGER ];
+
+END GdkPopup.

+ 65 - 0
src/GdkPopupLayout.def

@@ -0,0 +1,65 @@
+DEFINITION MODULE FOR "C" GdkPopupLayout ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkPopupLayout,
+   gdk_popup_layout_new,
+   gdk_popup_layout_copy,
+   gdk_popup_layout_equal,
+   gdk_popup_layout_get_anchor_hints,
+   gdk_popup_layout_get_anchor_rect,
+   gdk_popup_layout_get_offset,
+   gdk_popup_layout_get_rect_anchor,
+   gdk_popup_layout_get_shadow_width,
+   gdk_popup_layout_get_surface_anchor,
+   gdk_popup_layout_ref,
+   gdk_popup_layout_set_anchor_hints,
+   gdk_popup_layout_set_anchor_rect,
+   gdk_popup_layout_set_offset,
+   gdk_popup_layout_set_rect_anchor,
+   gdk_popup_layout_set_shadow_width,
+   gdk_popup_layout_set_surface_anchor,
+   gdk_popup_layout_unref;
+
+TYPE
+   GdkPopupLayout = ADDRESS;
+
+(* gdk_popup_layout_new *)
+PROCEDURE gdk_popup_layout_new (anchor_rect: ADDRESS; rect_anchor: CARDINAL; surface_anchor: CARDINAL) : [ ADDRESS ];
+(* gdk_popup_layout_copy *)
+PROCEDURE gdk_popup_layout_copy (layout: GdkPopupLayout) : [ ADDRESS ];
+(* gdk_popup_layout_equal *)
+PROCEDURE gdk_popup_layout_equal (layout: GdkPopupLayout; other: GdkPopupLayout) : [ INTEGER ];
+(* gdk_popup_layout_get_anchor_hints *)
+PROCEDURE gdk_popup_layout_get_anchor_hints (layout: GdkPopupLayout) : [ CARDINAL ];
+(* gdk_popup_layout_get_anchor_rect *)
+PROCEDURE gdk_popup_layout_get_anchor_rect (layout: GdkPopupLayout) : [ ADDRESS ];
+(* gdk_popup_layout_get_offset *)
+PROCEDURE gdk_popup_layout_get_offset (layout: GdkPopupLayout; VAR dx: INTEGER; VAR dy: INTEGER);
+(* gdk_popup_layout_get_rect_anchor *)
+PROCEDURE gdk_popup_layout_get_rect_anchor (layout: GdkPopupLayout) : [ CARDINAL ];
+(* gdk_popup_layout_get_shadow_width *)
+PROCEDURE gdk_popup_layout_get_shadow_width (layout: GdkPopupLayout; VAR left: INTEGER; VAR right: INTEGER; VAR top: INTEGER; VAR bottom: INTEGER);
+(* gdk_popup_layout_get_surface_anchor *)
+PROCEDURE gdk_popup_layout_get_surface_anchor (layout: GdkPopupLayout) : [ CARDINAL ];
+(* gdk_popup_layout_ref *)
+PROCEDURE gdk_popup_layout_ref (layout: GdkPopupLayout) : [ ADDRESS ];
+(* gdk_popup_layout_set_anchor_hints *)
+PROCEDURE gdk_popup_layout_set_anchor_hints (layout: GdkPopupLayout; anchor_hints: CARDINAL);
+(* gdk_popup_layout_set_anchor_rect *)
+PROCEDURE gdk_popup_layout_set_anchor_rect (layout: GdkPopupLayout; anchor_rect: ADDRESS);
+(* gdk_popup_layout_set_offset *)
+PROCEDURE gdk_popup_layout_set_offset (layout: GdkPopupLayout; dx: INTEGER; dy: INTEGER);
+(* gdk_popup_layout_set_rect_anchor *)
+PROCEDURE gdk_popup_layout_set_rect_anchor (layout: GdkPopupLayout; anchor: CARDINAL);
+(* gdk_popup_layout_set_shadow_width *)
+PROCEDURE gdk_popup_layout_set_shadow_width (layout: GdkPopupLayout; left: INTEGER; right: INTEGER; top: INTEGER; bottom: INTEGER);
+(* gdk_popup_layout_set_surface_anchor *)
+PROCEDURE gdk_popup_layout_set_surface_anchor (layout: GdkPopupLayout; anchor: CARDINAL);
+(* gdk_popup_layout_unref *)
+PROCEDURE gdk_popup_layout_unref (layout: GdkPopupLayout);
+
+END GdkPopupLayout.

+ 26 - 0
src/GdkRectangle.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GdkRectangle ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkRectangle,
+   gdk_rectangle_contains_point,
+   gdk_rectangle_equal,
+   gdk_rectangle_intersect,
+   gdk_rectangle_union;
+
+TYPE
+   GdkRectangle = ADDRESS;
+
+(* gdk_rectangle_contains_point *)
+PROCEDURE gdk_rectangle_contains_point (rect: GdkRectangle; x: INTEGER; y: INTEGER) : [ INTEGER ];
+(* gdk_rectangle_equal *)
+PROCEDURE gdk_rectangle_equal (rect1: GdkRectangle; rect2: GdkRectangle) : [ INTEGER ];
+(* gdk_rectangle_intersect *)
+PROCEDURE gdk_rectangle_intersect (src1: GdkRectangle; src2: GdkRectangle; dest: GdkRectangle) : [ INTEGER ];
+(* gdk_rectangle_union *)
+PROCEDURE gdk_rectangle_union (src1: GdkRectangle; src2: GdkRectangle; dest: GdkRectangle);
+
+END GdkRectangle.

+ 26 - 0
src/GdkScrollEvent.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GdkScrollEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkScrollEvent,
+   gdk_scroll_event_get_deltas,
+   gdk_scroll_event_get_direction,
+   gdk_scroll_event_get_unit,
+   gdk_scroll_event_is_stop;
+
+TYPE
+   GdkScrollEvent = ADDRESS;
+
+(* gdk_scroll_event_get_deltas *)
+PROCEDURE gdk_scroll_event_get_deltas (event: GdkScrollEvent; VAR delta_x: REAL; VAR delta_y: REAL);
+(* gdk_scroll_event_get_direction *)
+PROCEDURE gdk_scroll_event_get_direction (event: GdkScrollEvent) : [ CARDINAL ];
+(* gdk_scroll_event_get_unit *)
+PROCEDURE gdk_scroll_event_get_unit (event: GdkScrollEvent) : [ CARDINAL ];
+(* gdk_scroll_event_is_stop *)
+PROCEDURE gdk_scroll_event_is_stop (event: GdkScrollEvent) : [ INTEGER ];
+
+END GdkScrollEvent.

+ 32 - 0
src/GdkSeat.def

@@ -0,0 +1,32 @@
+DEFINITION MODULE FOR "C" GdkSeat ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkSeat,
+   gdk_seat_get_capabilities,
+   gdk_seat_get_devices,
+   gdk_seat_get_display,
+   gdk_seat_get_keyboard,
+   gdk_seat_get_pointer,
+   gdk_seat_get_tools;
+
+TYPE
+   GdkSeat = ADDRESS;
+
+(* gdk_seat_get_capabilities *)
+PROCEDURE gdk_seat_get_capabilities (seat: GdkSeat) : [ CARDINAL ];
+(* gdk_seat_get_devices *)
+PROCEDURE gdk_seat_get_devices (seat: GdkSeat; capabilities: CARDINAL) : [ ADDRESS ];
+(* gdk_seat_get_display *)
+PROCEDURE gdk_seat_get_display (seat: GdkSeat) : [ ADDRESS ];
+(* gdk_seat_get_keyboard *)
+PROCEDURE gdk_seat_get_keyboard (seat: GdkSeat) : [ ADDRESS ];
+(* gdk_seat_get_pointer *)
+PROCEDURE gdk_seat_get_pointer (seat: GdkSeat) : [ ADDRESS ];
+(* gdk_seat_get_tools *)
+PROCEDURE gdk_seat_get_tools (seat: GdkSeat) : [ ADDRESS ];
+
+END GdkSeat.

+ 95 - 0
src/GdkSurface.def

@@ -0,0 +1,95 @@
+DEFINITION MODULE FOR "C" GdkSurface ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkSurface,
+   gdk_surface_new_popup,
+   gdk_surface_new_toplevel,
+   gdk_surface_beep,
+   gdk_surface_create_cairo_context,
+   gdk_surface_create_gl_context,
+   gdk_surface_create_similar_surface,
+   gdk_surface_create_vulkan_context,
+   gdk_surface_destroy,
+   gdk_surface_get_cursor,
+   gdk_surface_get_device_cursor,
+   gdk_surface_get_device_position,
+   gdk_surface_get_display,
+   gdk_surface_get_frame_clock,
+   gdk_surface_get_height,
+   gdk_surface_get_mapped,
+   gdk_surface_get_scale,
+   gdk_surface_get_scale_factor,
+   gdk_surface_get_width,
+   gdk_surface_hide,
+   gdk_surface_is_destroyed,
+   gdk_surface_queue_render,
+   gdk_surface_request_layout,
+   gdk_surface_set_cursor,
+   gdk_surface_set_device_cursor,
+   gdk_surface_set_input_region,
+   gdk_surface_set_opaque_region,
+   gdk_surface_translate_coordinates;
+
+TYPE
+   GdkSurface = ADDRESS;
+
+(* gdk_surface_new_popup *)
+PROCEDURE gdk_surface_new_popup (parent: GdkSurface; autohide: INTEGER) : [ ADDRESS ];
+(* gdk_surface_new_toplevel *)
+PROCEDURE gdk_surface_new_toplevel (display: ADDRESS) : [ ADDRESS ];
+(* gdk_surface_beep *)
+PROCEDURE gdk_surface_beep (surface: GdkSurface);
+(* gdk_surface_create_cairo_context *)
+PROCEDURE gdk_surface_create_cairo_context (surface: GdkSurface) : [ ADDRESS ];
+(* gdk_surface_create_gl_context *)
+PROCEDURE gdk_surface_create_gl_context (surface: GdkSurface) : [ ADDRESS ];
+(* gdk_surface_create_similar_surface *)
+PROCEDURE gdk_surface_create_similar_surface (surface: GdkSurface; content: ADDRESS; width: INTEGER; height: INTEGER) : [ ADDRESS ];
+(* gdk_surface_create_vulkan_context *)
+PROCEDURE gdk_surface_create_vulkan_context (surface: GdkSurface) : [ ADDRESS ];
+(* gdk_surface_destroy *)
+PROCEDURE gdk_surface_destroy (surface: GdkSurface);
+(* gdk_surface_get_cursor *)
+PROCEDURE gdk_surface_get_cursor (surface: GdkSurface) : [ ADDRESS ];
+(* gdk_surface_get_device_cursor *)
+PROCEDURE gdk_surface_get_device_cursor (surface: GdkSurface; device: ADDRESS) : [ ADDRESS ];
+(* gdk_surface_get_device_position *)
+PROCEDURE gdk_surface_get_device_position (surface: GdkSurface; device: ADDRESS; VAR x: REAL; VAR y: REAL; VAR mask: CARDINAL) : [ INTEGER ];
+(* gdk_surface_get_display *)
+PROCEDURE gdk_surface_get_display (surface: GdkSurface) : [ ADDRESS ];
+(* gdk_surface_get_frame_clock *)
+PROCEDURE gdk_surface_get_frame_clock (surface: GdkSurface) : [ ADDRESS ];
+(* gdk_surface_get_height *)
+PROCEDURE gdk_surface_get_height (surface: GdkSurface) : [ INTEGER ];
+(* gdk_surface_get_mapped *)
+PROCEDURE gdk_surface_get_mapped (surface: GdkSurface) : [ INTEGER ];
+(* gdk_surface_get_scale *)
+PROCEDURE gdk_surface_get_scale (surface: GdkSurface) : [ REAL ];
+(* gdk_surface_get_scale_factor *)
+PROCEDURE gdk_surface_get_scale_factor (surface: GdkSurface) : [ INTEGER ];
+(* gdk_surface_get_width *)
+PROCEDURE gdk_surface_get_width (surface: GdkSurface) : [ INTEGER ];
+(* gdk_surface_hide *)
+PROCEDURE gdk_surface_hide (surface: GdkSurface);
+(* gdk_surface_is_destroyed *)
+PROCEDURE gdk_surface_is_destroyed (surface: GdkSurface) : [ INTEGER ];
+(* gdk_surface_queue_render *)
+PROCEDURE gdk_surface_queue_render (surface: GdkSurface);
+(* gdk_surface_request_layout *)
+PROCEDURE gdk_surface_request_layout (surface: GdkSurface);
+(* gdk_surface_set_cursor *)
+PROCEDURE gdk_surface_set_cursor (surface: GdkSurface; cursor: ADDRESS);
+(* gdk_surface_set_device_cursor *)
+PROCEDURE gdk_surface_set_device_cursor (surface: GdkSurface; device: ADDRESS; cursor: ADDRESS);
+(* gdk_surface_set_input_region *)
+PROCEDURE gdk_surface_set_input_region (surface: GdkSurface; region: ADDRESS);
+(* gdk_surface_set_opaque_region *)
+PROCEDURE gdk_surface_set_opaque_region (surface: GdkSurface; region: ADDRESS);
+(* gdk_surface_translate_coordinates *)
+PROCEDURE gdk_surface_translate_coordinates (from_: GdkSurface; to_: GdkSurface; VAR x: REAL; VAR y: REAL) : [ INTEGER ];
+
+END GdkSurface.

+ 47 - 0
src/GdkTextureDownloader.def

@@ -0,0 +1,47 @@
+DEFINITION MODULE FOR "C" GdkTextureDownloader ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkTextureDownloader,
+   gdk_texture_downloader_new,
+   gdk_texture_downloader_copy,
+   gdk_texture_downloader_download_bytes,
+   gdk_texture_downloader_download_into,
+   gdk_texture_downloader_free,
+   gdk_texture_downloader_get_color_state,
+   gdk_texture_downloader_get_format,
+   gdk_texture_downloader_get_texture,
+   gdk_texture_downloader_set_color_state,
+   gdk_texture_downloader_set_format,
+   gdk_texture_downloader_set_texture;
+
+TYPE
+   GdkTextureDownloader = ADDRESS;
+
+(* gdk_texture_downloader_new *)
+PROCEDURE gdk_texture_downloader_new (texture: ADDRESS) : [ ADDRESS ];
+(* gdk_texture_downloader_copy *)
+PROCEDURE gdk_texture_downloader_copy (self: GdkTextureDownloader) : [ ADDRESS ];
+(* gdk_texture_downloader_download_bytes *)
+PROCEDURE gdk_texture_downloader_download_bytes (self: GdkTextureDownloader; VAR out_stride: LONGCARD) : [ ADDRESS ];
+(* gdk_texture_downloader_download_into *)
+PROCEDURE gdk_texture_downloader_download_into (self: GdkTextureDownloader; data: ADDRESS; stride: LONGCARD);
+(* gdk_texture_downloader_free *)
+PROCEDURE gdk_texture_downloader_free (self: GdkTextureDownloader);
+(* gdk_texture_downloader_get_color_state *)
+PROCEDURE gdk_texture_downloader_get_color_state (self: GdkTextureDownloader) : [ ADDRESS ];
+(* gdk_texture_downloader_get_format *)
+PROCEDURE gdk_texture_downloader_get_format (self: GdkTextureDownloader) : [ CARDINAL ];
+(* gdk_texture_downloader_get_texture *)
+PROCEDURE gdk_texture_downloader_get_texture (self: GdkTextureDownloader) : [ ADDRESS ];
+(* gdk_texture_downloader_set_color_state *)
+PROCEDURE gdk_texture_downloader_set_color_state (self: GdkTextureDownloader; color_state: ADDRESS);
+(* gdk_texture_downloader_set_format *)
+PROCEDURE gdk_texture_downloader_set_format (self: GdkTextureDownloader; format: CARDINAL);
+(* gdk_texture_downloader_set_texture *)
+PROCEDURE gdk_texture_downloader_set_texture (self: GdkTextureDownloader; texture: ADDRESS);
+
+END GdkTextureDownloader.

+ 71 - 0
src/GdkToplevel.def

@@ -0,0 +1,71 @@
+DEFINITION MODULE FOR "C" GdkToplevel ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkToplevel,
+   gdk_toplevel_begin_move,
+   gdk_toplevel_begin_resize,
+   gdk_toplevel_focus,
+   gdk_toplevel_get_state,
+   gdk_toplevel_inhibit_system_shortcuts,
+   gdk_toplevel_lower,
+   gdk_toplevel_minimize,
+   gdk_toplevel_present,
+   gdk_toplevel_restore_system_shortcuts,
+   gdk_toplevel_set_decorated,
+   gdk_toplevel_set_deletable,
+   gdk_toplevel_set_icon_list,
+   gdk_toplevel_set_modal,
+   gdk_toplevel_set_startup_id,
+   gdk_toplevel_set_title,
+   gdk_toplevel_set_transient_for,
+   gdk_toplevel_show_window_menu,
+   gdk_toplevel_supports_edge_constraints,
+   gdk_toplevel_titlebar_gesture;
+
+TYPE
+   GdkToplevel = ADDRESS;
+
+(* gdk_toplevel_begin_move *)
+PROCEDURE gdk_toplevel_begin_move (toplevel: GdkToplevel; device: ADDRESS; button: INTEGER; x: REAL; y: REAL; timestamp: CARDINAL);
+(* gdk_toplevel_begin_resize *)
+PROCEDURE gdk_toplevel_begin_resize (toplevel: GdkToplevel; edge: CARDINAL; device: ADDRESS; button: INTEGER; x: REAL; y: REAL; timestamp: CARDINAL);
+(* gdk_toplevel_focus *)
+PROCEDURE gdk_toplevel_focus (toplevel: GdkToplevel; timestamp: CARDINAL);
+(* gdk_toplevel_get_state *)
+PROCEDURE gdk_toplevel_get_state (toplevel: GdkToplevel) : [ CARDINAL ];
+(* gdk_toplevel_inhibit_system_shortcuts *)
+PROCEDURE gdk_toplevel_inhibit_system_shortcuts (toplevel: GdkToplevel; event: ADDRESS);
+(* gdk_toplevel_lower *)
+PROCEDURE gdk_toplevel_lower (toplevel: GdkToplevel) : [ INTEGER ];
+(* gdk_toplevel_minimize *)
+PROCEDURE gdk_toplevel_minimize (toplevel: GdkToplevel) : [ INTEGER ];
+(* gdk_toplevel_present *)
+PROCEDURE gdk_toplevel_present (toplevel: GdkToplevel; layout: ADDRESS);
+(* gdk_toplevel_restore_system_shortcuts *)
+PROCEDURE gdk_toplevel_restore_system_shortcuts (toplevel: GdkToplevel);
+(* gdk_toplevel_set_decorated *)
+PROCEDURE gdk_toplevel_set_decorated (toplevel: GdkToplevel; decorated: INTEGER);
+(* gdk_toplevel_set_deletable *)
+PROCEDURE gdk_toplevel_set_deletable (toplevel: GdkToplevel; deletable: INTEGER);
+(* gdk_toplevel_set_icon_list *)
+PROCEDURE gdk_toplevel_set_icon_list (toplevel: GdkToplevel; surfaces: ADDRESS);
+(* gdk_toplevel_set_modal *)
+PROCEDURE gdk_toplevel_set_modal (toplevel: GdkToplevel; modal: INTEGER);
+(* gdk_toplevel_set_startup_id *)
+PROCEDURE gdk_toplevel_set_startup_id (toplevel: GdkToplevel; startup_id: ARRAY OF CHAR);
+(* gdk_toplevel_set_title *)
+PROCEDURE gdk_toplevel_set_title (toplevel: GdkToplevel; title: ARRAY OF CHAR);
+(* gdk_toplevel_set_transient_for *)
+PROCEDURE gdk_toplevel_set_transient_for (toplevel: GdkToplevel; parent: ADDRESS);
+(* gdk_toplevel_show_window_menu *)
+PROCEDURE gdk_toplevel_show_window_menu (toplevel: GdkToplevel; event: ADDRESS) : [ INTEGER ];
+(* gdk_toplevel_supports_edge_constraints *)
+PROCEDURE gdk_toplevel_supports_edge_constraints (toplevel: GdkToplevel) : [ INTEGER ];
+(* gdk_toplevel_titlebar_gesture *)
+PROCEDURE gdk_toplevel_titlebar_gesture (toplevel: GdkToplevel; gesture: CARDINAL) : [ INTEGER ];
+
+END GdkToplevel.

+ 50 - 0
src/GdkToplevelLayout.def

@@ -0,0 +1,50 @@
+DEFINITION MODULE FOR "C" GdkToplevelLayout ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkToplevelLayout,
+   gdk_toplevel_layout_new,
+   gdk_toplevel_layout_copy,
+   gdk_toplevel_layout_equal,
+   gdk_toplevel_layout_get_fullscreen,
+   gdk_toplevel_layout_get_fullscreen_monitor,
+   gdk_toplevel_layout_get_maximized,
+   gdk_toplevel_layout_get_resizable,
+   gdk_toplevel_layout_ref,
+   gdk_toplevel_layout_set_fullscreen,
+   gdk_toplevel_layout_set_maximized,
+   gdk_toplevel_layout_set_resizable,
+   gdk_toplevel_layout_unref;
+
+TYPE
+   GdkToplevelLayout = ADDRESS;
+
+(* gdk_toplevel_layout_new *)
+PROCEDURE gdk_toplevel_layout_new () : [ ADDRESS ];
+(* gdk_toplevel_layout_copy *)
+PROCEDURE gdk_toplevel_layout_copy (layout: GdkToplevelLayout) : [ ADDRESS ];
+(* gdk_toplevel_layout_equal *)
+PROCEDURE gdk_toplevel_layout_equal (layout: GdkToplevelLayout; other: GdkToplevelLayout) : [ INTEGER ];
+(* gdk_toplevel_layout_get_fullscreen *)
+PROCEDURE gdk_toplevel_layout_get_fullscreen (layout: GdkToplevelLayout; VAR fullscreen: INTEGER) : [ INTEGER ];
+(* gdk_toplevel_layout_get_fullscreen_monitor *)
+PROCEDURE gdk_toplevel_layout_get_fullscreen_monitor (layout: GdkToplevelLayout) : [ ADDRESS ];
+(* gdk_toplevel_layout_get_maximized *)
+PROCEDURE gdk_toplevel_layout_get_maximized (layout: GdkToplevelLayout; VAR maximized: INTEGER) : [ INTEGER ];
+(* gdk_toplevel_layout_get_resizable *)
+PROCEDURE gdk_toplevel_layout_get_resizable (layout: GdkToplevelLayout) : [ INTEGER ];
+(* gdk_toplevel_layout_ref *)
+PROCEDURE gdk_toplevel_layout_ref (layout: GdkToplevelLayout) : [ ADDRESS ];
+(* gdk_toplevel_layout_set_fullscreen *)
+PROCEDURE gdk_toplevel_layout_set_fullscreen (layout: GdkToplevelLayout; fullscreen: INTEGER; monitor: ADDRESS);
+(* gdk_toplevel_layout_set_maximized *)
+PROCEDURE gdk_toplevel_layout_set_maximized (layout: GdkToplevelLayout; maximized: INTEGER);
+(* gdk_toplevel_layout_set_resizable *)
+PROCEDURE gdk_toplevel_layout_set_resizable (layout: GdkToplevelLayout; resizable: INTEGER);
+(* gdk_toplevel_layout_unref *)
+PROCEDURE gdk_toplevel_layout_unref (layout: GdkToplevelLayout);
+
+END GdkToplevelLayout.

+ 26 - 0
src/GdkToplevelSize.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GdkToplevelSize ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkToplevelSize,
+   gdk_toplevel_size_get_bounds,
+   gdk_toplevel_size_set_min_size,
+   gdk_toplevel_size_set_shadow_width,
+   gdk_toplevel_size_set_size;
+
+TYPE
+   GdkToplevelSize = ADDRESS;
+
+(* gdk_toplevel_size_get_bounds *)
+PROCEDURE gdk_toplevel_size_get_bounds (size: GdkToplevelSize; VAR bounds_width: INTEGER; VAR bounds_height: INTEGER);
+(* gdk_toplevel_size_set_min_size *)
+PROCEDURE gdk_toplevel_size_set_min_size (size: GdkToplevelSize; min_width: INTEGER; min_height: INTEGER);
+(* gdk_toplevel_size_set_shadow_width *)
+PROCEDURE gdk_toplevel_size_set_shadow_width (size: GdkToplevelSize; left: INTEGER; right: INTEGER; top: INTEGER; bottom: INTEGER);
+(* gdk_toplevel_size_set_size *)
+PROCEDURE gdk_toplevel_size_set_size (size: GdkToplevelSize; width: INTEGER; height: INTEGER);
+
+END GdkToplevelSize.

+ 17 - 0
src/GdkTouchEvent.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GdkTouchEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkTouchEvent,
+   gdk_touch_event_get_emulating_pointer;
+
+TYPE
+   GdkTouchEvent = ADDRESS;
+
+(* gdk_touch_event_get_emulating_pointer *)
+PROCEDURE gdk_touch_event_get_emulating_pointer (event: GdkTouchEvent) : [ INTEGER ];
+
+END GdkTouchEvent.

+ 29 - 0
src/GdkTouchpadEvent.def

@@ -0,0 +1,29 @@
+DEFINITION MODULE FOR "C" GdkTouchpadEvent ;
+
+(* Generated by tools/gir2def.py from Gdk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GdkTouchpadEvent,
+   gdk_touchpad_event_get_deltas,
+   gdk_touchpad_event_get_gesture_phase,
+   gdk_touchpad_event_get_n_fingers,
+   gdk_touchpad_event_get_pinch_angle_delta,
+   gdk_touchpad_event_get_pinch_scale;
+
+TYPE
+   GdkTouchpadEvent = ADDRESS;
+
+(* gdk_touchpad_event_get_deltas *)
+PROCEDURE gdk_touchpad_event_get_deltas (event: GdkTouchpadEvent; VAR dx: REAL; VAR dy: REAL);
+(* gdk_touchpad_event_get_gesture_phase *)
+PROCEDURE gdk_touchpad_event_get_gesture_phase (event: GdkTouchpadEvent) : [ CARDINAL ];
+(* gdk_touchpad_event_get_n_fingers *)
+PROCEDURE gdk_touchpad_event_get_n_fingers (event: GdkTouchpadEvent) : [ CARDINAL ];
+(* gdk_touchpad_event_get_pinch_angle_delta *)
+PROCEDURE gdk_touchpad_event_get_pinch_angle_delta (event: GdkTouchpadEvent) : [ REAL ];
+(* gdk_touchpad_event_get_pinch_scale *)
+PROCEDURE gdk_touchpad_event_get_pinch_scale (event: GdkTouchpadEvent) : [ REAL ];
+
+END GdkTouchpadEvent.

+ 26 - 0
src/GskBlendNode.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GskBlendNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskBlendNode,
+   gsk_blend_node_new,
+   gsk_blend_node_get_blend_mode,
+   gsk_blend_node_get_bottom_child,
+   gsk_blend_node_get_top_child;
+
+TYPE
+   GskBlendNode = ADDRESS;
+
+(* gsk_blend_node_new *)
+PROCEDURE gsk_blend_node_new (bottom: ADDRESS; top: ADDRESS; blend_mode: CARDINAL) : [ ADDRESS ];
+(* gsk_blend_node_get_blend_mode *)
+PROCEDURE gsk_blend_node_get_blend_mode (node: GskBlendNode) : [ CARDINAL ];
+(* gsk_blend_node_get_bottom_child *)
+PROCEDURE gsk_blend_node_get_bottom_child (node: GskBlendNode) : [ ADDRESS ];
+(* gsk_blend_node_get_top_child *)
+PROCEDURE gsk_blend_node_get_top_child (node: GskBlendNode) : [ ADDRESS ];
+
+END GskBlendNode.

+ 23 - 0
src/GskBlurNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskBlurNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskBlurNode,
+   gsk_blur_node_new,
+   gsk_blur_node_get_child,
+   gsk_blur_node_get_radius;
+
+TYPE
+   GskBlurNode = ADDRESS;
+
+(* gsk_blur_node_new *)
+PROCEDURE gsk_blur_node_new (child: ADDRESS; radius: SHORTREAL) : [ ADDRESS ];
+(* gsk_blur_node_get_child *)
+PROCEDURE gsk_blur_node_get_child (node: GskBlurNode) : [ ADDRESS ];
+(* gsk_blur_node_get_radius *)
+PROCEDURE gsk_blur_node_get_radius (node: GskBlurNode) : [ SHORTREAL ];
+
+END GskBlurNode.

+ 26 - 0
src/GskBorderNode.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GskBorderNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskBorderNode,
+   gsk_border_node_new,
+   gsk_border_node_get_colors,
+   gsk_border_node_get_outline,
+   gsk_border_node_get_widths;
+
+TYPE
+   GskBorderNode = ADDRESS;
+
+(* gsk_border_node_new *)
+PROCEDURE gsk_border_node_new (outline: ADDRESS; border_width: ADDRESS; border_color: ADDRESS) : [ ADDRESS ];
+(* gsk_border_node_get_colors *)
+PROCEDURE gsk_border_node_get_colors (node: GskBorderNode);
+(* gsk_border_node_get_outline *)
+PROCEDURE gsk_border_node_get_outline (node: GskBorderNode) : [ ADDRESS ];
+(* gsk_border_node_get_widths *)
+PROCEDURE gsk_border_node_get_widths (node: GskBorderNode);
+
+END GskBorderNode.

+ 17 - 0
src/GskBroadwayRenderer.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GskBroadwayRenderer ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskBroadwayRenderer,
+   gsk_broadway_renderer_new;
+
+TYPE
+   GskBroadwayRenderer = ADDRESS;
+
+(* gsk_broadway_renderer_new *)
+PROCEDURE gsk_broadway_renderer_new () : [ ADDRESS ];
+
+END GskBroadwayRenderer.

+ 23 - 0
src/GskCairoNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskCairoNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskCairoNode,
+   gsk_cairo_node_new,
+   gsk_cairo_node_get_draw_context,
+   gsk_cairo_node_get_surface;
+
+TYPE
+   GskCairoNode = ADDRESS;
+
+(* gsk_cairo_node_new *)
+PROCEDURE gsk_cairo_node_new (bounds: ADDRESS) : [ ADDRESS ];
+(* gsk_cairo_node_get_draw_context *)
+PROCEDURE gsk_cairo_node_get_draw_context (node: GskCairoNode) : [ ADDRESS ];
+(* gsk_cairo_node_get_surface *)
+PROCEDURE gsk_cairo_node_get_surface (node: GskCairoNode) : [ ADDRESS ];
+
+END GskCairoNode.

+ 17 - 0
src/GskCairoRenderer.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GskCairoRenderer ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskCairoRenderer,
+   gsk_cairo_renderer_new;
+
+TYPE
+   GskCairoRenderer = ADDRESS;
+
+(* gsk_cairo_renderer_new *)
+PROCEDURE gsk_cairo_renderer_new () : [ ADDRESS ];
+
+END GskCairoRenderer.

+ 23 - 0
src/GskClipNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskClipNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskClipNode,
+   gsk_clip_node_new,
+   gsk_clip_node_get_child,
+   gsk_clip_node_get_clip;
+
+TYPE
+   GskClipNode = ADDRESS;
+
+(* gsk_clip_node_new *)
+PROCEDURE gsk_clip_node_new (child: ADDRESS; clip: ADDRESS) : [ ADDRESS ];
+(* gsk_clip_node_get_child *)
+PROCEDURE gsk_clip_node_get_child (node: GskClipNode) : [ ADDRESS ];
+(* gsk_clip_node_get_clip *)
+PROCEDURE gsk_clip_node_get_clip (node: GskClipNode) : [ ADDRESS ];
+
+END GskClipNode.

+ 26 - 0
src/GskColorMatrixNode.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GskColorMatrixNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskColorMatrixNode,
+   gsk_color_matrix_node_new,
+   gsk_color_matrix_node_get_child,
+   gsk_color_matrix_node_get_color_matrix,
+   gsk_color_matrix_node_get_color_offset;
+
+TYPE
+   GskColorMatrixNode = ADDRESS;
+
+(* gsk_color_matrix_node_new *)
+PROCEDURE gsk_color_matrix_node_new (child: ADDRESS; color_matrix: ADDRESS; color_offset: ADDRESS) : [ ADDRESS ];
+(* gsk_color_matrix_node_get_child *)
+PROCEDURE gsk_color_matrix_node_get_child (node: GskColorMatrixNode) : [ ADDRESS ];
+(* gsk_color_matrix_node_get_color_matrix *)
+PROCEDURE gsk_color_matrix_node_get_color_matrix (node: GskColorMatrixNode) : [ ADDRESS ];
+(* gsk_color_matrix_node_get_color_offset *)
+PROCEDURE gsk_color_matrix_node_get_color_offset (node: GskColorMatrixNode) : [ ADDRESS ];
+
+END GskColorMatrixNode.

+ 20 - 0
src/GskColorNode.def

@@ -0,0 +1,20 @@
+DEFINITION MODULE FOR "C" GskColorNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskColorNode,
+   gsk_color_node_new,
+   gsk_color_node_get_color;
+
+TYPE
+   GskColorNode = ADDRESS;
+
+(* gsk_color_node_new *)
+PROCEDURE gsk_color_node_new (rgba: ADDRESS; bounds: ADDRESS) : [ ADDRESS ];
+(* gsk_color_node_get_color *)
+PROCEDURE gsk_color_node_get_color (node: GskColorNode) : [ ADDRESS ];
+
+END GskColorNode.

+ 32 - 0
src/GskConicGradientNode.def

@@ -0,0 +1,32 @@
+DEFINITION MODULE FOR "C" GskConicGradientNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskConicGradientNode,
+   gsk_conic_gradient_node_new,
+   gsk_conic_gradient_node_get_angle,
+   gsk_conic_gradient_node_get_center,
+   gsk_conic_gradient_node_get_color_stops,
+   gsk_conic_gradient_node_get_n_color_stops,
+   gsk_conic_gradient_node_get_rotation;
+
+TYPE
+   GskConicGradientNode = ADDRESS;
+
+(* gsk_conic_gradient_node_new *)
+PROCEDURE gsk_conic_gradient_node_new (bounds: ADDRESS; center: ADDRESS; rotation: SHORTREAL; color_stops: ADDRESS) : [ ADDRESS ];
+(* gsk_conic_gradient_node_get_angle *)
+PROCEDURE gsk_conic_gradient_node_get_angle (node: GskConicGradientNode) : [ SHORTREAL ];
+(* gsk_conic_gradient_node_get_center *)
+PROCEDURE gsk_conic_gradient_node_get_center (node: GskConicGradientNode) : [ ADDRESS ];
+(* gsk_conic_gradient_node_get_color_stops *)
+PROCEDURE gsk_conic_gradient_node_get_color_stops (node: GskConicGradientNode; VAR n_stops: LONGCARD);
+(* gsk_conic_gradient_node_get_n_color_stops *)
+PROCEDURE gsk_conic_gradient_node_get_n_color_stops (node: GskConicGradientNode) : [ LONGCARD ];
+(* gsk_conic_gradient_node_get_rotation *)
+PROCEDURE gsk_conic_gradient_node_get_rotation (node: GskConicGradientNode) : [ SHORTREAL ];
+
+END GskConicGradientNode.

+ 23 - 0
src/GskContainerNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskContainerNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskContainerNode,
+   gsk_container_node_new,
+   gsk_container_node_get_child,
+   gsk_container_node_get_n_children;
+
+TYPE
+   GskContainerNode = ADDRESS;
+
+(* gsk_container_node_new *)
+PROCEDURE gsk_container_node_new (children: ADDRESS) : [ ADDRESS ];
+(* gsk_container_node_get_child *)
+PROCEDURE gsk_container_node_get_child (node: GskContainerNode; idx: CARDINAL) : [ ADDRESS ];
+(* gsk_container_node_get_n_children *)
+PROCEDURE gsk_container_node_get_n_children (node: GskContainerNode) : [ CARDINAL ];
+
+END GskContainerNode.

+ 26 - 0
src/GskCrossFadeNode.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GskCrossFadeNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskCrossFadeNode,
+   gsk_cross_fade_node_new,
+   gsk_cross_fade_node_get_end_child,
+   gsk_cross_fade_node_get_progress,
+   gsk_cross_fade_node_get_start_child;
+
+TYPE
+   GskCrossFadeNode = ADDRESS;
+
+(* gsk_cross_fade_node_new *)
+PROCEDURE gsk_cross_fade_node_new (start: ADDRESS; end_: ADDRESS; progress: SHORTREAL) : [ ADDRESS ];
+(* gsk_cross_fade_node_get_end_child *)
+PROCEDURE gsk_cross_fade_node_get_end_child (node: GskCrossFadeNode) : [ ADDRESS ];
+(* gsk_cross_fade_node_get_progress *)
+PROCEDURE gsk_cross_fade_node_get_progress (node: GskCrossFadeNode) : [ SHORTREAL ];
+(* gsk_cross_fade_node_get_start_child *)
+PROCEDURE gsk_cross_fade_node_get_start_child (node: GskCrossFadeNode) : [ ADDRESS ];
+
+END GskCrossFadeNode.

+ 23 - 0
src/GskDebugNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskDebugNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskDebugNode,
+   gsk_debug_node_new,
+   gsk_debug_node_get_child,
+   gsk_debug_node_get_message;
+
+TYPE
+   GskDebugNode = ADDRESS;
+
+(* gsk_debug_node_new *)
+PROCEDURE gsk_debug_node_new (child: ADDRESS; message: ARRAY OF CHAR) : [ ADDRESS ];
+(* gsk_debug_node_get_child *)
+PROCEDURE gsk_debug_node_get_child (node: GskDebugNode) : [ ADDRESS ];
+(* gsk_debug_node_get_message *)
+PROCEDURE gsk_debug_node_get_message (node: GskDebugNode) : [ ADDRESS ];
+
+END GskDebugNode.

+ 205 - 0
src/GskEnums.def

@@ -0,0 +1,205 @@
+DEFINITION MODULE FOR "C" GskEnums ;
+
+(* Generated by tools/gir2def.py: enumerations and bitfields. *)
+
+EXPORT UNQUALIFIED
+   GSK_BLEND_MODE_DEFAULT,
+   GSK_BLEND_MODE_MULTIPLY,
+   GSK_BLEND_MODE_SCREEN,
+   GSK_BLEND_MODE_OVERLAY,
+   GSK_BLEND_MODE_DARKEN,
+   GSK_BLEND_MODE_LIGHTEN,
+   GSK_BLEND_MODE_COLOR_DODGE,
+   GSK_BLEND_MODE_COLOR_BURN,
+   GSK_BLEND_MODE_HARD_LIGHT,
+   GSK_BLEND_MODE_SOFT_LIGHT,
+   GSK_BLEND_MODE_DIFFERENCE,
+   GSK_BLEND_MODE_EXCLUSION,
+   GSK_BLEND_MODE_COLOR,
+   GSK_BLEND_MODE_HUE,
+   GSK_BLEND_MODE_SATURATION,
+   GSK_BLEND_MODE_LUMINOSITY,
+   GSK_CORNER_TOP_LEFT,
+   GSK_CORNER_TOP_RIGHT,
+   GSK_CORNER_BOTTOM_RIGHT,
+   GSK_CORNER_BOTTOM_LEFT,
+   GSK_FILL_RULE_WINDING,
+   GSK_FILL_RULE_EVEN_ODD,
+   GSK_GL_UNIFORM_TYPE_NONE,
+   GSK_GL_UNIFORM_TYPE_FLOAT,
+   GSK_GL_UNIFORM_TYPE_INT,
+   GSK_GL_UNIFORM_TYPE_UINT,
+   GSK_GL_UNIFORM_TYPE_BOOL,
+   GSK_GL_UNIFORM_TYPE_VEC2,
+   GSK_GL_UNIFORM_TYPE_VEC3,
+   GSK_GL_UNIFORM_TYPE_VEC4,
+   GSK_LINE_CAP_BUTT,
+   GSK_LINE_CAP_ROUND,
+   GSK_LINE_CAP_SQUARE,
+   GSK_LINE_JOIN_MITER,
+   GSK_LINE_JOIN_ROUND,
+   GSK_LINE_JOIN_BEVEL,
+   GSK_MASK_MODE_ALPHA,
+   GSK_MASK_MODE_INVERTED_ALPHA,
+   GSK_MASK_MODE_LUMINANCE,
+   GSK_MASK_MODE_INVERTED_LUMINANCE,
+   GSK_PATH_FROM_START,
+   GSK_PATH_TO_START,
+   GSK_PATH_TO_END,
+   GSK_PATH_FROM_END,
+   GSK_PATH_FOREACH_ALLOW_ONLY_LINES,
+   GSK_PATH_FOREACH_ALLOW_QUAD,
+   GSK_PATH_FOREACH_ALLOW_CUBIC,
+   GSK_PATH_FOREACH_ALLOW_CONIC,
+   GSK_PATH_MOVE,
+   GSK_PATH_CLOSE,
+   GSK_PATH_LINE,
+   GSK_PATH_QUAD,
+   GSK_PATH_CUBIC,
+   GSK_PATH_CONIC,
+   GSK_NOT_A_RENDER_NODE,
+   GSK_CONTAINER_NODE,
+   GSK_CAIRO_NODE,
+   GSK_COLOR_NODE,
+   GSK_LINEAR_GRADIENT_NODE,
+   GSK_REPEATING_LINEAR_GRADIENT_NODE,
+   GSK_RADIAL_GRADIENT_NODE,
+   GSK_REPEATING_RADIAL_GRADIENT_NODE,
+   GSK_CONIC_GRADIENT_NODE,
+   GSK_BORDER_NODE,
+   GSK_TEXTURE_NODE,
+   GSK_INSET_SHADOW_NODE,
+   GSK_OUTSET_SHADOW_NODE,
+   GSK_TRANSFORM_NODE,
+   GSK_OPACITY_NODE,
+   GSK_COLOR_MATRIX_NODE,
+   GSK_REPEAT_NODE,
+   GSK_CLIP_NODE,
+   GSK_ROUNDED_CLIP_NODE,
+   GSK_SHADOW_NODE,
+   GSK_BLEND_NODE,
+   GSK_CROSS_FADE_NODE,
+   GSK_TEXT_NODE,
+   GSK_BLUR_NODE,
+   GSK_DEBUG_NODE,
+   GSK_GL_SHADER_NODE,
+   GSK_TEXTURE_SCALE_NODE,
+   GSK_MASK_NODE,
+   GSK_FILL_NODE,
+   GSK_STROKE_NODE,
+   GSK_SUBSURFACE_NODE,
+   GSK_SCALING_FILTER_LINEAR,
+   GSK_SCALING_FILTER_NEAREST,
+   GSK_SCALING_FILTER_TRILINEAR,
+   GSK_SERIALIZATION_UNSUPPORTED_FORMAT,
+   GSK_SERIALIZATION_UNSUPPORTED_VERSION,
+   GSK_SERIALIZATION_INVALID_DATA,
+   GSK_TRANSFORM_CATEGORY_UNKNOWN,
+   GSK_TRANSFORM_CATEGORY_ANY,
+   GSK_TRANSFORM_CATEGORY_3D,
+   GSK_TRANSFORM_CATEGORY_2D,
+   GSK_TRANSFORM_CATEGORY_2D_AFFINE,
+   GSK_TRANSFORM_CATEGORY_2D_TRANSLATE,
+   GSK_TRANSFORM_CATEGORY_IDENTITY;
+
+CONST
+   GSK_BLEND_MODE_DEFAULT = 0;
+   GSK_BLEND_MODE_MULTIPLY = 1;
+   GSK_BLEND_MODE_SCREEN = 2;
+   GSK_BLEND_MODE_OVERLAY = 3;
+   GSK_BLEND_MODE_DARKEN = 4;
+   GSK_BLEND_MODE_LIGHTEN = 5;
+   GSK_BLEND_MODE_COLOR_DODGE = 6;
+   GSK_BLEND_MODE_COLOR_BURN = 7;
+   GSK_BLEND_MODE_HARD_LIGHT = 8;
+   GSK_BLEND_MODE_SOFT_LIGHT = 9;
+   GSK_BLEND_MODE_DIFFERENCE = 10;
+   GSK_BLEND_MODE_EXCLUSION = 11;
+   GSK_BLEND_MODE_COLOR = 12;
+   GSK_BLEND_MODE_HUE = 13;
+   GSK_BLEND_MODE_SATURATION = 14;
+   GSK_BLEND_MODE_LUMINOSITY = 15;
+   GSK_CORNER_TOP_LEFT = 0;
+   GSK_CORNER_TOP_RIGHT = 1;
+   GSK_CORNER_BOTTOM_RIGHT = 2;
+   GSK_CORNER_BOTTOM_LEFT = 3;
+   GSK_FILL_RULE_WINDING = 0;
+   GSK_FILL_RULE_EVEN_ODD = 1;
+   GSK_GL_UNIFORM_TYPE_NONE = 0;
+   GSK_GL_UNIFORM_TYPE_FLOAT = 1;
+   GSK_GL_UNIFORM_TYPE_INT = 2;
+   GSK_GL_UNIFORM_TYPE_UINT = 3;
+   GSK_GL_UNIFORM_TYPE_BOOL = 4;
+   GSK_GL_UNIFORM_TYPE_VEC2 = 5;
+   GSK_GL_UNIFORM_TYPE_VEC3 = 6;
+   GSK_GL_UNIFORM_TYPE_VEC4 = 7;
+   GSK_LINE_CAP_BUTT = 0;
+   GSK_LINE_CAP_ROUND = 1;
+   GSK_LINE_CAP_SQUARE = 2;
+   GSK_LINE_JOIN_MITER = 0;
+   GSK_LINE_JOIN_ROUND = 1;
+   GSK_LINE_JOIN_BEVEL = 2;
+   GSK_MASK_MODE_ALPHA = 0;
+   GSK_MASK_MODE_INVERTED_ALPHA = 1;
+   GSK_MASK_MODE_LUMINANCE = 2;
+   GSK_MASK_MODE_INVERTED_LUMINANCE = 3;
+   GSK_PATH_FROM_START = 0;
+   GSK_PATH_TO_START = 1;
+   GSK_PATH_TO_END = 2;
+   GSK_PATH_FROM_END = 3;
+   GSK_PATH_FOREACH_ALLOW_ONLY_LINES = 0;
+   GSK_PATH_FOREACH_ALLOW_QUAD = 1;
+   GSK_PATH_FOREACH_ALLOW_CUBIC = 2;
+   GSK_PATH_FOREACH_ALLOW_CONIC = 4;
+   GSK_PATH_MOVE = 0;
+   GSK_PATH_CLOSE = 1;
+   GSK_PATH_LINE = 2;
+   GSK_PATH_QUAD = 3;
+   GSK_PATH_CUBIC = 4;
+   GSK_PATH_CONIC = 5;
+   GSK_NOT_A_RENDER_NODE = 0;
+   GSK_CONTAINER_NODE = 1;
+   GSK_CAIRO_NODE = 2;
+   GSK_COLOR_NODE = 3;
+   GSK_LINEAR_GRADIENT_NODE = 4;
+   GSK_REPEATING_LINEAR_GRADIENT_NODE = 5;
+   GSK_RADIAL_GRADIENT_NODE = 6;
+   GSK_REPEATING_RADIAL_GRADIENT_NODE = 7;
+   GSK_CONIC_GRADIENT_NODE = 8;
+   GSK_BORDER_NODE = 9;
+   GSK_TEXTURE_NODE = 10;
+   GSK_INSET_SHADOW_NODE = 11;
+   GSK_OUTSET_SHADOW_NODE = 12;
+   GSK_TRANSFORM_NODE = 13;
+   GSK_OPACITY_NODE = 14;
+   GSK_COLOR_MATRIX_NODE = 15;
+   GSK_REPEAT_NODE = 16;
+   GSK_CLIP_NODE = 17;
+   GSK_ROUNDED_CLIP_NODE = 18;
+   GSK_SHADOW_NODE = 19;
+   GSK_BLEND_NODE = 20;
+   GSK_CROSS_FADE_NODE = 21;
+   GSK_TEXT_NODE = 22;
+   GSK_BLUR_NODE = 23;
+   GSK_DEBUG_NODE = 24;
+   GSK_GL_SHADER_NODE = 25;
+   GSK_TEXTURE_SCALE_NODE = 26;
+   GSK_MASK_NODE = 27;
+   GSK_FILL_NODE = 28;
+   GSK_STROKE_NODE = 29;
+   GSK_SUBSURFACE_NODE = 30;
+   GSK_SCALING_FILTER_LINEAR = 0;
+   GSK_SCALING_FILTER_NEAREST = 1;
+   GSK_SCALING_FILTER_TRILINEAR = 2;
+   GSK_SERIALIZATION_UNSUPPORTED_FORMAT = 0;
+   GSK_SERIALIZATION_UNSUPPORTED_VERSION = 1;
+   GSK_SERIALIZATION_INVALID_DATA = 2;
+   GSK_TRANSFORM_CATEGORY_UNKNOWN = 0;
+   GSK_TRANSFORM_CATEGORY_ANY = 1;
+   GSK_TRANSFORM_CATEGORY_3D = 2;
+   GSK_TRANSFORM_CATEGORY_2D = 3;
+   GSK_TRANSFORM_CATEGORY_2D_AFFINE = 4;
+   GSK_TRANSFORM_CATEGORY_2D_TRANSLATE = 5;
+   GSK_TRANSFORM_CATEGORY_IDENTITY = 6;
+
+END GskEnums.

+ 26 - 0
src/GskFillNode.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GskFillNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskFillNode,
+   gsk_fill_node_new,
+   gsk_fill_node_get_child,
+   gsk_fill_node_get_fill_rule,
+   gsk_fill_node_get_path;
+
+TYPE
+   GskFillNode = ADDRESS;
+
+(* gsk_fill_node_new *)
+PROCEDURE gsk_fill_node_new (child: ADDRESS; path: ADDRESS; fill_rule: CARDINAL) : [ ADDRESS ];
+(* gsk_fill_node_get_child *)
+PROCEDURE gsk_fill_node_get_child (node: GskFillNode) : [ ADDRESS ];
+(* gsk_fill_node_get_fill_rule *)
+PROCEDURE gsk_fill_node_get_fill_rule (node: GskFillNode) : [ CARDINAL ];
+(* gsk_fill_node_get_path *)
+PROCEDURE gsk_fill_node_get_path (node: GskFillNode) : [ ADDRESS ];
+
+END GskFillNode.

+ 22 - 0
src/GskFunctions.def

@@ -0,0 +1,22 @@
+DEFINITION MODULE FOR "C" GskFunctions ;
+
+(* Generated by tools/gir2def.py: namespace-level functions. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   gsk_value_dup_render_node,
+   gsk_value_get_render_node,
+   gsk_value_set_render_node,
+   gsk_value_take_render_node;
+
+(* gsk_value_dup_render_node *)
+PROCEDURE gsk_value_dup_render_node (value: ADDRESS) : [ ADDRESS ];
+(* gsk_value_get_render_node *)
+PROCEDURE gsk_value_get_render_node (value: ADDRESS) : [ ADDRESS ];
+(* gsk_value_set_render_node *)
+PROCEDURE gsk_value_set_render_node (value: ADDRESS; node: ADDRESS);
+(* gsk_value_take_render_node *)
+PROCEDURE gsk_value_take_render_node (value: ADDRESS; node: ADDRESS);
+
+END GskFunctions.

+ 17 - 0
src/GskGLRenderer.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GskGLRenderer ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskGLRenderer,
+   gsk_gl_renderer_new;
+
+TYPE
+   GskGLRenderer = ADDRESS;
+
+(* gsk_gl_renderer_new *)
+PROCEDURE gsk_gl_renderer_new () : [ ADDRESS ];
+
+END GskGLRenderer.

+ 74 - 0
src/GskGLShader.def

@@ -0,0 +1,74 @@
+DEFINITION MODULE FOR "C" GskGLShader ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskGLShader,
+   gsk_gl_shader_new_from_bytes,
+   gsk_gl_shader_new_from_resource,
+   gsk_gl_shader_compile,
+   gsk_gl_shader_find_uniform_by_name,
+   gsk_gl_shader_format_args_va,
+   gsk_gl_shader_get_arg_bool,
+   gsk_gl_shader_get_arg_float,
+   gsk_gl_shader_get_arg_int,
+   gsk_gl_shader_get_arg_uint,
+   gsk_gl_shader_get_arg_vec2,
+   gsk_gl_shader_get_arg_vec3,
+   gsk_gl_shader_get_arg_vec4,
+   gsk_gl_shader_get_args_size,
+   gsk_gl_shader_get_n_textures,
+   gsk_gl_shader_get_n_uniforms,
+   gsk_gl_shader_get_resource,
+   gsk_gl_shader_get_source,
+   gsk_gl_shader_get_uniform_name,
+   gsk_gl_shader_get_uniform_offset,
+   gsk_gl_shader_get_uniform_type;
+
+TYPE
+   GskGLShader = ADDRESS;
+
+(* gsk_gl_shader_new_from_bytes *)
+PROCEDURE gsk_gl_shader_new_from_bytes (sourcecode: ADDRESS) : [ ADDRESS ];
+(* gsk_gl_shader_new_from_resource *)
+PROCEDURE gsk_gl_shader_new_from_resource (resource_path: ARRAY OF CHAR) : [ ADDRESS ];
+(* gsk_gl_shader_compile *)
+PROCEDURE gsk_gl_shader_compile (shader: GskGLShader; renderer: ADDRESS) : [ INTEGER ];
+(* gsk_gl_shader_find_uniform_by_name *)
+PROCEDURE gsk_gl_shader_find_uniform_by_name (shader: GskGLShader; name: ARRAY OF CHAR) : [ INTEGER ];
+(* gsk_gl_shader_format_args_va *)
+PROCEDURE gsk_gl_shader_format_args_va (shader: GskGLShader; uniforms: ADDRESS) : [ ADDRESS ];
+(* gsk_gl_shader_get_arg_bool *)
+PROCEDURE gsk_gl_shader_get_arg_bool (shader: GskGLShader; args: ADDRESS; idx: INTEGER) : [ INTEGER ];
+(* gsk_gl_shader_get_arg_float *)
+PROCEDURE gsk_gl_shader_get_arg_float (shader: GskGLShader; args: ADDRESS; idx: INTEGER) : [ SHORTREAL ];
+(* gsk_gl_shader_get_arg_int *)
+PROCEDURE gsk_gl_shader_get_arg_int (shader: GskGLShader; args: ADDRESS; idx: INTEGER) : [ INTEGER ];
+(* gsk_gl_shader_get_arg_uint *)
+PROCEDURE gsk_gl_shader_get_arg_uint (shader: GskGLShader; args: ADDRESS; idx: INTEGER) : [ CARDINAL ];
+(* gsk_gl_shader_get_arg_vec2 *)
+PROCEDURE gsk_gl_shader_get_arg_vec2 (shader: GskGLShader; args: ADDRESS; idx: INTEGER; out_value: ADDRESS);
+(* gsk_gl_shader_get_arg_vec3 *)
+PROCEDURE gsk_gl_shader_get_arg_vec3 (shader: GskGLShader; args: ADDRESS; idx: INTEGER; out_value: ADDRESS);
+(* gsk_gl_shader_get_arg_vec4 *)
+PROCEDURE gsk_gl_shader_get_arg_vec4 (shader: GskGLShader; args: ADDRESS; idx: INTEGER; out_value: ADDRESS);
+(* gsk_gl_shader_get_args_size *)
+PROCEDURE gsk_gl_shader_get_args_size (shader: GskGLShader) : [ LONGCARD ];
+(* gsk_gl_shader_get_n_textures *)
+PROCEDURE gsk_gl_shader_get_n_textures (shader: GskGLShader) : [ INTEGER ];
+(* gsk_gl_shader_get_n_uniforms *)
+PROCEDURE gsk_gl_shader_get_n_uniforms (shader: GskGLShader) : [ INTEGER ];
+(* gsk_gl_shader_get_resource *)
+PROCEDURE gsk_gl_shader_get_resource (shader: GskGLShader) : [ ADDRESS ];
+(* gsk_gl_shader_get_source *)
+PROCEDURE gsk_gl_shader_get_source (shader: GskGLShader) : [ ADDRESS ];
+(* gsk_gl_shader_get_uniform_name *)
+PROCEDURE gsk_gl_shader_get_uniform_name (shader: GskGLShader; idx: INTEGER) : [ ADDRESS ];
+(* gsk_gl_shader_get_uniform_offset *)
+PROCEDURE gsk_gl_shader_get_uniform_offset (shader: GskGLShader; idx: INTEGER) : [ INTEGER ];
+(* gsk_gl_shader_get_uniform_type *)
+PROCEDURE gsk_gl_shader_get_uniform_type (shader: GskGLShader; idx: INTEGER) : [ CARDINAL ];
+
+END GskGLShader.

+ 29 - 0
src/GskGLShaderNode.def

@@ -0,0 +1,29 @@
+DEFINITION MODULE FOR "C" GskGLShaderNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskGLShaderNode,
+   gsk_gl_shader_node_new,
+   gsk_gl_shader_node_get_args,
+   gsk_gl_shader_node_get_child,
+   gsk_gl_shader_node_get_n_children,
+   gsk_gl_shader_node_get_shader;
+
+TYPE
+   GskGLShaderNode = ADDRESS;
+
+(* gsk_gl_shader_node_new *)
+PROCEDURE gsk_gl_shader_node_new (shader: ADDRESS; bounds: ADDRESS; args: ADDRESS; children: ADDRESS) : [ ADDRESS ];
+(* gsk_gl_shader_node_get_args *)
+PROCEDURE gsk_gl_shader_node_get_args (node: GskGLShaderNode) : [ ADDRESS ];
+(* gsk_gl_shader_node_get_child *)
+PROCEDURE gsk_gl_shader_node_get_child (node: GskGLShaderNode; idx: CARDINAL) : [ ADDRESS ];
+(* gsk_gl_shader_node_get_n_children *)
+PROCEDURE gsk_gl_shader_node_get_n_children (node: GskGLShaderNode) : [ CARDINAL ];
+(* gsk_gl_shader_node_get_shader *)
+PROCEDURE gsk_gl_shader_node_get_shader (node: GskGLShaderNode) : [ ADDRESS ];
+
+END GskGLShaderNode.

+ 35 - 0
src/GskInsetShadowNode.def

@@ -0,0 +1,35 @@
+DEFINITION MODULE FOR "C" GskInsetShadowNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskInsetShadowNode,
+   gsk_inset_shadow_node_new,
+   gsk_inset_shadow_node_get_blur_radius,
+   gsk_inset_shadow_node_get_color,
+   gsk_inset_shadow_node_get_dx,
+   gsk_inset_shadow_node_get_dy,
+   gsk_inset_shadow_node_get_outline,
+   gsk_inset_shadow_node_get_spread;
+
+TYPE
+   GskInsetShadowNode = ADDRESS;
+
+(* gsk_inset_shadow_node_new *)
+PROCEDURE gsk_inset_shadow_node_new (outline: ADDRESS; color: ADDRESS; dx: SHORTREAL; dy: SHORTREAL; spread: SHORTREAL; blur_radius: SHORTREAL) : [ ADDRESS ];
+(* gsk_inset_shadow_node_get_blur_radius *)
+PROCEDURE gsk_inset_shadow_node_get_blur_radius (node: GskInsetShadowNode) : [ SHORTREAL ];
+(* gsk_inset_shadow_node_get_color *)
+PROCEDURE gsk_inset_shadow_node_get_color (node: GskInsetShadowNode) : [ ADDRESS ];
+(* gsk_inset_shadow_node_get_dx *)
+PROCEDURE gsk_inset_shadow_node_get_dx (node: GskInsetShadowNode) : [ SHORTREAL ];
+(* gsk_inset_shadow_node_get_dy *)
+PROCEDURE gsk_inset_shadow_node_get_dy (node: GskInsetShadowNode) : [ SHORTREAL ];
+(* gsk_inset_shadow_node_get_outline *)
+PROCEDURE gsk_inset_shadow_node_get_outline (node: GskInsetShadowNode) : [ ADDRESS ];
+(* gsk_inset_shadow_node_get_spread *)
+PROCEDURE gsk_inset_shadow_node_get_spread (node: GskInsetShadowNode) : [ SHORTREAL ];
+
+END GskInsetShadowNode.

+ 29 - 0
src/GskLinearGradientNode.def

@@ -0,0 +1,29 @@
+DEFINITION MODULE FOR "C" GskLinearGradientNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskLinearGradientNode,
+   gsk_linear_gradient_node_new,
+   gsk_linear_gradient_node_get_color_stops,
+   gsk_linear_gradient_node_get_end,
+   gsk_linear_gradient_node_get_n_color_stops,
+   gsk_linear_gradient_node_get_start;
+
+TYPE
+   GskLinearGradientNode = ADDRESS;
+
+(* gsk_linear_gradient_node_new *)
+PROCEDURE gsk_linear_gradient_node_new (bounds: ADDRESS; start: ADDRESS; end_: ADDRESS; color_stops: ADDRESS) : [ ADDRESS ];
+(* gsk_linear_gradient_node_get_color_stops *)
+PROCEDURE gsk_linear_gradient_node_get_color_stops (node: GskLinearGradientNode; VAR n_stops: LONGCARD);
+(* gsk_linear_gradient_node_get_end *)
+PROCEDURE gsk_linear_gradient_node_get_end (node: GskLinearGradientNode) : [ ADDRESS ];
+(* gsk_linear_gradient_node_get_n_color_stops *)
+PROCEDURE gsk_linear_gradient_node_get_n_color_stops (node: GskLinearGradientNode) : [ LONGCARD ];
+(* gsk_linear_gradient_node_get_start *)
+PROCEDURE gsk_linear_gradient_node_get_start (node: GskLinearGradientNode) : [ ADDRESS ];
+
+END GskLinearGradientNode.

+ 26 - 0
src/GskMaskNode.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GskMaskNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskMaskNode,
+   gsk_mask_node_new,
+   gsk_mask_node_get_mask,
+   gsk_mask_node_get_mask_mode,
+   gsk_mask_node_get_source;
+
+TYPE
+   GskMaskNode = ADDRESS;
+
+(* gsk_mask_node_new *)
+PROCEDURE gsk_mask_node_new (source: ADDRESS; mask: ADDRESS; mask_mode: CARDINAL) : [ ADDRESS ];
+(* gsk_mask_node_get_mask *)
+PROCEDURE gsk_mask_node_get_mask (node: GskMaskNode) : [ ADDRESS ];
+(* gsk_mask_node_get_mask_mode *)
+PROCEDURE gsk_mask_node_get_mask_mode (node: GskMaskNode) : [ CARDINAL ];
+(* gsk_mask_node_get_source *)
+PROCEDURE gsk_mask_node_get_source (node: GskMaskNode) : [ ADDRESS ];
+
+END GskMaskNode.

+ 17 - 0
src/GskNglRenderer.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GskNglRenderer ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskNglRenderer,
+   gsk_ngl_renderer_new;
+
+TYPE
+   GskNglRenderer = ADDRESS;
+
+(* gsk_ngl_renderer_new *)
+PROCEDURE gsk_ngl_renderer_new () : [ ADDRESS ];
+
+END GskNglRenderer.

+ 23 - 0
src/GskOpacityNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskOpacityNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskOpacityNode,
+   gsk_opacity_node_new,
+   gsk_opacity_node_get_child,
+   gsk_opacity_node_get_opacity;
+
+TYPE
+   GskOpacityNode = ADDRESS;
+
+(* gsk_opacity_node_new *)
+PROCEDURE gsk_opacity_node_new (child: ADDRESS; opacity: SHORTREAL) : [ ADDRESS ];
+(* gsk_opacity_node_get_child *)
+PROCEDURE gsk_opacity_node_get_child (node: GskOpacityNode) : [ ADDRESS ];
+(* gsk_opacity_node_get_opacity *)
+PROCEDURE gsk_opacity_node_get_opacity (node: GskOpacityNode) : [ SHORTREAL ];
+
+END GskOpacityNode.

+ 35 - 0
src/GskOutsetShadowNode.def

@@ -0,0 +1,35 @@
+DEFINITION MODULE FOR "C" GskOutsetShadowNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskOutsetShadowNode,
+   gsk_outset_shadow_node_new,
+   gsk_outset_shadow_node_get_blur_radius,
+   gsk_outset_shadow_node_get_color,
+   gsk_outset_shadow_node_get_dx,
+   gsk_outset_shadow_node_get_dy,
+   gsk_outset_shadow_node_get_outline,
+   gsk_outset_shadow_node_get_spread;
+
+TYPE
+   GskOutsetShadowNode = ADDRESS;
+
+(* gsk_outset_shadow_node_new *)
+PROCEDURE gsk_outset_shadow_node_new (outline: ADDRESS; color: ADDRESS; dx: SHORTREAL; dy: SHORTREAL; spread: SHORTREAL; blur_radius: SHORTREAL) : [ ADDRESS ];
+(* gsk_outset_shadow_node_get_blur_radius *)
+PROCEDURE gsk_outset_shadow_node_get_blur_radius (node: GskOutsetShadowNode) : [ SHORTREAL ];
+(* gsk_outset_shadow_node_get_color *)
+PROCEDURE gsk_outset_shadow_node_get_color (node: GskOutsetShadowNode) : [ ADDRESS ];
+(* gsk_outset_shadow_node_get_dx *)
+PROCEDURE gsk_outset_shadow_node_get_dx (node: GskOutsetShadowNode) : [ SHORTREAL ];
+(* gsk_outset_shadow_node_get_dy *)
+PROCEDURE gsk_outset_shadow_node_get_dy (node: GskOutsetShadowNode) : [ SHORTREAL ];
+(* gsk_outset_shadow_node_get_outline *)
+PROCEDURE gsk_outset_shadow_node_get_outline (node: GskOutsetShadowNode) : [ ADDRESS ];
+(* gsk_outset_shadow_node_get_spread *)
+PROCEDURE gsk_outset_shadow_node_get_spread (node: GskOutsetShadowNode) : [ SHORTREAL ];
+
+END GskOutsetShadowNode.

+ 59 - 0
src/GskPath.def

@@ -0,0 +1,59 @@
+DEFINITION MODULE FOR "C" GskPath ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskPath,
+   gsk_path_foreach,
+   gsk_path_get_bounds,
+   gsk_path_get_closest_point,
+   gsk_path_get_end_point,
+   gsk_path_get_start_point,
+   gsk_path_get_stroke_bounds,
+   gsk_path_in_fill,
+   gsk_path_is_closed,
+   gsk_path_is_empty,
+   gsk_path_print,
+   gsk_path_ref,
+   gsk_path_to_cairo,
+   gsk_path_to_string,
+   gsk_path_unref,
+   gsk_path_parse;
+
+TYPE
+   GskPath = ADDRESS;
+
+(* gsk_path_foreach *)
+PROCEDURE gsk_path_foreach (self: GskPath; flags: CARDINAL; user_data: ADDRESS) : [ INTEGER ];
+(* gsk_path_get_bounds *)
+PROCEDURE gsk_path_get_bounds (self: GskPath; bounds: ADDRESS) : [ INTEGER ];
+(* gsk_path_get_closest_point *)
+PROCEDURE gsk_path_get_closest_point (self: GskPath; point: ADDRESS; threshold: SHORTREAL; result: ADDRESS; VAR distance: SHORTREAL) : [ INTEGER ];
+(* gsk_path_get_end_point *)
+PROCEDURE gsk_path_get_end_point (self: GskPath; result: ADDRESS) : [ INTEGER ];
+(* gsk_path_get_start_point *)
+PROCEDURE gsk_path_get_start_point (self: GskPath; result: ADDRESS) : [ INTEGER ];
+(* gsk_path_get_stroke_bounds *)
+PROCEDURE gsk_path_get_stroke_bounds (self: GskPath; stroke: ADDRESS; bounds: ADDRESS) : [ INTEGER ];
+(* gsk_path_in_fill *)
+PROCEDURE gsk_path_in_fill (self: GskPath; point: ADDRESS; fill_rule: CARDINAL) : [ INTEGER ];
+(* gsk_path_is_closed *)
+PROCEDURE gsk_path_is_closed (self: GskPath) : [ INTEGER ];
+(* gsk_path_is_empty *)
+PROCEDURE gsk_path_is_empty (self: GskPath) : [ INTEGER ];
+(* gsk_path_print *)
+PROCEDURE gsk_path_print (self: GskPath; string: ADDRESS);
+(* gsk_path_ref *)
+PROCEDURE gsk_path_ref (self: GskPath) : [ ADDRESS ];
+(* gsk_path_to_cairo *)
+PROCEDURE gsk_path_to_cairo (self: GskPath; cr: ADDRESS);
+(* gsk_path_to_string *)
+PROCEDURE gsk_path_to_string (self: GskPath) : [ ADDRESS ];
+(* gsk_path_unref *)
+PROCEDURE gsk_path_unref (self: GskPath);
+(* gsk_path_parse *)
+PROCEDURE gsk_path_parse (string: ARRAY OF CHAR) : [ ADDRESS ];
+
+END GskPath.

+ 107 - 0
src/GskPathBuilder.def

@@ -0,0 +1,107 @@
+DEFINITION MODULE FOR "C" GskPathBuilder ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskPathBuilder,
+   gsk_path_builder_new,
+   gsk_path_builder_add_cairo_path,
+   gsk_path_builder_add_circle,
+   gsk_path_builder_add_layout,
+   gsk_path_builder_add_path,
+   gsk_path_builder_add_rect,
+   gsk_path_builder_add_reverse_path,
+   gsk_path_builder_add_rounded_rect,
+   gsk_path_builder_add_segment,
+   gsk_path_builder_arc_to,
+   gsk_path_builder_close,
+   gsk_path_builder_conic_to,
+   gsk_path_builder_cubic_to,
+   gsk_path_builder_free_to_path,
+   gsk_path_builder_get_current_point,
+   gsk_path_builder_html_arc_to,
+   gsk_path_builder_line_to,
+   gsk_path_builder_move_to,
+   gsk_path_builder_quad_to,
+   gsk_path_builder_ref,
+   gsk_path_builder_rel_arc_to,
+   gsk_path_builder_rel_conic_to,
+   gsk_path_builder_rel_cubic_to,
+   gsk_path_builder_rel_html_arc_to,
+   gsk_path_builder_rel_line_to,
+   gsk_path_builder_rel_move_to,
+   gsk_path_builder_rel_quad_to,
+   gsk_path_builder_rel_svg_arc_to,
+   gsk_path_builder_svg_arc_to,
+   gsk_path_builder_to_path,
+   gsk_path_builder_unref;
+
+TYPE
+   GskPathBuilder = ADDRESS;
+
+(* gsk_path_builder_new *)
+PROCEDURE gsk_path_builder_new () : [ ADDRESS ];
+(* gsk_path_builder_add_cairo_path *)
+PROCEDURE gsk_path_builder_add_cairo_path (self: GskPathBuilder; path: ADDRESS);
+(* gsk_path_builder_add_circle *)
+PROCEDURE gsk_path_builder_add_circle (self: GskPathBuilder; center: ADDRESS; radius: SHORTREAL);
+(* gsk_path_builder_add_layout *)
+PROCEDURE gsk_path_builder_add_layout (self: GskPathBuilder; layout: ADDRESS);
+(* gsk_path_builder_add_path *)
+PROCEDURE gsk_path_builder_add_path (self: GskPathBuilder; path: ADDRESS);
+(* gsk_path_builder_add_rect *)
+PROCEDURE gsk_path_builder_add_rect (self: GskPathBuilder; rect: ADDRESS);
+(* gsk_path_builder_add_reverse_path *)
+PROCEDURE gsk_path_builder_add_reverse_path (self: GskPathBuilder; path: ADDRESS);
+(* gsk_path_builder_add_rounded_rect *)
+PROCEDURE gsk_path_builder_add_rounded_rect (self: GskPathBuilder; rect: ADDRESS);
+(* gsk_path_builder_add_segment *)
+PROCEDURE gsk_path_builder_add_segment (self: GskPathBuilder; path: ADDRESS; start: ADDRESS; end_: ADDRESS);
+(* gsk_path_builder_arc_to *)
+PROCEDURE gsk_path_builder_arc_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL);
+(* gsk_path_builder_close *)
+PROCEDURE gsk_path_builder_close (self: GskPathBuilder);
+(* gsk_path_builder_conic_to *)
+PROCEDURE gsk_path_builder_conic_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL; weight: SHORTREAL);
+(* gsk_path_builder_cubic_to *)
+PROCEDURE gsk_path_builder_cubic_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL; x3: SHORTREAL; y3: SHORTREAL);
+(* gsk_path_builder_free_to_path *)
+PROCEDURE gsk_path_builder_free_to_path (self: GskPathBuilder) : [ ADDRESS ];
+(* gsk_path_builder_get_current_point *)
+PROCEDURE gsk_path_builder_get_current_point (self: GskPathBuilder) : [ ADDRESS ];
+(* gsk_path_builder_html_arc_to *)
+PROCEDURE gsk_path_builder_html_arc_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL; radius: SHORTREAL);
+(* gsk_path_builder_line_to *)
+PROCEDURE gsk_path_builder_line_to (self: GskPathBuilder; x: SHORTREAL; y: SHORTREAL);
+(* gsk_path_builder_move_to *)
+PROCEDURE gsk_path_builder_move_to (self: GskPathBuilder; x: SHORTREAL; y: SHORTREAL);
+(* gsk_path_builder_quad_to *)
+PROCEDURE gsk_path_builder_quad_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL);
+(* gsk_path_builder_ref *)
+PROCEDURE gsk_path_builder_ref (self: GskPathBuilder) : [ ADDRESS ];
+(* gsk_path_builder_rel_arc_to *)
+PROCEDURE gsk_path_builder_rel_arc_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL);
+(* gsk_path_builder_rel_conic_to *)
+PROCEDURE gsk_path_builder_rel_conic_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL; weight: SHORTREAL);
+(* gsk_path_builder_rel_cubic_to *)
+PROCEDURE gsk_path_builder_rel_cubic_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL; x3: SHORTREAL; y3: SHORTREAL);
+(* gsk_path_builder_rel_html_arc_to *)
+PROCEDURE gsk_path_builder_rel_html_arc_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL; radius: SHORTREAL);
+(* gsk_path_builder_rel_line_to *)
+PROCEDURE gsk_path_builder_rel_line_to (self: GskPathBuilder; x: SHORTREAL; y: SHORTREAL);
+(* gsk_path_builder_rel_move_to *)
+PROCEDURE gsk_path_builder_rel_move_to (self: GskPathBuilder; x: SHORTREAL; y: SHORTREAL);
+(* gsk_path_builder_rel_quad_to *)
+PROCEDURE gsk_path_builder_rel_quad_to (self: GskPathBuilder; x1: SHORTREAL; y1: SHORTREAL; x2: SHORTREAL; y2: SHORTREAL);
+(* gsk_path_builder_rel_svg_arc_to *)
+PROCEDURE gsk_path_builder_rel_svg_arc_to (self: GskPathBuilder; rx: SHORTREAL; ry: SHORTREAL; x_axis_rotation: SHORTREAL; large_arc: INTEGER; positive_sweep: INTEGER; x: SHORTREAL; y: SHORTREAL);
+(* gsk_path_builder_svg_arc_to *)
+PROCEDURE gsk_path_builder_svg_arc_to (self: GskPathBuilder; rx: SHORTREAL; ry: SHORTREAL; x_axis_rotation: SHORTREAL; large_arc: INTEGER; positive_sweep: INTEGER; x: SHORTREAL; y: SHORTREAL);
+(* gsk_path_builder_to_path *)
+PROCEDURE gsk_path_builder_to_path (self: GskPathBuilder) : [ ADDRESS ];
+(* gsk_path_builder_unref *)
+PROCEDURE gsk_path_builder_unref (self: GskPathBuilder);
+
+END GskPathBuilder.

+ 38 - 0
src/GskPathMeasure.def

@@ -0,0 +1,38 @@
+DEFINITION MODULE FOR "C" GskPathMeasure ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskPathMeasure,
+   gsk_path_measure_new,
+   gsk_path_measure_new_with_tolerance,
+   gsk_path_measure_get_length,
+   gsk_path_measure_get_path,
+   gsk_path_measure_get_point,
+   gsk_path_measure_get_tolerance,
+   gsk_path_measure_ref,
+   gsk_path_measure_unref;
+
+TYPE
+   GskPathMeasure = ADDRESS;
+
+(* gsk_path_measure_new *)
+PROCEDURE gsk_path_measure_new (path: ADDRESS) : [ ADDRESS ];
+(* gsk_path_measure_new_with_tolerance *)
+PROCEDURE gsk_path_measure_new_with_tolerance (path: ADDRESS; tolerance: SHORTREAL) : [ ADDRESS ];
+(* gsk_path_measure_get_length *)
+PROCEDURE gsk_path_measure_get_length (self: GskPathMeasure) : [ SHORTREAL ];
+(* gsk_path_measure_get_path *)
+PROCEDURE gsk_path_measure_get_path (self: GskPathMeasure) : [ ADDRESS ];
+(* gsk_path_measure_get_point *)
+PROCEDURE gsk_path_measure_get_point (self: GskPathMeasure; distance: SHORTREAL; result: ADDRESS) : [ INTEGER ];
+(* gsk_path_measure_get_tolerance *)
+PROCEDURE gsk_path_measure_get_tolerance (self: GskPathMeasure) : [ SHORTREAL ];
+(* gsk_path_measure_ref *)
+PROCEDURE gsk_path_measure_ref (self: GskPathMeasure) : [ ADDRESS ];
+(* gsk_path_measure_unref *)
+PROCEDURE gsk_path_measure_unref (self: GskPathMeasure);
+
+END GskPathMeasure.

+ 41 - 0
src/GskPathPoint.def

@@ -0,0 +1,41 @@
+DEFINITION MODULE FOR "C" GskPathPoint ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskPathPoint,
+   gsk_path_point_compare,
+   gsk_path_point_copy,
+   gsk_path_point_equal,
+   gsk_path_point_free,
+   gsk_path_point_get_curvature,
+   gsk_path_point_get_distance,
+   gsk_path_point_get_position,
+   gsk_path_point_get_rotation,
+   gsk_path_point_get_tangent;
+
+TYPE
+   GskPathPoint = ADDRESS;
+
+(* gsk_path_point_compare *)
+PROCEDURE gsk_path_point_compare (point1: GskPathPoint; point2: GskPathPoint) : [ INTEGER ];
+(* gsk_path_point_copy *)
+PROCEDURE gsk_path_point_copy (point: GskPathPoint) : [ ADDRESS ];
+(* gsk_path_point_equal *)
+PROCEDURE gsk_path_point_equal (point1: GskPathPoint; point2: GskPathPoint) : [ INTEGER ];
+(* gsk_path_point_free *)
+PROCEDURE gsk_path_point_free (point: GskPathPoint);
+(* gsk_path_point_get_curvature *)
+PROCEDURE gsk_path_point_get_curvature (point: GskPathPoint; path: ADDRESS; direction: CARDINAL; center: ADDRESS) : [ SHORTREAL ];
+(* gsk_path_point_get_distance *)
+PROCEDURE gsk_path_point_get_distance (point: GskPathPoint; measure: ADDRESS) : [ SHORTREAL ];
+(* gsk_path_point_get_position *)
+PROCEDURE gsk_path_point_get_position (point: GskPathPoint; path: ADDRESS; position: ADDRESS);
+(* gsk_path_point_get_rotation *)
+PROCEDURE gsk_path_point_get_rotation (point: GskPathPoint; path: ADDRESS; direction: CARDINAL) : [ SHORTREAL ];
+(* gsk_path_point_get_tangent *)
+PROCEDURE gsk_path_point_get_tangent (point: GskPathPoint; path: ADDRESS; direction: CARDINAL; tangent: ADDRESS);
+
+END GskPathPoint.

+ 38 - 0
src/GskRadialGradientNode.def

@@ -0,0 +1,38 @@
+DEFINITION MODULE FOR "C" GskRadialGradientNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskRadialGradientNode,
+   gsk_radial_gradient_node_new,
+   gsk_radial_gradient_node_get_center,
+   gsk_radial_gradient_node_get_color_stops,
+   gsk_radial_gradient_node_get_end,
+   gsk_radial_gradient_node_get_hradius,
+   gsk_radial_gradient_node_get_n_color_stops,
+   gsk_radial_gradient_node_get_start,
+   gsk_radial_gradient_node_get_vradius;
+
+TYPE
+   GskRadialGradientNode = ADDRESS;
+
+(* gsk_radial_gradient_node_new *)
+PROCEDURE gsk_radial_gradient_node_new (bounds: ADDRESS; center: ADDRESS; hradius: SHORTREAL; vradius: SHORTREAL; start: SHORTREAL; end_: SHORTREAL; color_stops: ADDRESS) : [ ADDRESS ];
+(* gsk_radial_gradient_node_get_center *)
+PROCEDURE gsk_radial_gradient_node_get_center (node: GskRadialGradientNode) : [ ADDRESS ];
+(* gsk_radial_gradient_node_get_color_stops *)
+PROCEDURE gsk_radial_gradient_node_get_color_stops (node: GskRadialGradientNode; VAR n_stops: LONGCARD);
+(* gsk_radial_gradient_node_get_end *)
+PROCEDURE gsk_radial_gradient_node_get_end (node: GskRadialGradientNode) : [ SHORTREAL ];
+(* gsk_radial_gradient_node_get_hradius *)
+PROCEDURE gsk_radial_gradient_node_get_hradius (node: GskRadialGradientNode) : [ SHORTREAL ];
+(* gsk_radial_gradient_node_get_n_color_stops *)
+PROCEDURE gsk_radial_gradient_node_get_n_color_stops (node: GskRadialGradientNode) : [ LONGCARD ];
+(* gsk_radial_gradient_node_get_start *)
+PROCEDURE gsk_radial_gradient_node_get_start (node: GskRadialGradientNode) : [ SHORTREAL ];
+(* gsk_radial_gradient_node_get_vradius *)
+PROCEDURE gsk_radial_gradient_node_get_vradius (node: GskRadialGradientNode) : [ SHORTREAL ];
+
+END GskRadialGradientNode.

+ 41 - 0
src/GskRenderNode.def

@@ -0,0 +1,41 @@
+DEFINITION MODULE FOR "C" GskRenderNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskRenderNode,
+   gsk_render_node_deserialize,
+   gsk_render_node_draw,
+   gsk_render_node_get_bounds,
+   gsk_render_node_get_node_type,
+   gsk_render_node_get_opaque_rect,
+   gsk_render_node_ref,
+   gsk_render_node_serialize,
+   gsk_render_node_unref,
+   gsk_render_node_write_to_file;
+
+TYPE
+   GskRenderNode = ADDRESS;
+
+(* gsk_render_node_deserialize *)
+PROCEDURE gsk_render_node_deserialize (bytes: ADDRESS; user_data: ADDRESS) : [ ADDRESS ];
+(* gsk_render_node_draw *)
+PROCEDURE gsk_render_node_draw (node: GskRenderNode; cr: ADDRESS);
+(* gsk_render_node_get_bounds *)
+PROCEDURE gsk_render_node_get_bounds (node: GskRenderNode; bounds: ADDRESS);
+(* gsk_render_node_get_node_type *)
+PROCEDURE gsk_render_node_get_node_type (node: GskRenderNode) : [ CARDINAL ];
+(* gsk_render_node_get_opaque_rect *)
+PROCEDURE gsk_render_node_get_opaque_rect (self: GskRenderNode; out_opaque: ADDRESS) : [ INTEGER ];
+(* gsk_render_node_ref *)
+PROCEDURE gsk_render_node_ref (node: GskRenderNode) : [ ADDRESS ];
+(* gsk_render_node_serialize *)
+PROCEDURE gsk_render_node_serialize (node: GskRenderNode) : [ ADDRESS ];
+(* gsk_render_node_unref *)
+PROCEDURE gsk_render_node_unref (node: GskRenderNode);
+(* gsk_render_node_write_to_file *)
+PROCEDURE gsk_render_node_write_to_file (node: GskRenderNode; filename: ARRAY OF CHAR) : [ INTEGER ];
+
+END GskRenderNode.

+ 38 - 0
src/GskRenderer.def

@@ -0,0 +1,38 @@
+DEFINITION MODULE FOR "C" GskRenderer ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskRenderer,
+   gsk_renderer_new_for_surface,
+   gsk_renderer_get_surface,
+   gsk_renderer_is_realized,
+   gsk_renderer_realize,
+   gsk_renderer_realize_for_display,
+   gsk_renderer_render,
+   gsk_renderer_render_texture,
+   gsk_renderer_unrealize;
+
+TYPE
+   GskRenderer = ADDRESS;
+
+(* gsk_renderer_new_for_surface *)
+PROCEDURE gsk_renderer_new_for_surface (surface: ADDRESS) : [ ADDRESS ];
+(* gsk_renderer_get_surface *)
+PROCEDURE gsk_renderer_get_surface (renderer: GskRenderer) : [ ADDRESS ];
+(* gsk_renderer_is_realized *)
+PROCEDURE gsk_renderer_is_realized (renderer: GskRenderer) : [ INTEGER ];
+(* gsk_renderer_realize *)
+PROCEDURE gsk_renderer_realize (renderer: GskRenderer; surface: ADDRESS) : [ INTEGER ];
+(* gsk_renderer_realize_for_display *)
+PROCEDURE gsk_renderer_realize_for_display (renderer: GskRenderer; display: ADDRESS) : [ INTEGER ];
+(* gsk_renderer_render *)
+PROCEDURE gsk_renderer_render (renderer: GskRenderer; root: ADDRESS; region: ADDRESS);
+(* gsk_renderer_render_texture *)
+PROCEDURE gsk_renderer_render_texture (renderer: GskRenderer; root: ADDRESS; viewport: ADDRESS) : [ ADDRESS ];
+(* gsk_renderer_unrealize *)
+PROCEDURE gsk_renderer_unrealize (renderer: GskRenderer);
+
+END GskRenderer.

+ 23 - 0
src/GskRepeatNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskRepeatNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskRepeatNode,
+   gsk_repeat_node_new,
+   gsk_repeat_node_get_child,
+   gsk_repeat_node_get_child_bounds;
+
+TYPE
+   GskRepeatNode = ADDRESS;
+
+(* gsk_repeat_node_new *)
+PROCEDURE gsk_repeat_node_new (bounds: ADDRESS; child: ADDRESS; child_bounds: ADDRESS) : [ ADDRESS ];
+(* gsk_repeat_node_get_child *)
+PROCEDURE gsk_repeat_node_get_child (node: GskRepeatNode) : [ ADDRESS ];
+(* gsk_repeat_node_get_child_bounds *)
+PROCEDURE gsk_repeat_node_get_child_bounds (node: GskRepeatNode) : [ ADDRESS ];
+
+END GskRepeatNode.

+ 17 - 0
src/GskRepeatingLinearGradientNode.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GskRepeatingLinearGradientNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskRepeatingLinearGradientNode,
+   gsk_repeating_linear_gradient_node_new;
+
+TYPE
+   GskRepeatingLinearGradientNode = ADDRESS;
+
+(* gsk_repeating_linear_gradient_node_new *)
+PROCEDURE gsk_repeating_linear_gradient_node_new (bounds: ADDRESS; start: ADDRESS; end_: ADDRESS; color_stops: ADDRESS) : [ ADDRESS ];
+
+END GskRepeatingLinearGradientNode.

+ 17 - 0
src/GskRepeatingRadialGradientNode.def

@@ -0,0 +1,17 @@
+DEFINITION MODULE FOR "C" GskRepeatingRadialGradientNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskRepeatingRadialGradientNode,
+   gsk_repeating_radial_gradient_node_new;
+
+TYPE
+   GskRepeatingRadialGradientNode = ADDRESS;
+
+(* gsk_repeating_radial_gradient_node_new *)
+PROCEDURE gsk_repeating_radial_gradient_node_new (bounds: ADDRESS; center: ADDRESS; hradius: SHORTREAL; vradius: SHORTREAL; start: SHORTREAL; end_: SHORTREAL; color_stops: ADDRESS) : [ ADDRESS ];
+
+END GskRepeatingRadialGradientNode.

+ 23 - 0
src/GskRoundedClipNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskRoundedClipNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskRoundedClipNode,
+   gsk_rounded_clip_node_new,
+   gsk_rounded_clip_node_get_child,
+   gsk_rounded_clip_node_get_clip;
+
+TYPE
+   GskRoundedClipNode = ADDRESS;
+
+(* gsk_rounded_clip_node_new *)
+PROCEDURE gsk_rounded_clip_node_new (child: ADDRESS; clip: ADDRESS) : [ ADDRESS ];
+(* gsk_rounded_clip_node_get_child *)
+PROCEDURE gsk_rounded_clip_node_get_child (node: GskRoundedClipNode) : [ ADDRESS ];
+(* gsk_rounded_clip_node_get_clip *)
+PROCEDURE gsk_rounded_clip_node_get_clip (node: GskRoundedClipNode) : [ ADDRESS ];
+
+END GskRoundedClipNode.

+ 44 - 0
src/GskRoundedRect.def

@@ -0,0 +1,44 @@
+DEFINITION MODULE FOR "C" GskRoundedRect ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskRoundedRect,
+   gsk_rounded_rect_contains_point,
+   gsk_rounded_rect_contains_rect,
+   gsk_rounded_rect_init,
+   gsk_rounded_rect_init_copy,
+   gsk_rounded_rect_init_from_rect,
+   gsk_rounded_rect_intersects_rect,
+   gsk_rounded_rect_is_rectilinear,
+   gsk_rounded_rect_normalize,
+   gsk_rounded_rect_offset,
+   gsk_rounded_rect_shrink;
+
+TYPE
+   GskRoundedRect = ADDRESS;
+
+(* gsk_rounded_rect_contains_point *)
+PROCEDURE gsk_rounded_rect_contains_point (self: GskRoundedRect; point: ADDRESS) : [ INTEGER ];
+(* gsk_rounded_rect_contains_rect *)
+PROCEDURE gsk_rounded_rect_contains_rect (self: GskRoundedRect; rect: ADDRESS) : [ INTEGER ];
+(* gsk_rounded_rect_init *)
+PROCEDURE gsk_rounded_rect_init (self: GskRoundedRect; bounds: ADDRESS; top_left: ADDRESS; top_right: ADDRESS; bottom_right: ADDRESS; bottom_left: ADDRESS) : [ ADDRESS ];
+(* gsk_rounded_rect_init_copy *)
+PROCEDURE gsk_rounded_rect_init_copy (self: GskRoundedRect; src: GskRoundedRect) : [ ADDRESS ];
+(* gsk_rounded_rect_init_from_rect *)
+PROCEDURE gsk_rounded_rect_init_from_rect (self: GskRoundedRect; bounds: ADDRESS; radius: SHORTREAL) : [ ADDRESS ];
+(* gsk_rounded_rect_intersects_rect *)
+PROCEDURE gsk_rounded_rect_intersects_rect (self: GskRoundedRect; rect: ADDRESS) : [ INTEGER ];
+(* gsk_rounded_rect_is_rectilinear *)
+PROCEDURE gsk_rounded_rect_is_rectilinear (self: GskRoundedRect) : [ INTEGER ];
+(* gsk_rounded_rect_normalize *)
+PROCEDURE gsk_rounded_rect_normalize (self: GskRoundedRect) : [ ADDRESS ];
+(* gsk_rounded_rect_offset *)
+PROCEDURE gsk_rounded_rect_offset (self: GskRoundedRect; dx: SHORTREAL; dy: SHORTREAL) : [ ADDRESS ];
+(* gsk_rounded_rect_shrink *)
+PROCEDURE gsk_rounded_rect_shrink (self: GskRoundedRect; top: SHORTREAL; right: SHORTREAL; bottom: SHORTREAL; left: SHORTREAL) : [ ADDRESS ];
+
+END GskRoundedRect.

+ 50 - 0
src/GskShaderArgsBuilder.def

@@ -0,0 +1,50 @@
+DEFINITION MODULE FOR "C" GskShaderArgsBuilder ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskShaderArgsBuilder,
+   gsk_shader_args_builder_new,
+   gsk_shader_args_builder_free_to_args,
+   gsk_shader_args_builder_ref,
+   gsk_shader_args_builder_set_bool,
+   gsk_shader_args_builder_set_float,
+   gsk_shader_args_builder_set_int,
+   gsk_shader_args_builder_set_uint,
+   gsk_shader_args_builder_set_vec2,
+   gsk_shader_args_builder_set_vec3,
+   gsk_shader_args_builder_set_vec4,
+   gsk_shader_args_builder_to_args,
+   gsk_shader_args_builder_unref;
+
+TYPE
+   GskShaderArgsBuilder = ADDRESS;
+
+(* gsk_shader_args_builder_new *)
+PROCEDURE gsk_shader_args_builder_new (shader: ADDRESS; initial_values: ADDRESS) : [ ADDRESS ];
+(* gsk_shader_args_builder_free_to_args *)
+PROCEDURE gsk_shader_args_builder_free_to_args (builder: GskShaderArgsBuilder) : [ ADDRESS ];
+(* gsk_shader_args_builder_ref *)
+PROCEDURE gsk_shader_args_builder_ref (builder: GskShaderArgsBuilder) : [ ADDRESS ];
+(* gsk_shader_args_builder_set_bool *)
+PROCEDURE gsk_shader_args_builder_set_bool (builder: GskShaderArgsBuilder; idx: INTEGER; value: INTEGER);
+(* gsk_shader_args_builder_set_float *)
+PROCEDURE gsk_shader_args_builder_set_float (builder: GskShaderArgsBuilder; idx: INTEGER; value: SHORTREAL);
+(* gsk_shader_args_builder_set_int *)
+PROCEDURE gsk_shader_args_builder_set_int (builder: GskShaderArgsBuilder; idx: INTEGER; value: INTEGER);
+(* gsk_shader_args_builder_set_uint *)
+PROCEDURE gsk_shader_args_builder_set_uint (builder: GskShaderArgsBuilder; idx: INTEGER; value: CARDINAL);
+(* gsk_shader_args_builder_set_vec2 *)
+PROCEDURE gsk_shader_args_builder_set_vec2 (builder: GskShaderArgsBuilder; idx: INTEGER; value: ADDRESS);
+(* gsk_shader_args_builder_set_vec3 *)
+PROCEDURE gsk_shader_args_builder_set_vec3 (builder: GskShaderArgsBuilder; idx: INTEGER; value: ADDRESS);
+(* gsk_shader_args_builder_set_vec4 *)
+PROCEDURE gsk_shader_args_builder_set_vec4 (builder: GskShaderArgsBuilder; idx: INTEGER; value: ADDRESS);
+(* gsk_shader_args_builder_to_args *)
+PROCEDURE gsk_shader_args_builder_to_args (builder: GskShaderArgsBuilder) : [ ADDRESS ];
+(* gsk_shader_args_builder_unref *)
+PROCEDURE gsk_shader_args_builder_unref (builder: GskShaderArgsBuilder);
+
+END GskShaderArgsBuilder.

+ 26 - 0
src/GskShadowNode.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GskShadowNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskShadowNode,
+   gsk_shadow_node_new,
+   gsk_shadow_node_get_child,
+   gsk_shadow_node_get_n_shadows,
+   gsk_shadow_node_get_shadow;
+
+TYPE
+   GskShadowNode = ADDRESS;
+
+(* gsk_shadow_node_new *)
+PROCEDURE gsk_shadow_node_new (child: ADDRESS; shadows: ADDRESS) : [ ADDRESS ];
+(* gsk_shadow_node_get_child *)
+PROCEDURE gsk_shadow_node_get_child (node: GskShadowNode) : [ ADDRESS ];
+(* gsk_shadow_node_get_n_shadows *)
+PROCEDURE gsk_shadow_node_get_n_shadows (node: GskShadowNode) : [ LONGCARD ];
+(* gsk_shadow_node_get_shadow *)
+PROCEDURE gsk_shadow_node_get_shadow (node: GskShadowNode; i: LONGCARD) : [ ADDRESS ];
+
+END GskShadowNode.

+ 65 - 0
src/GskStroke.def

@@ -0,0 +1,65 @@
+DEFINITION MODULE FOR "C" GskStroke ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskStroke,
+   gsk_stroke_new,
+   gsk_stroke_copy,
+   gsk_stroke_free,
+   gsk_stroke_get_dash,
+   gsk_stroke_get_dash_offset,
+   gsk_stroke_get_line_cap,
+   gsk_stroke_get_line_join,
+   gsk_stroke_get_line_width,
+   gsk_stroke_get_miter_limit,
+   gsk_stroke_set_dash,
+   gsk_stroke_set_dash_offset,
+   gsk_stroke_set_line_cap,
+   gsk_stroke_set_line_join,
+   gsk_stroke_set_line_width,
+   gsk_stroke_set_miter_limit,
+   gsk_stroke_to_cairo,
+   gsk_stroke_equal;
+
+TYPE
+   GskStroke = ADDRESS;
+
+(* gsk_stroke_new *)
+PROCEDURE gsk_stroke_new (line_width: SHORTREAL) : [ ADDRESS ];
+(* gsk_stroke_copy *)
+PROCEDURE gsk_stroke_copy (other: GskStroke) : [ ADDRESS ];
+(* gsk_stroke_free *)
+PROCEDURE gsk_stroke_free (self: GskStroke);
+(* gsk_stroke_get_dash *)
+PROCEDURE gsk_stroke_get_dash (self: GskStroke; VAR n_dash: LONGCARD);
+(* gsk_stroke_get_dash_offset *)
+PROCEDURE gsk_stroke_get_dash_offset (self: GskStroke) : [ SHORTREAL ];
+(* gsk_stroke_get_line_cap *)
+PROCEDURE gsk_stroke_get_line_cap (self: GskStroke) : [ CARDINAL ];
+(* gsk_stroke_get_line_join *)
+PROCEDURE gsk_stroke_get_line_join (self: GskStroke) : [ CARDINAL ];
+(* gsk_stroke_get_line_width *)
+PROCEDURE gsk_stroke_get_line_width (self: GskStroke) : [ SHORTREAL ];
+(* gsk_stroke_get_miter_limit *)
+PROCEDURE gsk_stroke_get_miter_limit (self: GskStroke) : [ SHORTREAL ];
+(* gsk_stroke_set_dash *)
+PROCEDURE gsk_stroke_set_dash (self: GskStroke; n_dash: LONGCARD);
+(* gsk_stroke_set_dash_offset *)
+PROCEDURE gsk_stroke_set_dash_offset (self: GskStroke; offset: SHORTREAL);
+(* gsk_stroke_set_line_cap *)
+PROCEDURE gsk_stroke_set_line_cap (self: GskStroke; line_cap: CARDINAL);
+(* gsk_stroke_set_line_join *)
+PROCEDURE gsk_stroke_set_line_join (self: GskStroke; line_join: CARDINAL);
+(* gsk_stroke_set_line_width *)
+PROCEDURE gsk_stroke_set_line_width (self: GskStroke; line_width: SHORTREAL);
+(* gsk_stroke_set_miter_limit *)
+PROCEDURE gsk_stroke_set_miter_limit (self: GskStroke; limit: SHORTREAL);
+(* gsk_stroke_to_cairo *)
+PROCEDURE gsk_stroke_to_cairo (self: GskStroke; cr: ADDRESS);
+(* gsk_stroke_equal *)
+PROCEDURE gsk_stroke_equal (stroke1: ADDRESS; stroke2: ADDRESS) : [ INTEGER ];
+
+END GskStroke.

+ 26 - 0
src/GskStrokeNode.def

@@ -0,0 +1,26 @@
+DEFINITION MODULE FOR "C" GskStrokeNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskStrokeNode,
+   gsk_stroke_node_new,
+   gsk_stroke_node_get_child,
+   gsk_stroke_node_get_path,
+   gsk_stroke_node_get_stroke;
+
+TYPE
+   GskStrokeNode = ADDRESS;
+
+(* gsk_stroke_node_new *)
+PROCEDURE gsk_stroke_node_new (child: ADDRESS; path: ADDRESS; stroke: ADDRESS) : [ ADDRESS ];
+(* gsk_stroke_node_get_child *)
+PROCEDURE gsk_stroke_node_get_child (node: GskStrokeNode) : [ ADDRESS ];
+(* gsk_stroke_node_get_path *)
+PROCEDURE gsk_stroke_node_get_path (node: GskStrokeNode) : [ ADDRESS ];
+(* gsk_stroke_node_get_stroke *)
+PROCEDURE gsk_stroke_node_get_stroke (node: GskStrokeNode) : [ ADDRESS ];
+
+END GskStrokeNode.

+ 23 - 0
src/GskSubsurfaceNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskSubsurfaceNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskSubsurfaceNode,
+   gsk_subsurface_node_new,
+   gsk_subsurface_node_get_subsurface,
+   gsk_subsurface_node_get_child;
+
+TYPE
+   GskSubsurfaceNode = ADDRESS;
+
+(* gsk_subsurface_node_new *)
+PROCEDURE gsk_subsurface_node_new (child: ADDRESS; subsurface: ADDRESS) : [ ADDRESS ];
+(* gsk_subsurface_node_get_subsurface *)
+PROCEDURE gsk_subsurface_node_get_subsurface (node: ADDRESS) : [ ADDRESS ];
+(* gsk_subsurface_node_get_child *)
+PROCEDURE gsk_subsurface_node_get_child (node: GskSubsurfaceNode) : [ ADDRESS ];
+
+END GskSubsurfaceNode.

+ 35 - 0
src/GskTextNode.def

@@ -0,0 +1,35 @@
+DEFINITION MODULE FOR "C" GskTextNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskTextNode,
+   gsk_text_node_new,
+   gsk_text_node_get_color,
+   gsk_text_node_get_font,
+   gsk_text_node_get_glyphs,
+   gsk_text_node_get_num_glyphs,
+   gsk_text_node_get_offset,
+   gsk_text_node_has_color_glyphs;
+
+TYPE
+   GskTextNode = ADDRESS;
+
+(* gsk_text_node_new *)
+PROCEDURE gsk_text_node_new (font: ADDRESS; glyphs: ADDRESS; color: ADDRESS; offset: ADDRESS) : [ ADDRESS ];
+(* gsk_text_node_get_color *)
+PROCEDURE gsk_text_node_get_color (node: GskTextNode) : [ ADDRESS ];
+(* gsk_text_node_get_font *)
+PROCEDURE gsk_text_node_get_font (node: GskTextNode) : [ ADDRESS ];
+(* gsk_text_node_get_glyphs *)
+PROCEDURE gsk_text_node_get_glyphs (node: GskTextNode; VAR n_glyphs: CARDINAL);
+(* gsk_text_node_get_num_glyphs *)
+PROCEDURE gsk_text_node_get_num_glyphs (node: GskTextNode) : [ CARDINAL ];
+(* gsk_text_node_get_offset *)
+PROCEDURE gsk_text_node_get_offset (node: GskTextNode) : [ ADDRESS ];
+(* gsk_text_node_has_color_glyphs *)
+PROCEDURE gsk_text_node_has_color_glyphs (node: GskTextNode) : [ INTEGER ];
+
+END GskTextNode.

+ 20 - 0
src/GskTextureNode.def

@@ -0,0 +1,20 @@
+DEFINITION MODULE FOR "C" GskTextureNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskTextureNode,
+   gsk_texture_node_new,
+   gsk_texture_node_get_texture;
+
+TYPE
+   GskTextureNode = ADDRESS;
+
+(* gsk_texture_node_new *)
+PROCEDURE gsk_texture_node_new (texture: ADDRESS; bounds: ADDRESS) : [ ADDRESS ];
+(* gsk_texture_node_get_texture *)
+PROCEDURE gsk_texture_node_get_texture (node: GskTextureNode) : [ ADDRESS ];
+
+END GskTextureNode.

+ 23 - 0
src/GskTextureScaleNode.def

@@ -0,0 +1,23 @@
+DEFINITION MODULE FOR "C" GskTextureScaleNode ;
+
+(* Generated by tools/gir2def.py from Gsk 4.0. *)
+
+FROM SYSTEM IMPORT ADDRESS;
+
+EXPORT UNQUALIFIED
+   GskTextureScaleNode,
+   gsk_texture_scale_node_new,
+   gsk_texture_scale_node_get_filter,
+   gsk_texture_scale_node_get_texture;
+
+TYPE
+   GskTextureScaleNode = ADDRESS;
+
+(* gsk_texture_scale_node_new *)
+PROCEDURE gsk_texture_scale_node_new (texture: ADDRESS; bounds: ADDRESS; filter: CARDINAL) : [ ADDRESS ];
+(* gsk_texture_scale_node_get_filter *)
+PROCEDURE gsk_texture_scale_node_get_filter (node: GskTextureScaleNode) : [ CARDINAL ];
+(* gsk_texture_scale_node_get_texture *)
+PROCEDURE gsk_texture_scale_node_get_texture (node: GskTextureScaleNode) : [ ADDRESS ];
+
+END GskTextureScaleNode.

部分文件因文件數量過多而無法顯示