@gtkx/ffi 0.1.18 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/dist/codegen/ffi-generator.d.ts +0 -1
  2. package/dist/codegen/ffi-generator.js +44 -39
  3. package/dist/generated/gdk/app-launch-context.js +5 -1
  4. package/dist/generated/gdk/cicp-params.js +5 -1
  5. package/dist/generated/gdk/clipboard.js +10 -4
  6. package/dist/generated/gdk/content-deserializer.js +5 -1
  7. package/dist/generated/gdk/content-provider.js +10 -4
  8. package/dist/generated/gdk/content-serializer.js +5 -1
  9. package/dist/generated/gdk/cursor.d.ts +1 -1
  10. package/dist/generated/gdk/cursor.js +7 -3
  11. package/dist/generated/gdk/device-tool.js +5 -1
  12. package/dist/generated/gdk/device.js +16 -7
  13. package/dist/generated/gdk/display-manager.js +23 -8
  14. package/dist/generated/gdk/display.d.ts +2 -2
  15. package/dist/generated/gdk/display.js +46 -16
  16. package/dist/generated/gdk/dmabuf-texture-builder.js +5 -1
  17. package/dist/generated/gdk/drag.js +15 -6
  18. package/dist/generated/gdk/draw-context.js +5 -1
  19. package/dist/generated/gdk/drop.js +5 -1
  20. package/dist/generated/gdk/event.d.ts +1 -1
  21. package/dist/generated/gdk/event.js +1 -1
  22. package/dist/generated/gdk/file-list.js +14 -3
  23. package/dist/generated/gdk/frame-clock.js +16 -10
  24. package/dist/generated/gdk/gltexture-builder.js +5 -1
  25. package/dist/generated/gdk/memory-texture-builder.js +5 -1
  26. package/dist/generated/gdk/monitor.js +10 -4
  27. package/dist/generated/gdk/seat.js +49 -19
  28. package/dist/generated/gdk/snapshot.js +5 -1
  29. package/dist/generated/gdk/surface.js +40 -17
  30. package/dist/generated/gdk/texture.js +5 -1
  31. package/dist/generated/gdk/toplevel.js +5 -1
  32. package/dist/generated/gdk/vulkan-context.js +10 -4
  33. package/dist/generated/gdkpixbuf/pixbuf-animation-iter.d.ts +1 -1
  34. package/dist/generated/gdkpixbuf/pixbuf-animation-iter.js +7 -3
  35. package/dist/generated/gdkpixbuf/pixbuf-animation.d.ts +1 -1
  36. package/dist/generated/gdkpixbuf/pixbuf-animation.js +7 -3
  37. package/dist/generated/gdkpixbuf/pixbuf-format.d.ts +1 -1
  38. package/dist/generated/gdkpixbuf/pixbuf-format.js +1 -1
  39. package/dist/generated/gdkpixbuf/pixbuf-loader.js +27 -15
  40. package/dist/generated/gdkpixbuf/pixbuf.d.ts +1 -1
  41. package/dist/generated/gdkpixbuf/pixbuf.js +9 -3
  42. package/dist/generated/gio/action-map.d.ts +2 -2
  43. package/dist/generated/gio/action-map.js +8 -2
  44. package/dist/generated/gio/app-info-monitor.js +10 -4
  45. package/dist/generated/gio/app-info.d.ts +1 -1
  46. package/dist/generated/gio/app-info.js +17 -5
  47. package/dist/generated/gio/app-launch-context.js +37 -14
  48. package/dist/generated/gio/application-command-line.js +5 -1
  49. package/dist/generated/gio/application.d.ts +3 -3
  50. package/dist/generated/gio/application.js +50 -24
  51. package/dist/generated/gio/async-initable.d.ts +1 -1
  52. package/dist/generated/gio/async-initable.js +2 -2
  53. package/dist/generated/gio/buffered-input-stream.d.ts +1 -1
  54. package/dist/generated/gio/buffered-input-stream.js +2 -2
  55. package/dist/generated/gio/bytes-icon.d.ts +1 -1
  56. package/dist/generated/gio/bytes-icon.js +7 -3
  57. package/dist/generated/gio/cancellable.d.ts +1 -1
  58. package/dist/generated/gio/cancellable.js +12 -6
  59. package/dist/generated/gio/charset-converter.js +5 -1
  60. package/dist/generated/gio/converter-output-stream.d.ts +1 -1
  61. package/dist/generated/gio/converter-output-stream.js +4 -1
  62. package/dist/generated/gio/credentials.js +5 -1
  63. package/dist/generated/gio/data-input-stream.d.ts +3 -3
  64. package/dist/generated/gio/data-input-stream.js +6 -6
  65. package/dist/generated/gio/datagram-based.d.ts +2 -2
  66. package/dist/generated/gio/datagram-based.js +8 -2
  67. package/dist/generated/gio/dbus-action-group.js +5 -1
  68. package/dist/generated/gio/dbus-auth-observer.js +20 -8
  69. package/dist/generated/gio/dbus-connection.d.ts +12 -12
  70. package/dist/generated/gio/dbus-connection.js +40 -31
  71. package/dist/generated/gio/dbus-interface-skeleton.d.ts +1 -1
  72. package/dist/generated/gio/dbus-interface-skeleton.js +27 -12
  73. package/dist/generated/gio/dbus-menu-model.js +5 -1
  74. package/dist/generated/gio/dbus-message.js +5 -1
  75. package/dist/generated/gio/dbus-method-invocation.js +5 -1
  76. package/dist/generated/gio/dbus-object-manager-client.d.ts +3 -3
  77. package/dist/generated/gio/dbus-object-manager-client.js +50 -30
  78. package/dist/generated/gio/dbus-object-manager-server.js +13 -3
  79. package/dist/generated/gio/dbus-object-manager.js +8 -2
  80. package/dist/generated/gio/dbus-object-proxy.js +13 -3
  81. package/dist/generated/gio/dbus-object-skeleton.js +30 -15
  82. package/dist/generated/gio/dbus-object.js +8 -2
  83. package/dist/generated/gio/dbus-proxy.d.ts +5 -5
  84. package/dist/generated/gio/dbus-proxy.js +36 -22
  85. package/dist/generated/gio/dbus-server.js +18 -9
  86. package/dist/generated/gio/debug-controller-dbus.js +18 -9
  87. package/dist/generated/gio/drive.d.ts +5 -5
  88. package/dist/generated/gio/drive.js +19 -12
  89. package/dist/generated/gio/dtls-client-connection.d.ts +2 -1
  90. package/dist/generated/gio/dtls-client-connection.js +10 -1
  91. package/dist/generated/gio/dtls-connection.d.ts +3 -3
  92. package/dist/generated/gio/dtls-connection.js +6 -6
  93. package/dist/generated/gio/emblem.js +5 -1
  94. package/dist/generated/gio/emblemed-icon.js +14 -3
  95. package/dist/generated/gio/file-attribute-info-list.d.ts +2 -2
  96. package/dist/generated/gio/file-attribute-info-list.js +2 -2
  97. package/dist/generated/gio/file-enumerator.d.ts +2 -2
  98. package/dist/generated/gio/file-enumerator.js +17 -8
  99. package/dist/generated/gio/file-icon.d.ts +1 -1
  100. package/dist/generated/gio/file-icon.js +7 -3
  101. package/dist/generated/gio/file-info.d.ts +2 -2
  102. package/dist/generated/gio/file-info.js +11 -4
  103. package/dist/generated/gio/file-input-stream.d.ts +1 -1
  104. package/dist/generated/gio/file-input-stream.js +2 -2
  105. package/dist/generated/gio/file-iostream.d.ts +1 -1
  106. package/dist/generated/gio/file-iostream.js +2 -2
  107. package/dist/generated/gio/file-monitor.js +17 -8
  108. package/dist/generated/gio/file-output-stream.d.ts +1 -1
  109. package/dist/generated/gio/file-output-stream.js +2 -2
  110. package/dist/generated/gio/file.d.ts +36 -36
  111. package/dist/generated/gio/file.js +76 -76
  112. package/dist/generated/gio/filename-completer.js +10 -4
  113. package/dist/generated/gio/functions.d.ts +20 -20
  114. package/dist/generated/gio/functions.js +87 -52
  115. package/dist/generated/gio/inet-address-mask.js +5 -1
  116. package/dist/generated/gio/inet-address.js +5 -1
  117. package/dist/generated/gio/input-stream.d.ts +5 -5
  118. package/dist/generated/gio/input-stream.js +15 -11
  119. package/dist/generated/gio/iomodule.js +5 -1
  120. package/dist/generated/gio/iostream.d.ts +2 -2
  121. package/dist/generated/gio/iostream.js +9 -5
  122. package/dist/generated/gio/list-store.d.ts +1 -1
  123. package/dist/generated/gio/list-store.js +7 -3
  124. package/dist/generated/gio/loadable-icon.d.ts +1 -1
  125. package/dist/generated/gio/loadable-icon.js +2 -2
  126. package/dist/generated/gio/memory-output-stream.d.ts +1 -1
  127. package/dist/generated/gio/memory-output-stream.js +4 -1
  128. package/dist/generated/gio/menu-attribute-iter.js +5 -1
  129. package/dist/generated/gio/menu-item.js +5 -1
  130. package/dist/generated/gio/menu-link-iter.js +5 -1
  131. package/dist/generated/gio/menu-model.js +17 -8
  132. package/dist/generated/gio/menu.js +5 -1
  133. package/dist/generated/gio/mount-operation.js +50 -25
  134. package/dist/generated/gio/mount.d.ts +6 -6
  135. package/dist/generated/gio/mount.js +12 -12
  136. package/dist/generated/gio/native-volume-monitor.js +5 -1
  137. package/dist/generated/gio/network-address.js +5 -1
  138. package/dist/generated/gio/network-monitor.d.ts +1 -1
  139. package/dist/generated/gio/network-monitor.js +2 -2
  140. package/dist/generated/gio/network-service.js +5 -1
  141. package/dist/generated/gio/notification.js +5 -1
  142. package/dist/generated/gio/output-stream.d.ts +10 -10
  143. package/dist/generated/gio/output-stream.js +37 -21
  144. package/dist/generated/gio/permission.d.ts +2 -2
  145. package/dist/generated/gio/permission.js +9 -5
  146. package/dist/generated/gio/pollable-output-stream.d.ts +1 -1
  147. package/dist/generated/gio/pollable-output-stream.js +4 -1
  148. package/dist/generated/gio/property-action.js +5 -1
  149. package/dist/generated/gio/proxy-resolver.d.ts +1 -1
  150. package/dist/generated/gio/proxy-resolver.js +2 -2
  151. package/dist/generated/gio/proxy.d.ts +1 -1
  152. package/dist/generated/gio/proxy.js +2 -2
  153. package/dist/generated/gio/resolver.d.ts +5 -5
  154. package/dist/generated/gio/resolver.js +61 -26
  155. package/dist/generated/gio/settings-backend.js +5 -1
  156. package/dist/generated/gio/settings.d.ts +1 -1
  157. package/dist/generated/gio/settings.js +35 -19
  158. package/dist/generated/gio/simple-action-group.d.ts +3 -3
  159. package/dist/generated/gio/simple-action-group.js +17 -4
  160. package/dist/generated/gio/simple-action.js +21 -9
  161. package/dist/generated/gio/simple-async-result.d.ts +2 -2
  162. package/dist/generated/gio/simple-async-result.js +9 -5
  163. package/dist/generated/gio/simple-proxy-resolver.d.ts +1 -1
  164. package/dist/generated/gio/simple-proxy-resolver.js +7 -3
  165. package/dist/generated/gio/socket-address-enumerator.d.ts +1 -1
  166. package/dist/generated/gio/socket-address-enumerator.js +7 -3
  167. package/dist/generated/gio/socket-address.js +5 -1
  168. package/dist/generated/gio/socket-client.d.ts +4 -4
  169. package/dist/generated/gio/socket-client.js +25 -16
  170. package/dist/generated/gio/socket-connection.d.ts +1 -1
  171. package/dist/generated/gio/socket-connection.js +2 -2
  172. package/dist/generated/gio/socket-control-message.js +5 -1
  173. package/dist/generated/gio/socket-listener.d.ts +2 -2
  174. package/dist/generated/gio/socket-listener.js +20 -11
  175. package/dist/generated/gio/socket-service.js +19 -10
  176. package/dist/generated/gio/socket.d.ts +5 -5
  177. package/dist/generated/gio/socket.js +25 -6
  178. package/dist/generated/gio/subprocess-launcher.js +5 -1
  179. package/dist/generated/gio/subprocess.d.ts +4 -4
  180. package/dist/generated/gio/subprocess.js +13 -9
  181. package/dist/generated/gio/task.d.ts +2 -2
  182. package/dist/generated/gio/task.js +9 -5
  183. package/dist/generated/gio/test-dbus.js +5 -1
  184. package/dist/generated/gio/themed-icon.js +5 -1
  185. package/dist/generated/gio/threaded-resolver.js +5 -1
  186. package/dist/generated/gio/threaded-socket-service.js +29 -17
  187. package/dist/generated/gio/tls-certificate.js +11 -2
  188. package/dist/generated/gio/tls-client-connection.d.ts +2 -1
  189. package/dist/generated/gio/tls-client-connection.js +10 -1
  190. package/dist/generated/gio/tls-connection.d.ts +1 -1
  191. package/dist/generated/gio/tls-connection.js +21 -12
  192. package/dist/generated/gio/tls-database.d.ts +4 -4
  193. package/dist/generated/gio/tls-database.js +29 -15
  194. package/dist/generated/gio/tls-interaction.d.ts +2 -2
  195. package/dist/generated/gio/tls-interaction.js +9 -5
  196. package/dist/generated/gio/tls-password.js +5 -1
  197. package/dist/generated/gio/unix-connection.d.ts +2 -2
  198. package/dist/generated/gio/unix-connection.js +4 -4
  199. package/dist/generated/gio/unix-fdlist.js +5 -1
  200. package/dist/generated/gio/vfs.js +5 -1
  201. package/dist/generated/gio/volume-monitor.js +82 -21
  202. package/dist/generated/gio/volume.d.ts +3 -3
  203. package/dist/generated/gio/volume.js +6 -6
  204. package/dist/generated/gio/zlib-compressor.js +5 -1
  205. package/dist/generated/gio/zlib-decompressor.js +5 -1
  206. package/dist/generated/glib/date-time.d.ts +3 -3
  207. package/dist/generated/glib/date-time.js +6 -6
  208. package/dist/generated/glib/date.d.ts +2 -2
  209. package/dist/generated/glib/date.js +4 -4
  210. package/dist/generated/glib/functions.d.ts +105 -105
  211. package/dist/generated/glib/functions.js +271 -222
  212. package/dist/generated/glib/iochannel.d.ts +2 -2
  213. package/dist/generated/glib/iochannel.js +6 -3
  214. package/dist/generated/glib/main-context.d.ts +4 -4
  215. package/dist/generated/glib/main-context.js +8 -8
  216. package/dist/generated/glib/markup-parse-context.d.ts +2 -2
  217. package/dist/generated/glib/markup-parse-context.js +11 -6
  218. package/dist/generated/glib/option-group.d.ts +3 -3
  219. package/dist/generated/glib/option-group.js +6 -3
  220. package/dist/generated/glib/regex.d.ts +1 -1
  221. package/dist/generated/glib/regex.js +2 -2
  222. package/dist/generated/glib/source.d.ts +6 -6
  223. package/dist/generated/glib/source.js +11 -11
  224. package/dist/generated/glib/string.d.ts +3 -3
  225. package/dist/generated/glib/string.js +6 -6
  226. package/dist/generated/glib/tree.d.ts +9 -9
  227. package/dist/generated/glib/tree.js +10 -10
  228. package/dist/generated/glib/variant.d.ts +1 -1
  229. package/dist/generated/glib/variant.js +1 -1
  230. package/dist/generated/gobject/binding-group.js +15 -6
  231. package/dist/generated/gobject/binding.js +15 -6
  232. package/dist/generated/gobject/functions.d.ts +38 -38
  233. package/dist/generated/gobject/functions.js +97 -73
  234. package/dist/generated/gobject/initially-unowned.js +15 -6
  235. package/dist/generated/gobject/object.d.ts +4 -4
  236. package/dist/generated/gobject/object.js +25 -13
  237. package/dist/generated/gobject/signal-group.d.ts +2 -2
  238. package/dist/generated/gobject/signal-group.js +28 -14
  239. package/dist/generated/gobject/type-module.d.ts +6 -6
  240. package/dist/generated/gobject/type-module.js +33 -18
  241. package/dist/generated/gobject/type-plugin.d.ts +2 -2
  242. package/dist/generated/gobject/type-plugin.js +6 -6
  243. package/dist/generated/gobject/value.d.ts +2 -2
  244. package/dist/generated/gobject/value.js +3 -3
  245. package/dist/generated/gsk/border-node.d.ts +2 -2
  246. package/dist/generated/gsk/border-node.js +3 -3
  247. package/dist/generated/gsk/conic-gradient-node.d.ts +2 -2
  248. package/dist/generated/gsk/conic-gradient-node.js +5 -2
  249. package/dist/generated/gsk/glshader.js +5 -1
  250. package/dist/generated/gsk/inset-shadow-node.d.ts +2 -2
  251. package/dist/generated/gsk/inset-shadow-node.js +3 -3
  252. package/dist/generated/gsk/linear-gradient-node.d.ts +2 -2
  253. package/dist/generated/gsk/linear-gradient-node.js +5 -2
  254. package/dist/generated/gsk/outset-shadow-node.d.ts +2 -2
  255. package/dist/generated/gsk/outset-shadow-node.js +3 -3
  256. package/dist/generated/gsk/path-builder.d.ts +2 -2
  257. package/dist/generated/gsk/path-builder.js +4 -4
  258. package/dist/generated/gsk/radial-gradient-node.d.ts +2 -2
  259. package/dist/generated/gsk/radial-gradient-node.js +5 -2
  260. package/dist/generated/gsk/renderer.js +5 -1
  261. package/dist/generated/gsk/repeating-linear-gradient-node.d.ts +1 -1
  262. package/dist/generated/gsk/repeating-linear-gradient-node.js +4 -1
  263. package/dist/generated/gsk/repeating-radial-gradient-node.d.ts +1 -1
  264. package/dist/generated/gsk/repeating-radial-gradient-node.js +4 -1
  265. package/dist/generated/gsk/rounded-clip-node.d.ts +2 -2
  266. package/dist/generated/gsk/rounded-clip-node.js +3 -3
  267. package/dist/generated/gsk/shadow-node.d.ts +2 -2
  268. package/dist/generated/gsk/shadow-node.js +5 -2
  269. package/dist/generated/gsk/text-node.d.ts +1 -1
  270. package/dist/generated/gsk/text-node.js +1 -1
  271. package/dist/generated/gtk/about-dialog.js +21 -9
  272. package/dist/generated/gtk/accessible-list.js +14 -3
  273. package/dist/generated/gtk/action-bar.js +5 -1
  274. package/dist/generated/gtk/adjustment.js +11 -5
  275. package/dist/generated/gtk/alert-dialog.js +5 -1
  276. package/dist/generated/gtk/any-filter.js +5 -1
  277. package/dist/generated/gtk/app-chooser-button.js +15 -6
  278. package/dist/generated/gtk/app-chooser-dialog.js +22 -10
  279. package/dist/generated/gtk/app-chooser-widget.js +17 -5
  280. package/dist/generated/gtk/application-window.js +17 -8
  281. package/dist/generated/gtk/application.js +30 -12
  282. package/dist/generated/gtk/aspect-frame.js +5 -1
  283. package/dist/generated/gtk/assistant-page.js +5 -1
  284. package/dist/generated/gtk/assistant.js +27 -15
  285. package/dist/generated/gtk/atcontext.js +10 -4
  286. package/dist/generated/gtk/bookmark-list.js +5 -1
  287. package/dist/generated/gtk/bool-filter.js +5 -1
  288. package/dist/generated/gtk/box.js +5 -1
  289. package/dist/generated/gtk/builder-cscope.d.ts +1 -1
  290. package/dist/generated/gtk/builder-cscope.js +7 -3
  291. package/dist/generated/gtk/builder.js +13 -3
  292. package/dist/generated/gtk/button.js +11 -5
  293. package/dist/generated/gtk/calendar.js +14 -8
  294. package/dist/generated/gtk/cclosure-expression.d.ts +1 -1
  295. package/dist/generated/gtk/cclosure-expression.js +6 -6
  296. package/dist/generated/gtk/cell-area-box.js +5 -1
  297. package/dist/generated/gtk/cell-area-context.js +5 -1
  298. package/dist/generated/gtk/cell-area.d.ts +2 -2
  299. package/dist/generated/gtk/cell-area.js +70 -31
  300. package/dist/generated/gtk/cell-layout.js +9 -2
  301. package/dist/generated/gtk/cell-renderer-accel.js +29 -14
  302. package/dist/generated/gtk/cell-renderer-combo.js +23 -11
  303. package/dist/generated/gtk/cell-renderer-pixbuf.js +5 -1
  304. package/dist/generated/gtk/cell-renderer-progress.js +5 -1
  305. package/dist/generated/gtk/cell-renderer-spin.js +16 -7
  306. package/dist/generated/gtk/cell-renderer-spinner.js +5 -1
  307. package/dist/generated/gtk/cell-renderer-text.js +16 -7
  308. package/dist/generated/gtk/cell-renderer-toggle.js +13 -4
  309. package/dist/generated/gtk/cell-renderer.js +17 -8
  310. package/dist/generated/gtk/cell-view.js +14 -3
  311. package/dist/generated/gtk/center-box.js +5 -1
  312. package/dist/generated/gtk/check-button.js +11 -5
  313. package/dist/generated/gtk/color-button.js +11 -5
  314. package/dist/generated/gtk/color-chooser-dialog.js +22 -10
  315. package/dist/generated/gtk/color-chooser-widget.js +5 -1
  316. package/dist/generated/gtk/color-dialog-button.js +10 -4
  317. package/dist/generated/gtk/color-dialog.js +5 -1
  318. package/dist/generated/gtk/column-view-column.js +5 -1
  319. package/dist/generated/gtk/column-view-row.js +5 -1
  320. package/dist/generated/gtk/column-view-sorter.js +5 -1
  321. package/dist/generated/gtk/column-view.js +13 -4
  322. package/dist/generated/gtk/combo-box-text.js +21 -9
  323. package/dist/generated/gtk/combo-box.js +30 -11
  324. package/dist/generated/gtk/constraint-guide.js +5 -1
  325. package/dist/generated/gtk/constraint-layout.js +9 -3
  326. package/dist/generated/gtk/constraint.js +5 -1
  327. package/dist/generated/gtk/css-provider.js +16 -7
  328. package/dist/generated/gtk/css-section.d.ts +4 -4
  329. package/dist/generated/gtk/css-section.js +10 -10
  330. package/dist/generated/gtk/custom-filter.js +5 -1
  331. package/dist/generated/gtk/custom-sorter.js +5 -1
  332. package/dist/generated/gtk/dialog.js +22 -10
  333. package/dist/generated/gtk/directory-list.js +5 -1
  334. package/dist/generated/gtk/drag-icon.js +5 -1
  335. package/dist/generated/gtk/drag-source.js +75 -32
  336. package/dist/generated/gtk/drawing-area.js +16 -7
  337. package/dist/generated/gtk/drop-controller-motion.js +24 -12
  338. package/dist/generated/gtk/drop-down.js +10 -4
  339. package/dist/generated/gtk/drop-target-async.js +41 -20
  340. package/dist/generated/gtk/drop-target.js +36 -18
  341. package/dist/generated/gtk/editable-label.js +5 -1
  342. package/dist/generated/gtk/emoji-chooser.js +15 -6
  343. package/dist/generated/gtk/entry-buffer.js +24 -12
  344. package/dist/generated/gtk/entry-completion.js +37 -15
  345. package/dist/generated/gtk/entry.d.ts +2 -2
  346. package/dist/generated/gtk/entry.js +21 -9
  347. package/dist/generated/gtk/event-controller-focus.js +11 -5
  348. package/dist/generated/gtk/event-controller-key.js +30 -15
  349. package/dist/generated/gtk/event-controller-legacy.js +13 -4
  350. package/dist/generated/gtk/event-controller-motion.js +24 -12
  351. package/dist/generated/gtk/event-controller-scroll.js +25 -13
  352. package/dist/generated/gtk/event-controller.js +5 -1
  353. package/dist/generated/gtk/every-filter.js +5 -1
  354. package/dist/generated/gtk/expander.js +10 -4
  355. package/dist/generated/gtk/expression.d.ts +1 -1
  356. package/dist/generated/gtk/expression.js +2 -2
  357. package/dist/generated/gtk/file-chooser-dialog.js +22 -10
  358. package/dist/generated/gtk/file-chooser-native.js +5 -1
  359. package/dist/generated/gtk/file-chooser-widget.js +27 -15
  360. package/dist/generated/gtk/file-dialog.js +5 -1
  361. package/dist/generated/gtk/file-filter.js +5 -1
  362. package/dist/generated/gtk/file-launcher.js +5 -1
  363. package/dist/generated/gtk/filter-list-model.js +5 -1
  364. package/dist/generated/gtk/filter.js +13 -4
  365. package/dist/generated/gtk/fixed.js +5 -1
  366. package/dist/generated/gtk/flatten-list-model.js +5 -1
  367. package/dist/generated/gtk/flow-box-child.js +10 -4
  368. package/dist/generated/gtk/flow-box.js +43 -19
  369. package/dist/generated/gtk/font-button.js +11 -5
  370. package/dist/generated/gtk/font-chooser-dialog.js +22 -10
  371. package/dist/generated/gtk/font-chooser-widget.js +5 -1
  372. package/dist/generated/gtk/font-dialog-button.js +10 -4
  373. package/dist/generated/gtk/font-dialog.js +5 -1
  374. package/dist/generated/gtk/frame.js +5 -1
  375. package/dist/generated/gtk/functions.d.ts +2 -2
  376. package/dist/generated/gtk/functions.js +8 -3
  377. package/dist/generated/gtk/gesture-click.js +78 -36
  378. package/dist/generated/gtk/gesture-drag.js +71 -31
  379. package/dist/generated/gtk/gesture-long-press.js +58 -24
  380. package/dist/generated/gtk/gesture-pan.js +78 -35
  381. package/dist/generated/gtk/gesture-rotate.js +57 -23
  382. package/dist/generated/gtk/gesture-single.js +50 -19
  383. package/dist/generated/gtk/gesture-stylus.d.ts +1 -1
  384. package/dist/generated/gtk/gesture-stylus.js +82 -36
  385. package/dist/generated/gtk/gesture-swipe.js +57 -23
  386. package/dist/generated/gtk/gesture-zoom.js +54 -20
  387. package/dist/generated/gtk/gesture.js +60 -21
  388. package/dist/generated/gtk/glarea.js +24 -9
  389. package/dist/generated/gtk/graphics-offload.js +5 -1
  390. package/dist/generated/gtk/grid-view.js +13 -4
  391. package/dist/generated/gtk/grid.js +5 -1
  392. package/dist/generated/gtk/header-bar.js +5 -1
  393. package/dist/generated/gtk/icon-paintable.js +5 -1
  394. package/dist/generated/gtk/icon-theme.js +10 -4
  395. package/dist/generated/gtk/icon-view.js +41 -20
  396. package/dist/generated/gtk/image.js +5 -1
  397. package/dist/generated/gtk/imcontext-simple.js +5 -1
  398. package/dist/generated/gtk/imcontext.js +24 -12
  399. package/dist/generated/gtk/immulticontext.js +5 -1
  400. package/dist/generated/gtk/info-bar.js +14 -5
  401. package/dist/generated/gtk/inscription.js +5 -1
  402. package/dist/generated/gtk/label.js +23 -11
  403. package/dist/generated/gtk/layout-child.js +5 -1
  404. package/dist/generated/gtk/layout-manager.js +5 -1
  405. package/dist/generated/gtk/level-bar.js +13 -4
  406. package/dist/generated/gtk/link-button.js +12 -6
  407. package/dist/generated/gtk/list-base.js +5 -1
  408. package/dist/generated/gtk/list-box-row.js +10 -4
  409. package/dist/generated/gtk/list-box.js +43 -22
  410. package/dist/generated/gtk/list-header.js +5 -1
  411. package/dist/generated/gtk/list-item-factory.js +5 -1
  412. package/dist/generated/gtk/list-item.js +5 -1
  413. package/dist/generated/gtk/list-store.js +5 -1
  414. package/dist/generated/gtk/list-view.js +13 -4
  415. package/dist/generated/gtk/lock-button.js +11 -5
  416. package/dist/generated/gtk/map-list-model.js +5 -1
  417. package/dist/generated/gtk/media-controls.js +5 -1
  418. package/dist/generated/gtk/media-stream.js +5 -1
  419. package/dist/generated/gtk/menu-button.js +10 -4
  420. package/dist/generated/gtk/message-dialog.js +22 -10
  421. package/dist/generated/gtk/mount-operation.js +5 -1
  422. package/dist/generated/gtk/multi-filter.js +5 -1
  423. package/dist/generated/gtk/multi-selection.js +5 -1
  424. package/dist/generated/gtk/multi-sorter.js +5 -1
  425. package/dist/generated/gtk/native-dialog.js +13 -4
  426. package/dist/generated/gtk/no-selection.js +5 -1
  427. package/dist/generated/gtk/notebook-page.js +5 -1
  428. package/dist/generated/gtk/notebook.js +66 -30
  429. package/dist/generated/gtk/numeric-sorter.js +5 -1
  430. package/dist/generated/gtk/overlay.js +16 -7
  431. package/dist/generated/gtk/pad-controller.d.ts +1 -1
  432. package/dist/generated/gtk/pad-controller.js +4 -1
  433. package/dist/generated/gtk/page-setup-unix-dialog.js +22 -10
  434. package/dist/generated/gtk/page-setup.js +5 -1
  435. package/dist/generated/gtk/paned.js +24 -9
  436. package/dist/generated/gtk/paper-size.js +2 -0
  437. package/dist/generated/gtk/param-spec-expression.js +5 -1
  438. package/dist/generated/gtk/password-entry-buffer.js +5 -1
  439. package/dist/generated/gtk/password-entry.js +10 -4
  440. package/dist/generated/gtk/picture.js +5 -1
  441. package/dist/generated/gtk/popover-menu-bar.js +5 -1
  442. package/dist/generated/gtk/popover-menu.js +11 -5
  443. package/dist/generated/gtk/popover.js +11 -5
  444. package/dist/generated/gtk/print-context.js +5 -1
  445. package/dist/generated/gtk/print-dialog.js +5 -1
  446. package/dist/generated/gtk/print-job.d.ts +2 -2
  447. package/dist/generated/gtk/print-job.js +15 -6
  448. package/dist/generated/gtk/print-operation.js +94 -37
  449. package/dist/generated/gtk/print-settings.d.ts +2 -2
  450. package/dist/generated/gtk/print-settings.js +10 -3
  451. package/dist/generated/gtk/print-unix-dialog.js +22 -10
  452. package/dist/generated/gtk/printer.d.ts +2 -2
  453. package/dist/generated/gtk/printer.js +24 -9
  454. package/dist/generated/gtk/progress-bar.js +5 -1
  455. package/dist/generated/gtk/range.js +25 -10
  456. package/dist/generated/gtk/recent-manager.d.ts +1 -1
  457. package/dist/generated/gtk/recent-manager.js +14 -6
  458. package/dist/generated/gtk/revealer.js +5 -1
  459. package/dist/generated/gtk/scale-button.js +15 -6
  460. package/dist/generated/gtk/scale.js +25 -10
  461. package/dist/generated/gtk/scrollbar.js +5 -1
  462. package/dist/generated/gtk/scrolled-window.js +28 -10
  463. package/dist/generated/gtk/search-bar.js +5 -1
  464. package/dist/generated/gtk/search-entry.js +15 -9
  465. package/dist/generated/gtk/selection-filter-model.js +5 -1
  466. package/dist/generated/gtk/separator.js +5 -1
  467. package/dist/generated/gtk/settings.js +5 -1
  468. package/dist/generated/gtk/shortcut-action.js +5 -1
  469. package/dist/generated/gtk/shortcut-label.js +5 -1
  470. package/dist/generated/gtk/shortcut-trigger.js +5 -1
  471. package/dist/generated/gtk/shortcut.js +5 -1
  472. package/dist/generated/gtk/shortcuts-group.js +5 -1
  473. package/dist/generated/gtk/shortcuts-section.js +13 -4
  474. package/dist/generated/gtk/shortcuts-shortcut.js +5 -1
  475. package/dist/generated/gtk/shortcuts-window.js +19 -10
  476. package/dist/generated/gtk/signal-list-item-factory.js +25 -7
  477. package/dist/generated/gtk/single-selection.js +5 -1
  478. package/dist/generated/gtk/size-group.js +14 -3
  479. package/dist/generated/gtk/slice-list-model.js +5 -1
  480. package/dist/generated/gtk/snapshot.d.ts +10 -10
  481. package/dist/generated/gtk/snapshot.js +37 -15
  482. package/dist/generated/gtk/sort-list-model.js +5 -1
  483. package/dist/generated/gtk/sorter.js +13 -4
  484. package/dist/generated/gtk/spin-button.js +21 -9
  485. package/dist/generated/gtk/spinner.js +5 -1
  486. package/dist/generated/gtk/stack-page.js +5 -1
  487. package/dist/generated/gtk/stack-sidebar.js +5 -1
  488. package/dist/generated/gtk/stack-switcher.js +5 -1
  489. package/dist/generated/gtk/stack.js +5 -1
  490. package/dist/generated/gtk/statusbar.js +23 -11
  491. package/dist/generated/gtk/string-filter.js +5 -1
  492. package/dist/generated/gtk/string-list.js +5 -1
  493. package/dist/generated/gtk/string-object.js +5 -1
  494. package/dist/generated/gtk/string-sorter.js +5 -1
  495. package/dist/generated/gtk/style-context.js +5 -1
  496. package/dist/generated/gtk/switch.js +14 -5
  497. package/dist/generated/gtk/text-buffer.d.ts +1 -1
  498. package/dist/generated/gtk/text-buffer.js +82 -49
  499. package/dist/generated/gtk/text-child-anchor.js +8 -2
  500. package/dist/generated/gtk/text-iter.d.ts +3 -3
  501. package/dist/generated/gtk/text-iter.js +31 -11
  502. package/dist/generated/gtk/text-mark.js +5 -1
  503. package/dist/generated/gtk/text-tag-table.d.ts +1 -1
  504. package/dist/generated/gtk/text-tag-table.js +30 -15
  505. package/dist/generated/gtk/text-tag.js +5 -1
  506. package/dist/generated/gtk/text-view.js +60 -33
  507. package/dist/generated/gtk/text.d.ts +2 -2
  508. package/dist/generated/gtk/text.js +42 -24
  509. package/dist/generated/gtk/toggle-button.js +12 -6
  510. package/dist/generated/gtk/tooltip.js +5 -1
  511. package/dist/generated/gtk/tree-expander.js +5 -1
  512. package/dist/generated/gtk/tree-list-model.js +5 -1
  513. package/dist/generated/gtk/tree-list-row-sorter.js +5 -1
  514. package/dist/generated/gtk/tree-list-row.js +5 -1
  515. package/dist/generated/gtk/tree-model-filter.js +5 -1
  516. package/dist/generated/gtk/tree-model-sort.js +5 -1
  517. package/dist/generated/gtk/tree-selection.js +12 -4
  518. package/dist/generated/gtk/tree-store.js +5 -1
  519. package/dist/generated/gtk/tree-view-column.js +19 -6
  520. package/dist/generated/gtk/tree-view.js +83 -47
  521. package/dist/generated/gtk/uri-launcher.js +5 -1
  522. package/dist/generated/gtk/video.js +5 -1
  523. package/dist/generated/gtk/viewport.js +5 -1
  524. package/dist/generated/gtk/volume-button.js +15 -6
  525. package/dist/generated/gtk/widget-paintable.js +5 -1
  526. package/dist/generated/gtk/widget.d.ts +3 -3
  527. package/dist/generated/gtk/widget.js +61 -28
  528. package/dist/generated/gtk/window-controls.js +5 -1
  529. package/dist/generated/gtk/window-group.js +14 -3
  530. package/dist/generated/gtk/window-handle.js +5 -1
  531. package/dist/generated/gtk/window.js +19 -8
  532. package/dist/generated/gtksource/annotation-provider.js +10 -4
  533. package/dist/generated/gtksource/annotation.js +5 -1
  534. package/dist/generated/gtksource/annotations.js +10 -4
  535. package/dist/generated/gtksource/buffer.js +44 -17
  536. package/dist/generated/gtksource/completion-cell.js +5 -1
  537. package/dist/generated/gtksource/completion-context.js +16 -7
  538. package/dist/generated/gtksource/completion-provider.d.ts +1 -1
  539. package/dist/generated/gtksource/completion-provider.js +2 -2
  540. package/dist/generated/gtksource/completion-snippets.d.ts +1 -1
  541. package/dist/generated/gtksource/completion-snippets.js +7 -3
  542. package/dist/generated/gtksource/completion-words.d.ts +1 -1
  543. package/dist/generated/gtksource/completion-words.js +7 -3
  544. package/dist/generated/gtksource/completion.js +19 -7
  545. package/dist/generated/gtksource/encoding.js +4 -0
  546. package/dist/generated/gtksource/file-loader.js +6 -1
  547. package/dist/generated/gtksource/file-saver.js +5 -1
  548. package/dist/generated/gtksource/file.js +5 -1
  549. package/dist/generated/gtksource/functions.d.ts +2 -2
  550. package/dist/generated/gtksource/functions.js +8 -4
  551. package/dist/generated/gtksource/gutter-lines.js +5 -1
  552. package/dist/generated/gtksource/gutter-renderer-pixbuf.js +5 -1
  553. package/dist/generated/gtksource/gutter-renderer-text.js +5 -1
  554. package/dist/generated/gtksource/gutter-renderer.js +33 -18
  555. package/dist/generated/gtksource/gutter.js +5 -1
  556. package/dist/generated/gtksource/hover-context.js +5 -1
  557. package/dist/generated/gtksource/hover-display.js +5 -1
  558. package/dist/generated/gtksource/hover.js +5 -1
  559. package/dist/generated/gtksource/language-manager.js +5 -1
  560. package/dist/generated/gtksource/language.js +5 -1
  561. package/dist/generated/gtksource/map.js +5 -1
  562. package/dist/generated/gtksource/mark-attributes.js +21 -9
  563. package/dist/generated/gtksource/mark.js +5 -1
  564. package/dist/generated/gtksource/print-compositor.js +5 -1
  565. package/dist/generated/gtksource/region.d.ts +1 -1
  566. package/dist/generated/gtksource/region.js +9 -2
  567. package/dist/generated/gtksource/search-context.js +5 -1
  568. package/dist/generated/gtksource/search-settings.js +5 -1
  569. package/dist/generated/gtksource/snippet-chunk.js +5 -1
  570. package/dist/generated/gtksource/snippet-context.js +10 -4
  571. package/dist/generated/gtksource/snippet-manager.js +5 -1
  572. package/dist/generated/gtksource/snippet.js +5 -1
  573. package/dist/generated/gtksource/space-drawer.js +5 -1
  574. package/dist/generated/gtksource/style-scheme-chooser-button.js +5 -1
  575. package/dist/generated/gtksource/style-scheme-chooser-widget.js +5 -1
  576. package/dist/generated/gtksource/style-scheme-manager.js +5 -1
  577. package/dist/generated/gtksource/style-scheme-preview.js +10 -4
  578. package/dist/generated/gtksource/style-scheme.js +5 -1
  579. package/dist/generated/gtksource/style.js +5 -1
  580. package/dist/generated/gtksource/tag.js +5 -1
  581. package/dist/generated/gtksource/view.js +54 -24
  582. package/dist/generated/gtksource/vim-imcontext.js +34 -16
  583. package/dist/generated/harfbuzz/color-line-t.d.ts +2 -2
  584. package/dist/generated/harfbuzz/color-line-t.js +2 -2
  585. package/dist/generated/harfbuzz/color-stop-t.d.ts +2 -2
  586. package/dist/generated/harfbuzz/color-stop-t.js +2 -2
  587. package/dist/generated/harfbuzz/draw-state-t.d.ts +1 -1
  588. package/dist/generated/harfbuzz/draw-state-t.js +1 -1
  589. package/dist/generated/harfbuzz/feature-t.d.ts +1 -1
  590. package/dist/generated/harfbuzz/feature-t.js +1 -1
  591. package/dist/generated/harfbuzz/functions.d.ts +279 -279
  592. package/dist/generated/harfbuzz/functions.js +1080 -780
  593. package/dist/generated/harfbuzz/glyph-info-t.d.ts +1 -1
  594. package/dist/generated/harfbuzz/glyph-info-t.js +1 -1
  595. package/dist/generated/harfbuzz/glyph-position-t.d.ts +4 -4
  596. package/dist/generated/harfbuzz/glyph-position-t.js +4 -4
  597. package/dist/generated/harfbuzz/ot-math-glyph-part-t.d.ts +4 -4
  598. package/dist/generated/harfbuzz/ot-math-glyph-part-t.js +4 -4
  599. package/dist/generated/harfbuzz/ot-math-glyph-variant-t.d.ts +2 -2
  600. package/dist/generated/harfbuzz/ot-math-glyph-variant-t.js +2 -2
  601. package/dist/generated/harfbuzz/ot-var-axis-info-t.d.ts +2 -2
  602. package/dist/generated/harfbuzz/ot-var-axis-info-t.js +2 -2
  603. package/dist/generated/harfbuzz/segment-properties-t.d.ts +1 -1
  604. package/dist/generated/harfbuzz/segment-properties-t.js +1 -1
  605. package/dist/generated/pango/attr-iterator.js +3 -0
  606. package/dist/generated/pango/attr-list.js +2 -0
  607. package/dist/generated/pango/attribute.d.ts +11 -11
  608. package/dist/generated/pango/attribute.js +12 -12
  609. package/dist/generated/pango/context.js +5 -1
  610. package/dist/generated/pango/coverage.js +5 -1
  611. package/dist/generated/pango/font-face.js +5 -1
  612. package/dist/generated/pango/font-family.js +5 -1
  613. package/dist/generated/pango/font-map.js +5 -1
  614. package/dist/generated/pango/font.d.ts +2 -2
  615. package/dist/generated/pango/font.js +17 -7
  616. package/dist/generated/pango/fontset.js +5 -1
  617. package/dist/generated/pango/functions.d.ts +20 -20
  618. package/dist/generated/pango/functions.js +83 -46
  619. package/dist/generated/pango/glyph-item.d.ts +1 -1
  620. package/dist/generated/pango/glyph-item.js +6 -1
  621. package/dist/generated/pango/glyph-string.d.ts +6 -6
  622. package/dist/generated/pango/glyph-string.js +25 -13
  623. package/dist/generated/pango/item.d.ts +1 -1
  624. package/dist/generated/pango/item.js +1 -1
  625. package/dist/generated/pango/layout-iter.d.ts +7 -7
  626. package/dist/generated/pango/layout-iter.js +38 -11
  627. package/dist/generated/pango/layout-line.d.ts +3 -3
  628. package/dist/generated/pango/layout-line.js +21 -5
  629. package/dist/generated/pango/layout.d.ts +8 -8
  630. package/dist/generated/pango/layout.js +56 -15
  631. package/dist/generated/pango/matrix.d.ts +2 -2
  632. package/dist/generated/pango/matrix.js +8 -2
  633. package/dist/generated/pango/renderer.d.ts +1 -1
  634. package/dist/generated/pango/renderer.js +7 -3
  635. package/dist/generated/pango/tab-array.d.ts +2 -2
  636. package/dist/generated/pango/tab-array.js +3 -3
  637. package/dist/native.d.ts +6 -2
  638. package/package.json +3 -3
@@ -36,7 +36,6 @@ export declare class CodeGenerator {
36
36
  private buildClassMap;
37
37
  private registerInterfaces;
38
38
  private buildInterfaceMap;
39
- private attachConstructorFunctions;
40
39
  private getStandaloneFunctions;
41
40
  private resetState;
42
41
  private generateClass;
@@ -245,7 +245,6 @@ export class CodeGenerator {
245
245
  this.registerInterfaces(namespace);
246
246
  const classMap = this.buildClassMap(namespace);
247
247
  const interfaceMap = this.buildInterfaceMap(namespace);
248
- this.attachConstructorFunctions(namespace, classMap);
249
248
  const allEnums = [...namespace.enumerations, ...namespace.bitfields];
250
249
  if (allEnums.length > 0) {
251
250
  files.set("enums.ts", await this.generateEnums(allEnums));
@@ -262,7 +261,7 @@ export class CodeGenerator {
262
261
  for (const iface of namespace.interfaces) {
263
262
  files.set(`${toKebabCase(iface.name)}.ts`, await this.generateInterface(iface, namespace.sharedLibrary, classMap));
264
263
  }
265
- const standaloneFunctions = this.getStandaloneFunctions(namespace, classMap);
264
+ const standaloneFunctions = this.getStandaloneFunctions(namespace);
266
265
  if (standaloneFunctions.length > 0) {
267
266
  files.set("functions.ts", await this.generateFunctions(standaloneFunctions, namespace.sharedLibrary));
268
267
  }
@@ -319,37 +318,8 @@ export class CodeGenerator {
319
318
  }
320
319
  return interfaceMap;
321
320
  }
322
- attachConstructorFunctions(namespace, classMap) {
323
- for (const func of namespace.functions) {
324
- const match = func.cIdentifier?.match(/^[a-z_]+_([a-z_]+)_new(_.*)?$/);
325
- if (!match?.[1] || !func.returnType.name)
326
- continue;
327
- const potentialClassName = match[1]
328
- .split("_")
329
- .map((s) => s.charAt(0).toUpperCase() + s.slice(1))
330
- .join("");
331
- const cls = classMap.get(potentialClassName);
332
- if (cls) {
333
- cls.constructors.push({
334
- name: func.name,
335
- cIdentifier: func.cIdentifier,
336
- returnType: func.returnType,
337
- parameters: func.parameters,
338
- });
339
- }
340
- }
341
- }
342
- getStandaloneFunctions(namespace, classMap) {
343
- return namespace.functions.filter((func) => {
344
- const match = func.cIdentifier?.match(/^[a-z_]+_([a-z_]+)_new(_.*)?$/);
345
- if (!match?.[1] || !func.returnType.name)
346
- return true;
347
- const potentialClassName = match[1]
348
- .split("_")
349
- .map((s) => s.charAt(0).toUpperCase() + s.slice(1))
350
- .join("");
351
- return !classMap.has(potentialClassName);
352
- });
321
+ getStandaloneFunctions(namespace) {
322
+ return namespace.functions;
353
323
  }
354
324
  resetState() {
355
325
  this.usesRef = false;
@@ -1077,6 +1047,9 @@ ${allArgs ? `${allArgs},` : ""}
1077
1047
  const needsObjectWrap = (returnTypeMapping.ffi.type === "gobject" || returnTypeMapping.ffi.type === "boxed") &&
1078
1048
  baseReturnType !== "unknown" &&
1079
1049
  returnTypeMapping.kind !== "interface";
1050
+ const needsArrayWrap = returnTypeMapping.ffi.type === "array" &&
1051
+ returnTypeMapping.ffi.itemType?.type === "gobject" &&
1052
+ baseReturnType.endsWith("[]");
1080
1053
  const hasReturnValue = returnTypeMapping.ts !== "void";
1081
1054
  const lines = [];
1082
1055
  const methodDoc = formatMethodDoc(method.doc, method.parameters);
@@ -1118,6 +1091,26 @@ ${allArgs ? `${allArgs},` : ""}
1118
1091
  lines.push(` return wrapPtr(ptr, ${baseReturnType});`);
1119
1092
  }
1120
1093
  }
1094
+ else if (needsArrayWrap && hasReturnValue) {
1095
+ const elementType = baseReturnType.slice(0, -2);
1096
+ this.usesWrapPtr = true;
1097
+ lines.push(` const ptrs = call(
1098
+ "${sharedLibrary}",
1099
+ "${method.cIdentifier}",
1100
+ [
1101
+ {
1102
+ type: { type: "gobject" },
1103
+ value: this.ptr,
1104
+ },
1105
+ ${allArgs ? `${allArgs},` : ""}
1106
+ ],
1107
+ ${this.generateTypeDescriptor(returnTypeMapping.ffi)}
1108
+ ) as unknown[];`);
1109
+ if (method.throws) {
1110
+ lines.push(this.generateErrorCheck());
1111
+ }
1112
+ lines.push(` return ptrs.map(ptr => wrapPtr(ptr, ${elementType}));`);
1113
+ }
1121
1114
  else {
1122
1115
  const callPrefix = method.throws
1123
1116
  ? hasReturnValue
@@ -1184,7 +1177,11 @@ ${allArgs ? `${allArgs},` : ""}
1184
1177
  }
1185
1178
  return `{ type: ${ffiType} }`;
1186
1179
  });
1187
- return ` "${signal.name}": [${paramEntries.join(", ")}]`;
1180
+ const returnTypeFfi = signal.returnType
1181
+ ? JSON.stringify(this.typeMapper.mapType(signal.returnType).ffi)
1182
+ : null;
1183
+ const returnTypePart = returnTypeFfi ? `, returnType: ${returnTypeFfi}` : "";
1184
+ return ` "${signal.name}": { params: [${paramEntries.join(", ")}]${returnTypePart} }`;
1188
1185
  });
1189
1186
  this.typeMapper.setEnumUsageCallback(savedEnumCallback);
1190
1187
  this.typeMapper.setRecordUsageCallback(savedRecordCallback);
@@ -1227,14 +1224,15 @@ ${allArgs ? `${allArgs},` : ""}
1227
1224
  const signalMapCode = signalMetadata.length > 0
1228
1225
  ? `const meta = SIGNAL_META[signal];
1229
1226
  const selfType: Type = { type: "gobject", borrowed: true };
1230
- const argTypes = meta ? [selfType, ...meta.map((m) => m.type)] : [selfType];`
1231
- : `const selfType: Type = { type: "gobject", borrowed: true };\n const argTypes = [selfType];`;
1227
+ const argTypes = meta ? [selfType, ...meta.params.map((m) => m.type)] : [selfType];
1228
+ const returnType = meta?.returnType;`
1229
+ : `const selfType: Type = { type: "gobject", borrowed: true };\n const argTypes = [selfType];\n const returnType = undefined;`;
1232
1230
  const wrapperCode = signalMetadata.length > 0
1233
1231
  ? `const wrappedHandler = (...args: unknown[]) => {
1234
1232
  const self = wrapPtr(args[0], ${className});
1235
1233
  const signalArgs = args.slice(1);
1236
1234
  if (!meta) return handler(self, ...signalArgs);
1237
- const wrapped = meta.map((m, i) => {
1235
+ const wrapped = meta.params.map((m, i) => {
1238
1236
  if (m.getCls && signalArgs[i] != null) {
1239
1237
  return wrapPtr(signalArgs[i], m.getCls());
1240
1238
  }
@@ -1260,7 +1258,7 @@ ${allArgs ? `${allArgs},` : ""}
1260
1258
  [
1261
1259
  { type: { type: "gobject" }, value: this.ptr },
1262
1260
  { type: { type: "string" }, value: signal },
1263
- { type: { type: "callback", argTypes }, value: wrappedHandler },
1261
+ { type: { type: "callback", argTypes, returnType }, value: wrappedHandler },
1264
1262
  { type: { type: "boolean" }, value: after },
1265
1263
  ],
1266
1264
  { type: "int", size: 64, unsigned: true }
@@ -1764,7 +1762,14 @@ ${indent} }`;
1764
1762
  return `{ type: "ref", innerType: ${this.generateTypeDescriptor(type.innerType)} }`;
1765
1763
  }
1766
1764
  if (type.type === "array" && type.itemType) {
1767
- return `{ type: "array", itemType: ${this.generateTypeDescriptor(type.itemType)} }`;
1765
+ const parts = [`type: "array"`, `itemType: ${this.generateTypeDescriptor(type.itemType)}`];
1766
+ if (type.listType) {
1767
+ parts.push(`listType: "${type.listType}"`);
1768
+ }
1769
+ if (type.borrowed) {
1770
+ parts.push(`borrowed: true`);
1771
+ }
1772
+ return `{ ${parts.join(", ")} }`;
1768
1773
  }
1769
1774
  if (type.type === "callback") {
1770
1775
  const parts = [`type: "callback"`];
@@ -77,6 +77,7 @@ export class AppLaunchContext extends Gio.AppLaunchContext {
77
77
  connect(signal, handler, after = false) {
78
78
  const selfType = { type: "gobject", borrowed: true };
79
79
  const argTypes = [selfType];
80
+ const returnType = undefined;
80
81
  const wrappedHandler = (...args) => {
81
82
  const self = wrapPtr(args[0], AppLaunchContext);
82
83
  return handler(self, ...args.slice(1));
@@ -84,7 +85,10 @@ export class AppLaunchContext extends Gio.AppLaunchContext {
84
85
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
85
86
  { type: { type: "gobject" }, value: this.ptr },
86
87
  { type: { type: "string" }, value: signal },
87
- { type: { type: "callback", argTypes }, value: wrappedHandler },
88
+ {
89
+ type: { type: "callback", argTypes, returnType },
90
+ value: wrappedHandler,
91
+ },
88
92
  { type: { type: "boolean" }, value: after },
89
93
  ], { type: "int", size: 64, unsigned: true });
90
94
  }
@@ -124,6 +124,7 @@ export class CicpParams extends GObject.GObject {
124
124
  connect(signal, handler, after = false) {
125
125
  const selfType = { type: "gobject", borrowed: true };
126
126
  const argTypes = [selfType];
127
+ const returnType = undefined;
127
128
  const wrappedHandler = (...args) => {
128
129
  const self = wrapPtr(args[0], CicpParams);
129
130
  return handler(self, ...args.slice(1));
@@ -131,7 +132,10 @@ export class CicpParams extends GObject.GObject {
131
132
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
132
133
  { type: { type: "gobject" }, value: this.ptr },
133
134
  { type: { type: "string" }, value: signal },
134
- { type: { type: "callback", argTypes }, value: wrappedHandler },
135
+ {
136
+ type: { type: "callback", argTypes, returnType },
137
+ value: wrappedHandler,
138
+ },
135
139
  { type: { type: "boolean" }, value: after },
136
140
  ], { type: "int", size: 64, unsigned: true });
137
141
  }
@@ -7,7 +7,7 @@ import { Texture } from "./texture.js";
7
7
  import * as GObject from "../gobject/index.js";
8
8
  import * as Gio from "../gio/index.js";
9
9
  const SIGNAL_META = {
10
- changed: [],
10
+ changed: { params: [], returnType: { type: "undefined" } },
11
11
  };
12
12
  export class Clipboard extends GObject.GObject {
13
13
  constructor(...args) {
@@ -246,13 +246,16 @@ export class Clipboard extends GObject.GObject {
246
246
  connect(signal, handler, after = false) {
247
247
  const meta = SIGNAL_META[signal];
248
248
  const selfType = { type: "gobject", borrowed: true };
249
- const argTypes = meta ? [selfType, ...meta.map((m) => m.type)] : [selfType];
249
+ const argTypes = meta
250
+ ? [selfType, ...meta.params.map((m) => m.type)]
251
+ : [selfType];
252
+ const returnType = meta?.returnType;
250
253
  const wrappedHandler = (...args) => {
251
254
  const self = wrapPtr(args[0], Clipboard);
252
255
  const signalArgs = args.slice(1);
253
256
  if (!meta)
254
257
  return handler(self, ...signalArgs);
255
- const wrapped = meta.map((m, i) => {
258
+ const wrapped = meta.params.map((m, i) => {
256
259
  if (m.getCls && signalArgs[i] != null) {
257
260
  return wrapPtr(signalArgs[i], m.getCls());
258
261
  }
@@ -263,7 +266,10 @@ export class Clipboard extends GObject.GObject {
263
266
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
264
267
  { type: { type: "gobject" }, value: this.ptr },
265
268
  { type: { type: "string" }, value: signal },
266
- { type: { type: "callback", argTypes }, value: wrappedHandler },
269
+ {
270
+ type: { type: "callback", argTypes, returnType },
271
+ value: wrappedHandler,
272
+ },
267
273
  { type: { type: "boolean" }, value: after },
268
274
  ], { type: "int", size: 64, unsigned: true });
269
275
  }
@@ -126,6 +126,7 @@ export class ContentDeserializer extends GObject.GObject {
126
126
  connect(signal, handler, after = false) {
127
127
  const selfType = { type: "gobject", borrowed: true };
128
128
  const argTypes = [selfType];
129
+ const returnType = undefined;
129
130
  const wrappedHandler = (...args) => {
130
131
  const self = wrapPtr(args[0], ContentDeserializer);
131
132
  return handler(self, ...args.slice(1));
@@ -133,7 +134,10 @@ export class ContentDeserializer extends GObject.GObject {
133
134
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
134
135
  { type: { type: "gobject" }, value: this.ptr },
135
136
  { type: { type: "string" }, value: signal },
136
- { type: { type: "callback", argTypes }, value: wrappedHandler },
137
+ {
138
+ type: { type: "callback", argTypes, returnType },
139
+ value: wrappedHandler,
140
+ },
137
141
  { type: { type: "boolean" }, value: after },
138
142
  ], { type: "int", size: 64, unsigned: true });
139
143
  }
@@ -3,7 +3,7 @@ import { NativeError, wrapPtr } from "@gtkx/ffi";
3
3
  import { ContentFormats } from "./content-formats.js";
4
4
  import * as GObject from "../gobject/index.js";
5
5
  const SIGNAL_META = {
6
- "content-changed": [],
6
+ "content-changed": { params: [], returnType: { type: "undefined" } },
7
7
  };
8
8
  export class ContentProvider extends GObject.GObject {
9
9
  constructor(...args) {
@@ -146,13 +146,16 @@ export class ContentProvider extends GObject.GObject {
146
146
  connect(signal, handler, after = false) {
147
147
  const meta = SIGNAL_META[signal];
148
148
  const selfType = { type: "gobject", borrowed: true };
149
- const argTypes = meta ? [selfType, ...meta.map((m) => m.type)] : [selfType];
149
+ const argTypes = meta
150
+ ? [selfType, ...meta.params.map((m) => m.type)]
151
+ : [selfType];
152
+ const returnType = meta?.returnType;
150
153
  const wrappedHandler = (...args) => {
151
154
  const self = wrapPtr(args[0], ContentProvider);
152
155
  const signalArgs = args.slice(1);
153
156
  if (!meta)
154
157
  return handler(self, ...signalArgs);
155
- const wrapped = meta.map((m, i) => {
158
+ const wrapped = meta.params.map((m, i) => {
156
159
  if (m.getCls && signalArgs[i] != null) {
157
160
  return wrapPtr(signalArgs[i], m.getCls());
158
161
  }
@@ -163,7 +166,10 @@ export class ContentProvider extends GObject.GObject {
163
166
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
164
167
  { type: { type: "gobject" }, value: this.ptr },
165
168
  { type: { type: "string" }, value: signal },
166
- { type: { type: "callback", argTypes }, value: wrappedHandler },
169
+ {
170
+ type: { type: "callback", argTypes, returnType },
171
+ value: wrappedHandler,
172
+ },
167
173
  { type: { type: "boolean" }, value: after },
168
174
  ], { type: "int", size: 64, unsigned: true });
169
175
  }
@@ -130,6 +130,7 @@ export class ContentSerializer extends GObject.GObject {
130
130
  connect(signal, handler, after = false) {
131
131
  const selfType = { type: "gobject", borrowed: true };
132
132
  const argTypes = [selfType];
133
+ const returnType = undefined;
133
134
  const wrappedHandler = (...args) => {
134
135
  const self = wrapPtr(args[0], ContentSerializer);
135
136
  return handler(self, ...args.slice(1));
@@ -137,7 +138,10 @@ export class ContentSerializer extends GObject.GObject {
137
138
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
138
139
  { type: { type: "gobject" }, value: this.ptr },
139
140
  { type: { type: "string" }, value: signal },
140
- { type: { type: "callback", argTypes }, value: wrappedHandler },
141
+ {
142
+ type: { type: "callback", argTypes, returnType },
143
+ value: wrappedHandler,
144
+ },
141
145
  { type: { type: "boolean" }, value: after },
142
146
  ], { type: "int", size: 64, unsigned: true });
143
147
  }
@@ -1,7 +1,7 @@
1
1
  import { Texture } from "./texture.js";
2
2
  import * as GObject from "../gobject/index.js";
3
3
  export declare class Cursor extends GObject.GObject {
4
- constructor(callback: unknown, destroy: () => void, data?: number | null, fallback?: Cursor | null);
4
+ constructor(callback: (...args: unknown[]) => unknown, destroy: () => void, data?: number | null, fallback?: Cursor | null);
5
5
  constructor(...args: unknown[]);
6
6
  static newFromName(name: string, fallback?: Cursor | null): Cursor;
7
7
  static newFromTexture(texture: Texture, hotspotX: number, hotspotY: number, fallback?: Cursor | null): Cursor;
@@ -44,8 +44,8 @@ export class Cursor extends GObject.GObject {
44
44
  const [callback, data, destroy, fallback] = args;
45
45
  return call("libgtk-4.so.1", "gdk_cursor_new_from_callback", [
46
46
  {
47
- type: { type: "gobject" },
48
- value: callback?.ptr ?? callback,
47
+ type: { type: "callback" },
48
+ value: callback,
49
49
  },
50
50
  {
51
51
  type: { type: "int", size: 64, unsigned: true },
@@ -110,6 +110,7 @@ export class Cursor extends GObject.GObject {
110
110
  connect(signal, handler, after = false) {
111
111
  const selfType = { type: "gobject", borrowed: true };
112
112
  const argTypes = [selfType];
113
+ const returnType = undefined;
113
114
  const wrappedHandler = (...args) => {
114
115
  const self = wrapPtr(args[0], Cursor);
115
116
  return handler(self, ...args.slice(1));
@@ -117,7 +118,10 @@ export class Cursor extends GObject.GObject {
117
118
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
118
119
  { type: { type: "gobject" }, value: this.ptr },
119
120
  { type: { type: "string" }, value: signal },
120
- { type: { type: "callback", argTypes }, value: wrappedHandler },
121
+ {
122
+ type: { type: "callback", argTypes, returnType },
123
+ value: wrappedHandler,
124
+ },
121
125
  { type: { type: "boolean" }, value: after },
122
126
  ], { type: "int", size: 64, unsigned: true });
123
127
  }
@@ -51,6 +51,7 @@ export class DeviceTool extends GObject.GObject {
51
51
  connect(signal, handler, after = false) {
52
52
  const selfType = { type: "gobject", borrowed: true };
53
53
  const argTypes = [selfType];
54
+ const returnType = undefined;
54
55
  const wrappedHandler = (...args) => {
55
56
  const self = wrapPtr(args[0], DeviceTool);
56
57
  return handler(self, ...args.slice(1));
@@ -58,7 +59,10 @@ export class DeviceTool extends GObject.GObject {
58
59
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
59
60
  { type: { type: "gobject" }, value: this.ptr },
60
61
  { type: { type: "string" }, value: signal },
61
- { type: { type: "callback", argTypes }, value: wrappedHandler },
62
+ {
63
+ type: { type: "callback", argTypes, returnType },
64
+ value: wrappedHandler,
65
+ },
62
66
  { type: { type: "boolean" }, value: after },
63
67
  ], { type: "int", size: 64, unsigned: true });
64
68
  }
@@ -6,10 +6,13 @@ import { Surface } from "./surface.js";
6
6
  import { DeviceTool } from "./device-tool.js";
7
7
  import * as GObject from "../gobject/index.js";
8
8
  const SIGNAL_META = {
9
- changed: [],
10
- "tool-changed": [
11
- { type: { type: "gobject", borrowed: false }, getCls: () => DeviceTool },
12
- ],
9
+ changed: { params: [], returnType: { type: "undefined" } },
10
+ "tool-changed": {
11
+ params: [
12
+ { type: { type: "gobject", borrowed: false }, getCls: () => DeviceTool },
13
+ ],
14
+ returnType: { type: "undefined" },
15
+ },
13
16
  };
14
17
  export class Device extends GObject.GObject {
15
18
  constructor(...args) {
@@ -197,13 +200,16 @@ export class Device extends GObject.GObject {
197
200
  connect(signal, handler, after = false) {
198
201
  const meta = SIGNAL_META[signal];
199
202
  const selfType = { type: "gobject", borrowed: true };
200
- const argTypes = meta ? [selfType, ...meta.map((m) => m.type)] : [selfType];
203
+ const argTypes = meta
204
+ ? [selfType, ...meta.params.map((m) => m.type)]
205
+ : [selfType];
206
+ const returnType = meta?.returnType;
201
207
  const wrappedHandler = (...args) => {
202
208
  const self = wrapPtr(args[0], Device);
203
209
  const signalArgs = args.slice(1);
204
210
  if (!meta)
205
211
  return handler(self, ...signalArgs);
206
- const wrapped = meta.map((m, i) => {
212
+ const wrapped = meta.params.map((m, i) => {
207
213
  if (m.getCls && signalArgs[i] != null) {
208
214
  return wrapPtr(signalArgs[i], m.getCls());
209
215
  }
@@ -214,7 +220,10 @@ export class Device extends GObject.GObject {
214
220
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
215
221
  { type: { type: "gobject" }, value: this.ptr },
216
222
  { type: { type: "string" }, value: signal },
217
- { type: { type: "callback", argTypes }, value: wrappedHandler },
223
+ {
224
+ type: { type: "callback", argTypes, returnType },
225
+ value: wrappedHandler,
226
+ },
218
227
  { type: { type: "boolean" }, value: after },
219
228
  ], { type: "int", size: 64, unsigned: true });
220
229
  }
@@ -3,9 +3,12 @@ import { wrapPtr } from "@gtkx/ffi";
3
3
  import { Display } from "./display.js";
4
4
  import * as GObject from "../gobject/index.js";
5
5
  const SIGNAL_META = {
6
- "display-opened": [
7
- { type: { type: "gobject", borrowed: false }, getCls: () => Display },
8
- ],
6
+ "display-opened": {
7
+ params: [
8
+ { type: { type: "gobject", borrowed: false }, getCls: () => Display },
9
+ ],
10
+ returnType: { type: "undefined" },
11
+ },
9
12
  };
10
13
  export class DisplayManager extends GObject.GObject {
11
14
  constructor(...args) {
@@ -41,12 +44,18 @@ export class DisplayManager extends GObject.GObject {
41
44
  return wrapPtr(ptr, Display);
42
45
  }
43
46
  listDisplays() {
44
- return call("libgtk-4.so.1", "gdk_display_manager_list_displays", [
47
+ const ptrs = call("libgtk-4.so.1", "gdk_display_manager_list_displays", [
45
48
  {
46
49
  type: { type: "gobject" },
47
50
  value: this.ptr,
48
51
  },
49
- ], { type: "array", itemType: { type: "gobject" } });
52
+ ], {
53
+ type: "array",
54
+ itemType: { type: "gobject" },
55
+ listType: "gslist",
56
+ borrowed: true,
57
+ });
58
+ return ptrs.map((ptr) => wrapPtr(ptr, Display));
50
59
  }
51
60
  openDisplay(name) {
52
61
  const ptr = call("libgtk-4.so.1", "gdk_display_manager_open_display", [
@@ -78,13 +87,16 @@ export class DisplayManager extends GObject.GObject {
78
87
  connect(signal, handler, after = false) {
79
88
  const meta = SIGNAL_META[signal];
80
89
  const selfType = { type: "gobject", borrowed: true };
81
- const argTypes = meta ? [selfType, ...meta.map((m) => m.type)] : [selfType];
90
+ const argTypes = meta
91
+ ? [selfType, ...meta.params.map((m) => m.type)]
92
+ : [selfType];
93
+ const returnType = meta?.returnType;
82
94
  const wrappedHandler = (...args) => {
83
95
  const self = wrapPtr(args[0], DisplayManager);
84
96
  const signalArgs = args.slice(1);
85
97
  if (!meta)
86
98
  return handler(self, ...signalArgs);
87
- const wrapped = meta.map((m, i) => {
99
+ const wrapped = meta.params.map((m, i) => {
88
100
  if (m.getCls && signalArgs[i] != null) {
89
101
  return wrapPtr(signalArgs[i], m.getCls());
90
102
  }
@@ -95,7 +107,10 @@ export class DisplayManager extends GObject.GObject {
95
107
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
96
108
  { type: { type: "gobject" }, value: this.ptr },
97
109
  { type: { type: "string" }, value: signal },
98
- { type: { type: "callback", argTypes }, value: wrappedHandler },
110
+ {
111
+ type: { type: "callback", argTypes, returnType },
112
+ value: wrappedHandler,
113
+ },
99
114
  { type: { type: "boolean" }, value: after },
100
115
  ], { type: "int", size: 64, unsigned: true });
101
116
  }
@@ -35,8 +35,8 @@ export declare class Display extends GObject.GObject {
35
35
  isComposited(): boolean;
36
36
  isRgba(): boolean;
37
37
  listSeats(): Seat[];
38
- mapKeycode(keycode: number, nEntries: Ref<number>, keys?: Ref<unknown[]> | null, keyvals?: Ref<number[]> | null): boolean;
39
- mapKeyval(keyval: number, keys: Ref<unknown[]>, nKeys: Ref<number>): boolean;
38
+ mapKeycode(keycode: number, nEntries: Ref<number>, keys?: Ref<number[]> | null, keyvals?: Ref<number[]> | null): boolean;
39
+ mapKeyval(keyval: number, keys: Ref<number[]>, nKeys: Ref<number>): boolean;
40
40
  notifyStartupComplete(startupId: string): void;
41
41
  prepareGl(): boolean;
42
42
  putEvent(event: Event): void;
@@ -8,15 +8,27 @@ import { Seat } from "./seat.js";
8
8
  import * as GObject from "../gobject/index.js";
9
9
  import * as Gio from "../gio/index.js";
10
10
  const SIGNAL_META = {
11
- closed: [{ type: { type: "boolean" } }],
12
- opened: [],
13
- "seat-added": [
14
- { type: { type: "gobject", borrowed: false }, getCls: () => Seat },
15
- ],
16
- "seat-removed": [
17
- { type: { type: "gobject", borrowed: false }, getCls: () => Seat },
18
- ],
19
- "setting-changed": [{ type: { type: "string", borrowed: false } }],
11
+ closed: {
12
+ params: [{ type: { type: "boolean" } }],
13
+ returnType: { type: "undefined" },
14
+ },
15
+ opened: { params: [], returnType: { type: "undefined" } },
16
+ "seat-added": {
17
+ params: [
18
+ { type: { type: "gobject", borrowed: false }, getCls: () => Seat },
19
+ ],
20
+ returnType: { type: "undefined" },
21
+ },
22
+ "seat-removed": {
23
+ params: [
24
+ { type: { type: "gobject", borrowed: false }, getCls: () => Seat },
25
+ ],
26
+ returnType: { type: "undefined" },
27
+ },
28
+ "setting-changed": {
29
+ params: [{ type: { type: "string", borrowed: false } }],
30
+ returnType: { type: "undefined" },
31
+ },
20
32
  };
21
33
  export class Display extends GObject.GObject {
22
34
  constructor(...args) {
@@ -242,12 +254,18 @@ export class Display extends GObject.GObject {
242
254
  ], { type: "boolean" });
243
255
  }
244
256
  listSeats() {
245
- return call("libgtk-4.so.1", "gdk_display_list_seats", [
257
+ const ptrs = call("libgtk-4.so.1", "gdk_display_list_seats", [
246
258
  {
247
259
  type: { type: "gobject" },
248
260
  value: this.ptr,
249
261
  },
250
- ], { type: "array", itemType: { type: "gobject" } });
262
+ ], {
263
+ type: "array",
264
+ itemType: { type: "gobject" },
265
+ listType: "glist",
266
+ borrowed: true,
267
+ });
268
+ return ptrs.map((ptr) => wrapPtr(ptr, Seat));
251
269
  }
252
270
  mapKeycode(keycode, nEntries, keys, keyvals) {
253
271
  return call("libgtk-4.so.1", "gdk_display_map_keycode", [
@@ -262,7 +280,10 @@ export class Display extends GObject.GObject {
262
280
  {
263
281
  type: {
264
282
  type: "ref",
265
- innerType: { type: "array", itemType: { type: "gobject" } },
283
+ innerType: {
284
+ type: "array",
285
+ itemType: { type: "int", size: 64, unsigned: true },
286
+ },
266
287
  },
267
288
  value: keys,
268
289
  },
@@ -298,7 +319,10 @@ export class Display extends GObject.GObject {
298
319
  {
299
320
  type: {
300
321
  type: "ref",
301
- innerType: { type: "array", itemType: { type: "gobject" } },
322
+ innerType: {
323
+ type: "array",
324
+ itemType: { type: "int", size: 64, unsigned: true },
325
+ },
302
326
  },
303
327
  value: keys,
304
328
  },
@@ -434,13 +458,16 @@ export class Display extends GObject.GObject {
434
458
  connect(signal, handler, after = false) {
435
459
  const meta = SIGNAL_META[signal];
436
460
  const selfType = { type: "gobject", borrowed: true };
437
- const argTypes = meta ? [selfType, ...meta.map((m) => m.type)] : [selfType];
461
+ const argTypes = meta
462
+ ? [selfType, ...meta.params.map((m) => m.type)]
463
+ : [selfType];
464
+ const returnType = meta?.returnType;
438
465
  const wrappedHandler = (...args) => {
439
466
  const self = wrapPtr(args[0], Display);
440
467
  const signalArgs = args.slice(1);
441
468
  if (!meta)
442
469
  return handler(self, ...signalArgs);
443
- const wrapped = meta.map((m, i) => {
470
+ const wrapped = meta.params.map((m, i) => {
444
471
  if (m.getCls && signalArgs[i] != null) {
445
472
  return wrapPtr(signalArgs[i], m.getCls());
446
473
  }
@@ -451,7 +478,10 @@ export class Display extends GObject.GObject {
451
478
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
452
479
  { type: { type: "gobject" }, value: this.ptr },
453
480
  { type: { type: "string" }, value: signal },
454
- { type: { type: "callback", argTypes }, value: wrappedHandler },
481
+ {
482
+ type: { type: "callback", argTypes, returnType },
483
+ value: wrappedHandler,
484
+ },
455
485
  { type: { type: "boolean" }, value: after },
456
486
  ], { type: "int", size: 64, unsigned: true });
457
487
  }
@@ -364,6 +364,7 @@ export class DmabufTextureBuilder extends GObject.GObject {
364
364
  connect(signal, handler, after = false) {
365
365
  const selfType = { type: "gobject", borrowed: true };
366
366
  const argTypes = [selfType];
367
+ const returnType = undefined;
367
368
  const wrappedHandler = (...args) => {
368
369
  const self = wrapPtr(args[0], DmabufTextureBuilder);
369
370
  return handler(self, ...args.slice(1));
@@ -371,7 +372,10 @@ export class DmabufTextureBuilder extends GObject.GObject {
371
372
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
372
373
  { type: { type: "gobject" }, value: this.ptr },
373
374
  { type: { type: "string" }, value: signal },
374
- { type: { type: "callback", argTypes }, value: wrappedHandler },
375
+ {
376
+ type: { type: "callback", argTypes, returnType },
377
+ value: wrappedHandler,
378
+ },
375
379
  { type: { type: "boolean" }, value: after },
376
380
  ], { type: "int", size: 64, unsigned: true });
377
381
  }