@gtkx/ffi 0.1.19 → 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 (425) hide show
  1. package/dist/codegen/ffi-generator.js +41 -6
  2. package/dist/generated/gdk/app-launch-context.js +5 -1
  3. package/dist/generated/gdk/cicp-params.js +5 -1
  4. package/dist/generated/gdk/clipboard.js +10 -4
  5. package/dist/generated/gdk/content-deserializer.js +5 -1
  6. package/dist/generated/gdk/content-provider.js +10 -4
  7. package/dist/generated/gdk/content-serializer.js +5 -1
  8. package/dist/generated/gdk/cursor.js +5 -1
  9. package/dist/generated/gdk/device-tool.js +5 -1
  10. package/dist/generated/gdk/device.js +16 -7
  11. package/dist/generated/gdk/display-manager.js +23 -8
  12. package/dist/generated/gdk/display.js +38 -14
  13. package/dist/generated/gdk/dmabuf-texture-builder.js +5 -1
  14. package/dist/generated/gdk/drag.js +15 -6
  15. package/dist/generated/gdk/draw-context.js +5 -1
  16. package/dist/generated/gdk/drop.js +5 -1
  17. package/dist/generated/gdk/file-list.js +14 -3
  18. package/dist/generated/gdk/frame-clock.js +16 -10
  19. package/dist/generated/gdk/gltexture-builder.js +5 -1
  20. package/dist/generated/gdk/memory-texture-builder.js +5 -1
  21. package/dist/generated/gdk/monitor.js +10 -4
  22. package/dist/generated/gdk/seat.js +49 -19
  23. package/dist/generated/gdk/snapshot.js +5 -1
  24. package/dist/generated/gdk/surface.js +40 -17
  25. package/dist/generated/gdk/texture.js +5 -1
  26. package/dist/generated/gdk/toplevel.js +5 -1
  27. package/dist/generated/gdk/vulkan-context.js +10 -4
  28. package/dist/generated/gdkpixbuf/pixbuf-animation-iter.js +5 -1
  29. package/dist/generated/gdkpixbuf/pixbuf-animation.js +5 -1
  30. package/dist/generated/gdkpixbuf/pixbuf-loader.js +27 -15
  31. package/dist/generated/gdkpixbuf/pixbuf.js +7 -1
  32. package/dist/generated/gio/app-info-monitor.js +10 -4
  33. package/dist/generated/gio/app-info.js +15 -3
  34. package/dist/generated/gio/app-launch-context.js +37 -14
  35. package/dist/generated/gio/application-command-line.js +5 -1
  36. package/dist/generated/gio/application.js +38 -21
  37. package/dist/generated/gio/bytes-icon.js +5 -1
  38. package/dist/generated/gio/cancellable.js +10 -4
  39. package/dist/generated/gio/charset-converter.js +5 -1
  40. package/dist/generated/gio/credentials.js +5 -1
  41. package/dist/generated/gio/dbus-action-group.js +5 -1
  42. package/dist/generated/gio/dbus-auth-observer.js +20 -8
  43. package/dist/generated/gio/dbus-connection.js +16 -7
  44. package/dist/generated/gio/dbus-interface-skeleton.js +26 -11
  45. package/dist/generated/gio/dbus-menu-model.js +5 -1
  46. package/dist/generated/gio/dbus-message.js +5 -1
  47. package/dist/generated/gio/dbus-method-invocation.js +5 -1
  48. package/dist/generated/gio/dbus-object-manager-client.js +44 -24
  49. package/dist/generated/gio/dbus-object-manager-server.js +13 -3
  50. package/dist/generated/gio/dbus-object-manager.js +8 -2
  51. package/dist/generated/gio/dbus-object-proxy.js +13 -3
  52. package/dist/generated/gio/dbus-object-skeleton.js +30 -15
  53. package/dist/generated/gio/dbus-object.js +8 -2
  54. package/dist/generated/gio/dbus-proxy.js +26 -12
  55. package/dist/generated/gio/dbus-server.js +18 -9
  56. package/dist/generated/gio/debug-controller-dbus.js +18 -9
  57. package/dist/generated/gio/drive.js +9 -2
  58. package/dist/generated/gio/dtls-client-connection.js +2 -0
  59. package/dist/generated/gio/emblem.js +5 -1
  60. package/dist/generated/gio/emblemed-icon.js +14 -3
  61. package/dist/generated/gio/file-enumerator.js +13 -4
  62. package/dist/generated/gio/file-icon.js +5 -1
  63. package/dist/generated/gio/file-info.js +5 -1
  64. package/dist/generated/gio/file-monitor.js +17 -8
  65. package/dist/generated/gio/filename-completer.js +10 -4
  66. package/dist/generated/gio/functions.js +34 -5
  67. package/dist/generated/gio/inet-address-mask.js +5 -1
  68. package/dist/generated/gio/inet-address.js +5 -1
  69. package/dist/generated/gio/input-stream.js +5 -1
  70. package/dist/generated/gio/iomodule.js +5 -1
  71. package/dist/generated/gio/iostream.js +5 -1
  72. package/dist/generated/gio/list-store.js +5 -1
  73. package/dist/generated/gio/menu-attribute-iter.js +5 -1
  74. package/dist/generated/gio/menu-item.js +5 -1
  75. package/dist/generated/gio/menu-link-iter.js +5 -1
  76. package/dist/generated/gio/menu-model.js +17 -8
  77. package/dist/generated/gio/menu.js +5 -1
  78. package/dist/generated/gio/mount-operation.js +50 -25
  79. package/dist/generated/gio/native-volume-monitor.js +5 -1
  80. package/dist/generated/gio/network-address.js +5 -1
  81. package/dist/generated/gio/network-service.js +5 -1
  82. package/dist/generated/gio/notification.js +5 -1
  83. package/dist/generated/gio/output-stream.js +5 -1
  84. package/dist/generated/gio/permission.js +5 -1
  85. package/dist/generated/gio/property-action.js +5 -1
  86. package/dist/generated/gio/resolver.js +51 -16
  87. package/dist/generated/gio/settings-backend.js +5 -1
  88. package/dist/generated/gio/settings.js +33 -17
  89. package/dist/generated/gio/simple-action-group.js +5 -1
  90. package/dist/generated/gio/simple-action.js +21 -9
  91. package/dist/generated/gio/simple-async-result.js +5 -1
  92. package/dist/generated/gio/simple-proxy-resolver.js +5 -1
  93. package/dist/generated/gio/socket-address-enumerator.js +5 -1
  94. package/dist/generated/gio/socket-address.js +5 -1
  95. package/dist/generated/gio/socket-client.js +17 -8
  96. package/dist/generated/gio/socket-control-message.js +5 -1
  97. package/dist/generated/gio/socket-listener.js +16 -7
  98. package/dist/generated/gio/socket-service.js +19 -10
  99. package/dist/generated/gio/socket.js +5 -1
  100. package/dist/generated/gio/subprocess-launcher.js +5 -1
  101. package/dist/generated/gio/subprocess.js +5 -1
  102. package/dist/generated/gio/task.js +5 -1
  103. package/dist/generated/gio/test-dbus.js +5 -1
  104. package/dist/generated/gio/themed-icon.js +5 -1
  105. package/dist/generated/gio/threaded-resolver.js +5 -1
  106. package/dist/generated/gio/threaded-socket-service.js +29 -17
  107. package/dist/generated/gio/tls-certificate.js +11 -2
  108. package/dist/generated/gio/tls-client-connection.js +2 -0
  109. package/dist/generated/gio/tls-connection.js +19 -10
  110. package/dist/generated/gio/tls-database.js +21 -7
  111. package/dist/generated/gio/tls-interaction.js +5 -1
  112. package/dist/generated/gio/tls-password.js +5 -1
  113. package/dist/generated/gio/unix-fdlist.js +5 -1
  114. package/dist/generated/gio/vfs.js +5 -1
  115. package/dist/generated/gio/volume-monitor.js +82 -21
  116. package/dist/generated/gio/zlib-compressor.js +5 -1
  117. package/dist/generated/gio/zlib-decompressor.js +5 -1
  118. package/dist/generated/glib/markup-parse-context.js +6 -1
  119. package/dist/generated/gobject/binding-group.js +15 -6
  120. package/dist/generated/gobject/binding.js +15 -6
  121. package/dist/generated/gobject/initially-unowned.js +15 -6
  122. package/dist/generated/gobject/object.js +15 -6
  123. package/dist/generated/gobject/signal-group.js +22 -8
  124. package/dist/generated/gobject/type-module.js +15 -6
  125. package/dist/generated/gsk/glshader.js +5 -1
  126. package/dist/generated/gsk/renderer.js +5 -1
  127. package/dist/generated/gtk/about-dialog.js +21 -9
  128. package/dist/generated/gtk/accessible-list.js +14 -3
  129. package/dist/generated/gtk/action-bar.js +5 -1
  130. package/dist/generated/gtk/adjustment.js +11 -5
  131. package/dist/generated/gtk/alert-dialog.js +5 -1
  132. package/dist/generated/gtk/any-filter.js +5 -1
  133. package/dist/generated/gtk/app-chooser-button.js +15 -6
  134. package/dist/generated/gtk/app-chooser-dialog.js +22 -10
  135. package/dist/generated/gtk/app-chooser-widget.js +17 -5
  136. package/dist/generated/gtk/application-window.js +17 -8
  137. package/dist/generated/gtk/application.js +30 -12
  138. package/dist/generated/gtk/aspect-frame.js +5 -1
  139. package/dist/generated/gtk/assistant-page.js +5 -1
  140. package/dist/generated/gtk/assistant.js +27 -15
  141. package/dist/generated/gtk/atcontext.js +10 -4
  142. package/dist/generated/gtk/bookmark-list.js +5 -1
  143. package/dist/generated/gtk/bool-filter.js +5 -1
  144. package/dist/generated/gtk/box.js +5 -1
  145. package/dist/generated/gtk/builder-cscope.js +5 -1
  146. package/dist/generated/gtk/builder.js +13 -3
  147. package/dist/generated/gtk/button.js +11 -5
  148. package/dist/generated/gtk/calendar.js +14 -8
  149. package/dist/generated/gtk/cell-area-box.js +5 -1
  150. package/dist/generated/gtk/cell-area-context.js +5 -1
  151. package/dist/generated/gtk/cell-area.js +66 -27
  152. package/dist/generated/gtk/cell-layout.js +9 -2
  153. package/dist/generated/gtk/cell-renderer-accel.js +29 -14
  154. package/dist/generated/gtk/cell-renderer-combo.js +23 -11
  155. package/dist/generated/gtk/cell-renderer-pixbuf.js +5 -1
  156. package/dist/generated/gtk/cell-renderer-progress.js +5 -1
  157. package/dist/generated/gtk/cell-renderer-spin.js +16 -7
  158. package/dist/generated/gtk/cell-renderer-spinner.js +5 -1
  159. package/dist/generated/gtk/cell-renderer-text.js +16 -7
  160. package/dist/generated/gtk/cell-renderer-toggle.js +13 -4
  161. package/dist/generated/gtk/cell-renderer.js +17 -8
  162. package/dist/generated/gtk/cell-view.js +14 -3
  163. package/dist/generated/gtk/center-box.js +5 -1
  164. package/dist/generated/gtk/check-button.js +11 -5
  165. package/dist/generated/gtk/color-button.js +11 -5
  166. package/dist/generated/gtk/color-chooser-dialog.js +22 -10
  167. package/dist/generated/gtk/color-chooser-widget.js +5 -1
  168. package/dist/generated/gtk/color-dialog-button.js +10 -4
  169. package/dist/generated/gtk/color-dialog.js +5 -1
  170. package/dist/generated/gtk/column-view-column.js +5 -1
  171. package/dist/generated/gtk/column-view-row.js +5 -1
  172. package/dist/generated/gtk/column-view-sorter.js +5 -1
  173. package/dist/generated/gtk/column-view.js +13 -4
  174. package/dist/generated/gtk/combo-box-text.js +21 -9
  175. package/dist/generated/gtk/combo-box.js +30 -11
  176. package/dist/generated/gtk/constraint-guide.js +5 -1
  177. package/dist/generated/gtk/constraint-layout.js +9 -3
  178. package/dist/generated/gtk/constraint.js +5 -1
  179. package/dist/generated/gtk/css-provider.js +16 -7
  180. package/dist/generated/gtk/custom-filter.js +5 -1
  181. package/dist/generated/gtk/custom-sorter.js +5 -1
  182. package/dist/generated/gtk/dialog.js +22 -10
  183. package/dist/generated/gtk/directory-list.js +5 -1
  184. package/dist/generated/gtk/drag-icon.js +5 -1
  185. package/dist/generated/gtk/drag-source.js +75 -32
  186. package/dist/generated/gtk/drawing-area.js +16 -7
  187. package/dist/generated/gtk/drop-controller-motion.js +24 -12
  188. package/dist/generated/gtk/drop-down.js +10 -4
  189. package/dist/generated/gtk/drop-target-async.js +41 -20
  190. package/dist/generated/gtk/drop-target.js +36 -18
  191. package/dist/generated/gtk/editable-label.js +5 -1
  192. package/dist/generated/gtk/emoji-chooser.js +15 -6
  193. package/dist/generated/gtk/entry-buffer.js +24 -12
  194. package/dist/generated/gtk/entry-completion.js +37 -15
  195. package/dist/generated/gtk/entry.js +18 -6
  196. package/dist/generated/gtk/event-controller-focus.js +11 -5
  197. package/dist/generated/gtk/event-controller-key.js +30 -15
  198. package/dist/generated/gtk/event-controller-legacy.js +13 -4
  199. package/dist/generated/gtk/event-controller-motion.js +24 -12
  200. package/dist/generated/gtk/event-controller-scroll.js +25 -13
  201. package/dist/generated/gtk/event-controller.js +5 -1
  202. package/dist/generated/gtk/every-filter.js +5 -1
  203. package/dist/generated/gtk/expander.js +10 -4
  204. package/dist/generated/gtk/file-chooser-dialog.js +22 -10
  205. package/dist/generated/gtk/file-chooser-native.js +5 -1
  206. package/dist/generated/gtk/file-chooser-widget.js +27 -15
  207. package/dist/generated/gtk/file-dialog.js +5 -1
  208. package/dist/generated/gtk/file-filter.js +5 -1
  209. package/dist/generated/gtk/file-launcher.js +5 -1
  210. package/dist/generated/gtk/filter-list-model.js +5 -1
  211. package/dist/generated/gtk/filter.js +13 -4
  212. package/dist/generated/gtk/fixed.js +5 -1
  213. package/dist/generated/gtk/flatten-list-model.js +5 -1
  214. package/dist/generated/gtk/flow-box-child.js +10 -4
  215. package/dist/generated/gtk/flow-box.js +43 -19
  216. package/dist/generated/gtk/font-button.js +11 -5
  217. package/dist/generated/gtk/font-chooser-dialog.js +22 -10
  218. package/dist/generated/gtk/font-chooser-widget.js +5 -1
  219. package/dist/generated/gtk/font-dialog-button.js +10 -4
  220. package/dist/generated/gtk/font-dialog.js +5 -1
  221. package/dist/generated/gtk/frame.js +5 -1
  222. package/dist/generated/gtk/functions.js +2 -0
  223. package/dist/generated/gtk/gesture-click.js +78 -36
  224. package/dist/generated/gtk/gesture-drag.js +71 -31
  225. package/dist/generated/gtk/gesture-long-press.js +58 -24
  226. package/dist/generated/gtk/gesture-pan.js +78 -35
  227. package/dist/generated/gtk/gesture-rotate.js +57 -23
  228. package/dist/generated/gtk/gesture-single.js +50 -19
  229. package/dist/generated/gtk/gesture-stylus.js +78 -35
  230. package/dist/generated/gtk/gesture-swipe.js +57 -23
  231. package/dist/generated/gtk/gesture-zoom.js +54 -20
  232. package/dist/generated/gtk/gesture.js +60 -21
  233. package/dist/generated/gtk/glarea.js +24 -9
  234. package/dist/generated/gtk/graphics-offload.js +5 -1
  235. package/dist/generated/gtk/grid-view.js +13 -4
  236. package/dist/generated/gtk/grid.js +5 -1
  237. package/dist/generated/gtk/header-bar.js +5 -1
  238. package/dist/generated/gtk/icon-paintable.js +5 -1
  239. package/dist/generated/gtk/icon-theme.js +10 -4
  240. package/dist/generated/gtk/icon-view.js +41 -20
  241. package/dist/generated/gtk/image.js +5 -1
  242. package/dist/generated/gtk/imcontext-simple.js +5 -1
  243. package/dist/generated/gtk/imcontext.js +24 -12
  244. package/dist/generated/gtk/immulticontext.js +5 -1
  245. package/dist/generated/gtk/info-bar.js +14 -5
  246. package/dist/generated/gtk/inscription.js +5 -1
  247. package/dist/generated/gtk/label.js +23 -11
  248. package/dist/generated/gtk/layout-child.js +5 -1
  249. package/dist/generated/gtk/layout-manager.js +5 -1
  250. package/dist/generated/gtk/level-bar.js +13 -4
  251. package/dist/generated/gtk/link-button.js +12 -6
  252. package/dist/generated/gtk/list-base.js +5 -1
  253. package/dist/generated/gtk/list-box-row.js +10 -4
  254. package/dist/generated/gtk/list-box.js +43 -22
  255. package/dist/generated/gtk/list-header.js +5 -1
  256. package/dist/generated/gtk/list-item-factory.js +5 -1
  257. package/dist/generated/gtk/list-item.js +5 -1
  258. package/dist/generated/gtk/list-store.js +5 -1
  259. package/dist/generated/gtk/list-view.js +13 -4
  260. package/dist/generated/gtk/lock-button.js +11 -5
  261. package/dist/generated/gtk/map-list-model.js +5 -1
  262. package/dist/generated/gtk/media-controls.js +5 -1
  263. package/dist/generated/gtk/media-stream.js +5 -1
  264. package/dist/generated/gtk/menu-button.js +10 -4
  265. package/dist/generated/gtk/message-dialog.js +22 -10
  266. package/dist/generated/gtk/mount-operation.js +5 -1
  267. package/dist/generated/gtk/multi-filter.js +5 -1
  268. package/dist/generated/gtk/multi-selection.js +5 -1
  269. package/dist/generated/gtk/multi-sorter.js +5 -1
  270. package/dist/generated/gtk/native-dialog.js +13 -4
  271. package/dist/generated/gtk/no-selection.js +5 -1
  272. package/dist/generated/gtk/notebook-page.js +5 -1
  273. package/dist/generated/gtk/notebook.js +66 -30
  274. package/dist/generated/gtk/numeric-sorter.js +5 -1
  275. package/dist/generated/gtk/overlay.js +16 -7
  276. package/dist/generated/gtk/page-setup-unix-dialog.js +22 -10
  277. package/dist/generated/gtk/page-setup.js +5 -1
  278. package/dist/generated/gtk/paned.js +24 -9
  279. package/dist/generated/gtk/paper-size.js +2 -0
  280. package/dist/generated/gtk/param-spec-expression.js +5 -1
  281. package/dist/generated/gtk/password-entry-buffer.js +5 -1
  282. package/dist/generated/gtk/password-entry.js +10 -4
  283. package/dist/generated/gtk/picture.js +5 -1
  284. package/dist/generated/gtk/popover-menu-bar.js +5 -1
  285. package/dist/generated/gtk/popover-menu.js +11 -5
  286. package/dist/generated/gtk/popover.js +11 -5
  287. package/dist/generated/gtk/print-context.js +5 -1
  288. package/dist/generated/gtk/print-dialog.js +5 -1
  289. package/dist/generated/gtk/print-job.js +10 -4
  290. package/dist/generated/gtk/print-operation.js +94 -37
  291. package/dist/generated/gtk/print-settings.js +5 -1
  292. package/dist/generated/gtk/print-unix-dialog.js +22 -10
  293. package/dist/generated/gtk/printer.js +21 -6
  294. package/dist/generated/gtk/progress-bar.js +5 -1
  295. package/dist/generated/gtk/range.js +25 -10
  296. package/dist/generated/gtk/recent-manager.js +12 -4
  297. package/dist/generated/gtk/revealer.js +5 -1
  298. package/dist/generated/gtk/scale-button.js +15 -6
  299. package/dist/generated/gtk/scale.js +25 -10
  300. package/dist/generated/gtk/scrollbar.js +5 -1
  301. package/dist/generated/gtk/scrolled-window.js +28 -10
  302. package/dist/generated/gtk/search-bar.js +5 -1
  303. package/dist/generated/gtk/search-entry.js +15 -9
  304. package/dist/generated/gtk/selection-filter-model.js +5 -1
  305. package/dist/generated/gtk/separator.js +5 -1
  306. package/dist/generated/gtk/settings.js +5 -1
  307. package/dist/generated/gtk/shortcut-action.js +5 -1
  308. package/dist/generated/gtk/shortcut-label.js +5 -1
  309. package/dist/generated/gtk/shortcut-trigger.js +5 -1
  310. package/dist/generated/gtk/shortcut.js +5 -1
  311. package/dist/generated/gtk/shortcuts-group.js +5 -1
  312. package/dist/generated/gtk/shortcuts-section.js +13 -4
  313. package/dist/generated/gtk/shortcuts-shortcut.js +5 -1
  314. package/dist/generated/gtk/shortcuts-window.js +19 -10
  315. package/dist/generated/gtk/signal-list-item-factory.js +25 -7
  316. package/dist/generated/gtk/single-selection.js +5 -1
  317. package/dist/generated/gtk/size-group.js +14 -3
  318. package/dist/generated/gtk/slice-list-model.js +5 -1
  319. package/dist/generated/gtk/snapshot.js +5 -1
  320. package/dist/generated/gtk/sort-list-model.js +5 -1
  321. package/dist/generated/gtk/sorter.js +13 -4
  322. package/dist/generated/gtk/spin-button.js +21 -9
  323. package/dist/generated/gtk/spinner.js +5 -1
  324. package/dist/generated/gtk/stack-page.js +5 -1
  325. package/dist/generated/gtk/stack-sidebar.js +5 -1
  326. package/dist/generated/gtk/stack-switcher.js +5 -1
  327. package/dist/generated/gtk/stack.js +5 -1
  328. package/dist/generated/gtk/statusbar.js +23 -11
  329. package/dist/generated/gtk/string-filter.js +5 -1
  330. package/dist/generated/gtk/string-list.js +5 -1
  331. package/dist/generated/gtk/string-object.js +5 -1
  332. package/dist/generated/gtk/string-sorter.js +5 -1
  333. package/dist/generated/gtk/style-context.js +5 -1
  334. package/dist/generated/gtk/switch.js +14 -5
  335. package/dist/generated/gtk/text-buffer.js +80 -47
  336. package/dist/generated/gtk/text-child-anchor.js +8 -2
  337. package/dist/generated/gtk/text-iter.js +26 -6
  338. package/dist/generated/gtk/text-mark.js +5 -1
  339. package/dist/generated/gtk/text-tag-table.js +28 -13
  340. package/dist/generated/gtk/text-tag.js +5 -1
  341. package/dist/generated/gtk/text-view.js +60 -33
  342. package/dist/generated/gtk/text.js +39 -21
  343. package/dist/generated/gtk/toggle-button.js +12 -6
  344. package/dist/generated/gtk/tooltip.js +5 -1
  345. package/dist/generated/gtk/tree-expander.js +5 -1
  346. package/dist/generated/gtk/tree-list-model.js +5 -1
  347. package/dist/generated/gtk/tree-list-row-sorter.js +5 -1
  348. package/dist/generated/gtk/tree-list-row.js +5 -1
  349. package/dist/generated/gtk/tree-model-filter.js +5 -1
  350. package/dist/generated/gtk/tree-model-sort.js +5 -1
  351. package/dist/generated/gtk/tree-selection.js +12 -4
  352. package/dist/generated/gtk/tree-store.js +5 -1
  353. package/dist/generated/gtk/tree-view-column.js +19 -6
  354. package/dist/generated/gtk/tree-view.js +83 -47
  355. package/dist/generated/gtk/uri-launcher.js +5 -1
  356. package/dist/generated/gtk/video.js +5 -1
  357. package/dist/generated/gtk/viewport.js +5 -1
  358. package/dist/generated/gtk/volume-button.js +15 -6
  359. package/dist/generated/gtk/widget-paintable.js +5 -1
  360. package/dist/generated/gtk/widget.js +53 -23
  361. package/dist/generated/gtk/window-controls.js +5 -1
  362. package/dist/generated/gtk/window-group.js +14 -3
  363. package/dist/generated/gtk/window-handle.js +5 -1
  364. package/dist/generated/gtk/window.js +19 -8
  365. package/dist/generated/gtksource/annotation-provider.js +10 -4
  366. package/dist/generated/gtksource/annotation.js +5 -1
  367. package/dist/generated/gtksource/annotations.js +10 -4
  368. package/dist/generated/gtksource/buffer.js +44 -17
  369. package/dist/generated/gtksource/completion-cell.js +5 -1
  370. package/dist/generated/gtksource/completion-context.js +16 -7
  371. package/dist/generated/gtksource/completion-snippets.js +5 -1
  372. package/dist/generated/gtksource/completion-words.js +5 -1
  373. package/dist/generated/gtksource/completion.js +19 -7
  374. package/dist/generated/gtksource/encoding.js +4 -0
  375. package/dist/generated/gtksource/file-loader.js +6 -1
  376. package/dist/generated/gtksource/file-saver.js +5 -1
  377. package/dist/generated/gtksource/file.js +5 -1
  378. package/dist/generated/gtksource/functions.js +4 -0
  379. package/dist/generated/gtksource/gutter-lines.js +5 -1
  380. package/dist/generated/gtksource/gutter-renderer-pixbuf.js +5 -1
  381. package/dist/generated/gtksource/gutter-renderer-text.js +5 -1
  382. package/dist/generated/gtksource/gutter-renderer.js +33 -18
  383. package/dist/generated/gtksource/gutter.js +5 -1
  384. package/dist/generated/gtksource/hover-context.js +5 -1
  385. package/dist/generated/gtksource/hover-display.js +5 -1
  386. package/dist/generated/gtksource/hover.js +5 -1
  387. package/dist/generated/gtksource/language-manager.js +5 -1
  388. package/dist/generated/gtksource/language.js +5 -1
  389. package/dist/generated/gtksource/map.js +5 -1
  390. package/dist/generated/gtksource/mark-attributes.js +21 -9
  391. package/dist/generated/gtksource/mark.js +5 -1
  392. package/dist/generated/gtksource/print-compositor.js +5 -1
  393. package/dist/generated/gtksource/region.js +5 -1
  394. package/dist/generated/gtksource/search-context.js +5 -1
  395. package/dist/generated/gtksource/search-settings.js +5 -1
  396. package/dist/generated/gtksource/snippet-chunk.js +5 -1
  397. package/dist/generated/gtksource/snippet-context.js +10 -4
  398. package/dist/generated/gtksource/snippet-manager.js +5 -1
  399. package/dist/generated/gtksource/snippet.js +5 -1
  400. package/dist/generated/gtksource/space-drawer.js +5 -1
  401. package/dist/generated/gtksource/style-scheme-chooser-button.js +5 -1
  402. package/dist/generated/gtksource/style-scheme-chooser-widget.js +5 -1
  403. package/dist/generated/gtksource/style-scheme-manager.js +5 -1
  404. package/dist/generated/gtksource/style-scheme-preview.js +10 -4
  405. package/dist/generated/gtksource/style-scheme.js +5 -1
  406. package/dist/generated/gtksource/style.js +5 -1
  407. package/dist/generated/gtksource/tag.js +5 -1
  408. package/dist/generated/gtksource/view.js +54 -24
  409. package/dist/generated/gtksource/vim-imcontext.js +34 -16
  410. package/dist/generated/pango/attr-iterator.js +3 -0
  411. package/dist/generated/pango/attr-list.js +2 -0
  412. package/dist/generated/pango/context.js +5 -1
  413. package/dist/generated/pango/coverage.js +5 -1
  414. package/dist/generated/pango/font-face.js +5 -1
  415. package/dist/generated/pango/font-family.js +5 -1
  416. package/dist/generated/pango/font-map.js +5 -1
  417. package/dist/generated/pango/font.js +5 -1
  418. package/dist/generated/pango/fontset.js +5 -1
  419. package/dist/generated/pango/functions.js +7 -0
  420. package/dist/generated/pango/glyph-item.js +2 -0
  421. package/dist/generated/pango/layout-line.js +5 -1
  422. package/dist/generated/pango/layout.js +9 -1
  423. package/dist/generated/pango/renderer.js +5 -1
  424. package/dist/native.d.ts +6 -2
  425. package/package.json +3 -3
@@ -1047,6 +1047,9 @@ ${allArgs ? `${allArgs},` : ""}
1047
1047
  const needsObjectWrap = (returnTypeMapping.ffi.type === "gobject" || returnTypeMapping.ffi.type === "boxed") &&
1048
1048
  baseReturnType !== "unknown" &&
1049
1049
  returnTypeMapping.kind !== "interface";
1050
+ const needsArrayWrap = returnTypeMapping.ffi.type === "array" &&
1051
+ returnTypeMapping.ffi.itemType?.type === "gobject" &&
1052
+ baseReturnType.endsWith("[]");
1050
1053
  const hasReturnValue = returnTypeMapping.ts !== "void";
1051
1054
  const lines = [];
1052
1055
  const methodDoc = formatMethodDoc(method.doc, method.parameters);
@@ -1088,6 +1091,26 @@ ${allArgs ? `${allArgs},` : ""}
1088
1091
  lines.push(` return wrapPtr(ptr, ${baseReturnType});`);
1089
1092
  }
1090
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
+ }
1091
1114
  else {
1092
1115
  const callPrefix = method.throws
1093
1116
  ? hasReturnValue
@@ -1154,7 +1177,11 @@ ${allArgs ? `${allArgs},` : ""}
1154
1177
  }
1155
1178
  return `{ type: ${ffiType} }`;
1156
1179
  });
1157
- 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} }`;
1158
1185
  });
1159
1186
  this.typeMapper.setEnumUsageCallback(savedEnumCallback);
1160
1187
  this.typeMapper.setRecordUsageCallback(savedRecordCallback);
@@ -1197,14 +1224,15 @@ ${allArgs ? `${allArgs},` : ""}
1197
1224
  const signalMapCode = signalMetadata.length > 0
1198
1225
  ? `const meta = SIGNAL_META[signal];
1199
1226
  const selfType: Type = { type: "gobject", borrowed: true };
1200
- const argTypes = meta ? [selfType, ...meta.map((m) => m.type)] : [selfType];`
1201
- : `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;`;
1202
1230
  const wrapperCode = signalMetadata.length > 0
1203
1231
  ? `const wrappedHandler = (...args: unknown[]) => {
1204
1232
  const self = wrapPtr(args[0], ${className});
1205
1233
  const signalArgs = args.slice(1);
1206
1234
  if (!meta) return handler(self, ...signalArgs);
1207
- const wrapped = meta.map((m, i) => {
1235
+ const wrapped = meta.params.map((m, i) => {
1208
1236
  if (m.getCls && signalArgs[i] != null) {
1209
1237
  return wrapPtr(signalArgs[i], m.getCls());
1210
1238
  }
@@ -1230,7 +1258,7 @@ ${allArgs ? `${allArgs},` : ""}
1230
1258
  [
1231
1259
  { type: { type: "gobject" }, value: this.ptr },
1232
1260
  { type: { type: "string" }, value: signal },
1233
- { type: { type: "callback", argTypes }, value: wrappedHandler },
1261
+ { type: { type: "callback", argTypes, returnType }, value: wrappedHandler },
1234
1262
  { type: { type: "boolean" }, value: after },
1235
1263
  ],
1236
1264
  { type: "int", size: 64, unsigned: true }
@@ -1734,7 +1762,14 @@ ${indent} }`;
1734
1762
  return `{ type: "ref", innerType: ${this.generateTypeDescriptor(type.innerType)} }`;
1735
1763
  }
1736
1764
  if (type.type === "array" && type.itemType) {
1737
- 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(", ")} }`;
1738
1773
  }
1739
1774
  if (type.type === "callback") {
1740
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
  }
@@ -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
  }
@@ -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", [
@@ -440,13 +458,16 @@ export class Display extends GObject.GObject {
440
458
  connect(signal, handler, after = false) {
441
459
  const meta = SIGNAL_META[signal];
442
460
  const selfType = { type: "gobject", borrowed: true };
443
- 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;
444
465
  const wrappedHandler = (...args) => {
445
466
  const self = wrapPtr(args[0], Display);
446
467
  const signalArgs = args.slice(1);
447
468
  if (!meta)
448
469
  return handler(self, ...signalArgs);
449
- const wrapped = meta.map((m, i) => {
470
+ const wrapped = meta.params.map((m, i) => {
450
471
  if (m.getCls && signalArgs[i] != null) {
451
472
  return wrapPtr(signalArgs[i], m.getCls());
452
473
  }
@@ -457,7 +478,10 @@ export class Display extends GObject.GObject {
457
478
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
458
479
  { type: { type: "gobject" }, value: this.ptr },
459
480
  { type: { type: "string" }, value: signal },
460
- { type: { type: "callback", argTypes }, value: wrappedHandler },
481
+ {
482
+ type: { type: "callback", argTypes, returnType },
483
+ value: wrappedHandler,
484
+ },
461
485
  { type: { type: "boolean" }, value: after },
462
486
  ], { type: "int", size: 64, unsigned: true });
463
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
  }
@@ -7,9 +7,12 @@ import { Display } from "./display.js";
7
7
  import { Surface } from "./surface.js";
8
8
  import * as GObject from "../gobject/index.js";
9
9
  const SIGNAL_META = {
10
- cancel: [{ type: { type: "int", size: 32, unsigned: false } }],
11
- "dnd-finished": [],
12
- "drop-performed": [],
10
+ cancel: {
11
+ params: [{ type: { type: "int", size: 32, unsigned: false } }],
12
+ returnType: { type: "undefined" },
13
+ },
14
+ "dnd-finished": { params: [], returnType: { type: "undefined" } },
15
+ "drop-performed": { params: [], returnType: { type: "undefined" } },
13
16
  };
14
17
  export class Drag extends GObject.GObject {
15
18
  constructor(...args) {
@@ -163,13 +166,16 @@ export class Drag extends GObject.GObject {
163
166
  connect(signal, handler, after = false) {
164
167
  const meta = SIGNAL_META[signal];
165
168
  const selfType = { type: "gobject", borrowed: true };
166
- const argTypes = meta ? [selfType, ...meta.map((m) => m.type)] : [selfType];
169
+ const argTypes = meta
170
+ ? [selfType, ...meta.params.map((m) => m.type)]
171
+ : [selfType];
172
+ const returnType = meta?.returnType;
167
173
  const wrappedHandler = (...args) => {
168
174
  const self = wrapPtr(args[0], Drag);
169
175
  const signalArgs = args.slice(1);
170
176
  if (!meta)
171
177
  return handler(self, ...signalArgs);
172
- const wrapped = meta.map((m, i) => {
178
+ const wrapped = meta.params.map((m, i) => {
173
179
  if (m.getCls && signalArgs[i] != null) {
174
180
  return wrapPtr(signalArgs[i], m.getCls());
175
181
  }
@@ -180,7 +186,10 @@ export class Drag extends GObject.GObject {
180
186
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
181
187
  { type: { type: "gobject" }, value: this.ptr },
182
188
  { type: { type: "string" }, value: signal },
183
- { type: { type: "callback", argTypes }, value: wrappedHandler },
189
+ {
190
+ type: { type: "callback", argTypes, returnType },
191
+ value: wrappedHandler,
192
+ },
184
193
  { type: { type: "boolean" }, value: after },
185
194
  ], { type: "int", size: 64, unsigned: true });
186
195
  }
@@ -92,6 +92,7 @@ export class DrawContext extends GObject.GObject {
92
92
  connect(signal, handler, after = false) {
93
93
  const selfType = { type: "gobject", borrowed: true };
94
94
  const argTypes = [selfType];
95
+ const returnType = undefined;
95
96
  const wrappedHandler = (...args) => {
96
97
  const self = wrapPtr(args[0], DrawContext);
97
98
  return handler(self, ...args.slice(1));
@@ -99,7 +100,10 @@ export class DrawContext extends GObject.GObject {
99
100
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
100
101
  { type: { type: "gobject" }, value: this.ptr },
101
102
  { type: { type: "string" }, value: signal },
102
- { type: { type: "callback", argTypes }, value: wrappedHandler },
103
+ {
104
+ type: { type: "callback", argTypes, returnType },
105
+ value: wrappedHandler,
106
+ },
103
107
  { type: { type: "boolean" }, value: after },
104
108
  ], { type: "int", size: 64, unsigned: true });
105
109
  }
@@ -180,6 +180,7 @@ export class Drop extends GObject.GObject {
180
180
  connect(signal, handler, after = false) {
181
181
  const selfType = { type: "gobject", borrowed: true };
182
182
  const argTypes = [selfType];
183
+ const returnType = undefined;
183
184
  const wrappedHandler = (...args) => {
184
185
  const self = wrapPtr(args[0], Drop);
185
186
  return handler(self, ...args.slice(1));
@@ -187,7 +188,10 @@ export class Drop extends GObject.GObject {
187
188
  return call("libgtk-4.so.1", "g_signal_connect_closure", [
188
189
  { type: { type: "gobject" }, value: this.ptr },
189
190
  { type: { type: "string" }, value: signal },
190
- { type: { type: "callback", argTypes }, value: wrappedHandler },
191
+ {
192
+ type: { type: "callback", argTypes, returnType },
193
+ value: wrappedHandler,
194
+ },
191
195
  { type: { type: "boolean" }, value: after },
192
196
  ], { type: "int", size: 64, unsigned: true });
193
197
  }
@@ -1,5 +1,6 @@
1
1
  import { call } from "@gtkx/native";
2
2
  import { wrapPtr } from "@gtkx/ffi";
3
+ import * as Gio from "../gio/index.js";
3
4
  export class FileList {
4
5
  ptr;
5
6
  constructor(files, nFiles) {
@@ -9,7 +10,11 @@ export class FileList {
9
10
  static listNewFromList(files) {
10
11
  const ptr = call("libgtk-4.so.1", "gdk_file_list_new_from_list", [
11
12
  {
12
- type: { type: "array", itemType: { type: "gobject" } },
13
+ type: {
14
+ type: "array",
15
+ itemType: { type: "gobject" },
16
+ listType: "gslist",
17
+ },
13
18
  value: files,
14
19
  },
15
20
  ], { type: "boxed", borrowed: true, innerType: "FileList" });
@@ -29,11 +34,17 @@ export class FileList {
29
34
  ], { type: "boxed", borrowed: true, innerType: "GdkFileList" });
30
35
  }
31
36
  getFiles() {
32
- return call("libgtk-4.so.1", "gdk_file_list_get_files", [
37
+ const ptrs = call("libgtk-4.so.1", "gdk_file_list_get_files", [
33
38
  {
34
39
  type: { type: "gobject" },
35
40
  value: this.ptr,
36
41
  },
37
- ], { type: "array", itemType: { type: "gobject" } });
42
+ ], {
43
+ type: "array",
44
+ itemType: { type: "gobject" },
45
+ listType: "gslist",
46
+ borrowed: true,
47
+ });
48
+ return ptrs.map((ptr) => wrapPtr(ptr, Gio.File));
38
49
  }
39
50
  }