@gtkx/ffi 0.1.7 → 0.1.9

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 (542) hide show
  1. package/dist/codegen/ffi-generator.d.ts +1 -0
  2. package/dist/codegen/ffi-generator.js +27 -28
  3. package/dist/generated/gdk/app-launch-context.js +2 -3
  4. package/dist/generated/gdk/cairo-context.js +2 -3
  5. package/dist/generated/gdk/cicp-params.js +2 -4
  6. package/dist/generated/gdk/clipboard.js +8 -22
  7. package/dist/generated/gdk/color-state.js +9 -24
  8. package/dist/generated/gdk/content-deserializer.js +4 -9
  9. package/dist/generated/gdk/content-formats-builder.js +4 -9
  10. package/dist/generated/gdk/content-formats.js +9 -24
  11. package/dist/generated/gdk/content-provider.js +7 -19
  12. package/dist/generated/gdk/content-serializer.js +4 -9
  13. package/dist/generated/gdk/cursor.js +5 -12
  14. package/dist/generated/gdk/device.js +6 -15
  15. package/dist/generated/gdk/display-manager.js +5 -12
  16. package/dist/generated/gdk/display.js +11 -31
  17. package/dist/generated/gdk/dmabuf-formats.js +2 -3
  18. package/dist/generated/gdk/dmabuf-texture-builder.js +6 -16
  19. package/dist/generated/gdk/dndevent.js +2 -3
  20. package/dist/generated/gdk/drag.js +9 -24
  21. package/dist/generated/gdk/draw-context.js +4 -9
  22. package/dist/generated/gdk/drop.js +8 -22
  23. package/dist/generated/gdk/event.js +8 -21
  24. package/dist/generated/gdk/file-list.js +2 -3
  25. package/dist/generated/gdk/frame-clock.js +4 -9
  26. package/dist/generated/gdk/frame-timings.js +2 -3
  27. package/dist/generated/gdk/functions.js +14 -40
  28. package/dist/generated/gdk/glcontext.js +3 -7
  29. package/dist/generated/gdk/gltexture-builder.js +6 -15
  30. package/dist/generated/gdk/grab-broken-event.js +2 -3
  31. package/dist/generated/gdk/memory-texture-builder.js +6 -15
  32. package/dist/generated/gdk/monitor.js +3 -6
  33. package/dist/generated/gdk/paintable.js +2 -3
  34. package/dist/generated/gdk/popup-layout.js +4 -9
  35. package/dist/generated/gdk/popup.js +2 -3
  36. package/dist/generated/gdk/rgba.js +2 -3
  37. package/dist/generated/gdk/seat.js +5 -12
  38. package/dist/generated/gdk/surface.js +8 -22
  39. package/dist/generated/gdk/texture-downloader.js +6 -15
  40. package/dist/generated/gdk/texture.js +9 -24
  41. package/dist/generated/gdk/toplevel-layout.js +4 -9
  42. package/dist/generated/gdk/vulkan-context.js +2 -3
  43. package/dist/generated/gdkpixbuf/pixbuf-animation-iter.js +2 -3
  44. package/dist/generated/gdkpixbuf/pixbuf-animation.js +7 -18
  45. package/dist/generated/gdkpixbuf/pixbuf-format.js +2 -3
  46. package/dist/generated/gdkpixbuf/pixbuf-loader.js +7 -19
  47. package/dist/generated/gdkpixbuf/pixbuf.js +24 -70
  48. package/dist/generated/gio/action-group.js +5 -12
  49. package/dist/generated/gio/action-map.js +2 -3
  50. package/dist/generated/gio/action.js +5 -12
  51. package/dist/generated/gio/app-info-monitor.js +3 -6
  52. package/dist/generated/gio/app-info.js +3 -7
  53. package/dist/generated/gio/app-launch-context.js +2 -3
  54. package/dist/generated/gio/application-command-line.js +5 -12
  55. package/dist/generated/gio/application.js +9 -25
  56. package/dist/generated/gio/async-initable.js +2 -4
  57. package/dist/generated/gio/async-result.js +2 -4
  58. package/dist/generated/gio/buffered-input-stream.js +2 -4
  59. package/dist/generated/gio/buffered-output-stream.js +2 -4
  60. package/dist/generated/gio/bytes-icon.js +5 -13
  61. package/dist/generated/gio/cancellable.js +4 -10
  62. package/dist/generated/gio/charset-converter.js +2 -4
  63. package/dist/generated/gio/converter-input-stream.js +3 -7
  64. package/dist/generated/gio/converter-output-stream.js +3 -7
  65. package/dist/generated/gio/converter.js +2 -4
  66. package/dist/generated/gio/datagram-based.js +2 -4
  67. package/dist/generated/gio/dbus-action-group.js +6 -15
  68. package/dist/generated/gio/dbus-annotation-info.js +2 -3
  69. package/dist/generated/gio/dbus-arg-info.js +2 -3
  70. package/dist/generated/gio/dbus-auth-observer.js +2 -3
  71. package/dist/generated/gio/dbus-connection.js +14 -40
  72. package/dist/generated/gio/dbus-interface-info.js +5 -12
  73. package/dist/generated/gio/dbus-interface-skeleton.js +7 -19
  74. package/dist/generated/gio/dbus-interface.js +4 -9
  75. package/dist/generated/gio/dbus-menu-model.js +2 -3
  76. package/dist/generated/gio/dbus-message.js +12 -34
  77. package/dist/generated/gio/dbus-method-info.js +2 -3
  78. package/dist/generated/gio/dbus-method-invocation.js +6 -15
  79. package/dist/generated/gio/dbus-node-info.js +3 -6
  80. package/dist/generated/gio/dbus-object-manager-client.js +9 -25
  81. package/dist/generated/gio/dbus-object-manager-server.js +4 -9
  82. package/dist/generated/gio/dbus-object-manager.js +3 -6
  83. package/dist/generated/gio/dbus-object-proxy.js +3 -6
  84. package/dist/generated/gio/dbus-object-skeleton.js +3 -6
  85. package/dist/generated/gio/dbus-object.js +2 -3
  86. package/dist/generated/gio/dbus-property-info.js +2 -3
  87. package/dist/generated/gio/dbus-proxy.js +16 -46
  88. package/dist/generated/gio/dbus-server.js +2 -4
  89. package/dist/generated/gio/dbus-signal-info.js +2 -3
  90. package/dist/generated/gio/debug-controller-dbus.js +2 -4
  91. package/dist/generated/gio/drive.js +3 -7
  92. package/dist/generated/gio/dtls-client-connection.js +2 -3
  93. package/dist/generated/gio/dtls-connection.js +5 -13
  94. package/dist/generated/gio/emblem.js +4 -9
  95. package/dist/generated/gio/emblemed-icon.js +3 -6
  96. package/dist/generated/gio/file-attribute-info-list.js +3 -6
  97. package/dist/generated/gio/file-attribute-matcher.js +3 -6
  98. package/dist/generated/gio/file-enumerator.js +4 -10
  99. package/dist/generated/gio/file-icon.js +5 -13
  100. package/dist/generated/gio/file-info.js +9 -24
  101. package/dist/generated/gio/file-input-stream.js +3 -7
  102. package/dist/generated/gio/file-iostream.js +3 -7
  103. package/dist/generated/gio/file-monitor.js +2 -3
  104. package/dist/generated/gio/file-output-stream.js +3 -7
  105. package/dist/generated/gio/file.js +40 -118
  106. package/dist/generated/gio/filename-completer.js +2 -3
  107. package/dist/generated/gio/filter-input-stream.js +2 -3
  108. package/dist/generated/gio/filter-output-stream.js +2 -3
  109. package/dist/generated/gio/functions.js +46 -136
  110. package/dist/generated/gio/icon.js +2 -3
  111. package/dist/generated/gio/inet-address-mask.js +3 -7
  112. package/dist/generated/gio/inet-address.js +5 -12
  113. package/dist/generated/gio/inet-socket-address.js +3 -6
  114. package/dist/generated/gio/input-stream.js +3 -7
  115. package/dist/generated/gio/iostream.js +3 -7
  116. package/dist/generated/gio/list-model.js +2 -3
  117. package/dist/generated/gio/list-store.js +2 -3
  118. package/dist/generated/gio/loadable-icon.js +3 -7
  119. package/dist/generated/gio/memory-input-stream.js +4 -10
  120. package/dist/generated/gio/memory-output-stream.js +4 -10
  121. package/dist/generated/gio/menu-attribute-iter.js +2 -3
  122. package/dist/generated/gio/menu-item.js +6 -15
  123. package/dist/generated/gio/menu-link-iter.js +2 -3
  124. package/dist/generated/gio/menu-model.js +6 -15
  125. package/dist/generated/gio/mount-operation.js +2 -3
  126. package/dist/generated/gio/mount.js +7 -19
  127. package/dist/generated/gio/network-address.js +6 -16
  128. package/dist/generated/gio/network-service.js +3 -6
  129. package/dist/generated/gio/pollable-input-stream.js +2 -4
  130. package/dist/generated/gio/pollable-output-stream.js +2 -4
  131. package/dist/generated/gio/property-action.js +5 -12
  132. package/dist/generated/gio/proxy.js +3 -7
  133. package/dist/generated/gio/resolver.js +3 -7
  134. package/dist/generated/gio/resource.js +5 -13
  135. package/dist/generated/gio/settings-backend.js +2 -3
  136. package/dist/generated/gio/settings-schema-key.js +5 -12
  137. package/dist/generated/gio/settings-schema-source.js +4 -9
  138. package/dist/generated/gio/settings-schema.js +3 -6
  139. package/dist/generated/gio/settings.js +12 -33
  140. package/dist/generated/gio/simple-action-group.js +7 -18
  141. package/dist/generated/gio/simple-action.js +7 -18
  142. package/dist/generated/gio/simple-async-result.js +5 -13
  143. package/dist/generated/gio/socket-address-enumerator.js +3 -7
  144. package/dist/generated/gio/socket-address.js +3 -7
  145. package/dist/generated/gio/socket-client.js +12 -34
  146. package/dist/generated/gio/socket-connectable.js +3 -6
  147. package/dist/generated/gio/socket-connection.js +4 -10
  148. package/dist/generated/gio/socket-control-message.js +2 -3
  149. package/dist/generated/gio/socket-listener.js +6 -16
  150. package/dist/generated/gio/socket-service.js +2 -3
  151. package/dist/generated/gio/socket.js +10 -28
  152. package/dist/generated/gio/srv-target.js +2 -3
  153. package/dist/generated/gio/subprocess-launcher.js +3 -7
  154. package/dist/generated/gio/subprocess.js +5 -13
  155. package/dist/generated/gio/task.js +4 -10
  156. package/dist/generated/gio/tcp-wrapper-connection.js +2 -3
  157. package/dist/generated/gio/themed-icon.js +4 -9
  158. package/dist/generated/gio/threaded-socket-service.js +2 -3
  159. package/dist/generated/gio/tls-backend.js +2 -3
  160. package/dist/generated/gio/tls-certificate.js +11 -31
  161. package/dist/generated/gio/tls-client-connection.js +2 -3
  162. package/dist/generated/gio/tls-connection.js +6 -16
  163. package/dist/generated/gio/tls-database.js +5 -13
  164. package/dist/generated/gio/unix-connection.js +3 -7
  165. package/dist/generated/gio/unix-credentials-message.js +3 -6
  166. package/dist/generated/gio/unix-fdlist.js +2 -4
  167. package/dist/generated/gio/unix-socket-address.js +3 -6
  168. package/dist/generated/gio/vfs.js +6 -15
  169. package/dist/generated/gio/volume-monitor.js +5 -12
  170. package/dist/generated/gio/volume.js +6 -16
  171. package/dist/generated/gio/zlib-compressor.js +3 -7
  172. package/dist/generated/gio/zlib-decompressor.js +3 -7
  173. package/dist/generated/glib/array.js +14 -39
  174. package/dist/generated/glib/bookmark-file.js +5 -13
  175. package/dist/generated/glib/byte-array.js +11 -30
  176. package/dist/generated/glib/bytes.js +7 -18
  177. package/dist/generated/glib/checksum.js +2 -3
  178. package/dist/generated/glib/date-time.js +27 -78
  179. package/dist/generated/glib/date.js +4 -9
  180. package/dist/generated/glib/dir.js +2 -4
  181. package/dist/generated/glib/error.js +4 -9
  182. package/dist/generated/glib/functions.js +45 -133
  183. package/dist/generated/glib/hash-table.js +5 -12
  184. package/dist/generated/glib/hmac.js +3 -6
  185. package/dist/generated/glib/iochannel.js +3 -7
  186. package/dist/generated/glib/key-file.js +2 -4
  187. package/dist/generated/glib/main-context.js +9 -24
  188. package/dist/generated/glib/main-loop.js +3 -6
  189. package/dist/generated/glib/mapped-file.js +4 -9
  190. package/dist/generated/glib/markup-parse-context.js +2 -4
  191. package/dist/generated/glib/match-info.js +3 -7
  192. package/dist/generated/glib/option-group.js +2 -3
  193. package/dist/generated/glib/pattern-spec.js +2 -3
  194. package/dist/generated/glib/ptr-array.js +13 -36
  195. package/dist/generated/glib/rand.js +4 -9
  196. package/dist/generated/glib/regex.js +2 -4
  197. package/dist/generated/glib/source.js +4 -9
  198. package/dist/generated/glib/string.js +29 -84
  199. package/dist/generated/glib/strv-builder.js +2 -3
  200. package/dist/generated/glib/thread.js +6 -16
  201. package/dist/generated/glib/time-zone.js +6 -15
  202. package/dist/generated/glib/tree.js +4 -9
  203. package/dist/generated/glib/uri.js +6 -16
  204. package/dist/generated/glib/variant-builder.js +3 -6
  205. package/dist/generated/glib/variant-dict.js +4 -9
  206. package/dist/generated/glib/variant-type.js +12 -33
  207. package/dist/generated/glib/variant.js +44 -130
  208. package/dist/generated/gobject/binding-group.js +2 -3
  209. package/dist/generated/gobject/binding.js +5 -12
  210. package/dist/generated/gobject/closure.js +3 -6
  211. package/dist/generated/gobject/functions.js +31 -90
  212. package/dist/generated/gobject/object.js +9 -24
  213. package/dist/generated/gobject/param-spec.js +6 -15
  214. package/dist/generated/gobject/signal-group.js +3 -6
  215. package/dist/generated/gobject/value-array.js +9 -24
  216. package/dist/generated/gobject/value.js +9 -24
  217. package/dist/generated/graphene/box.js +12 -33
  218. package/dist/generated/graphene/euler.js +8 -21
  219. package/dist/generated/graphene/frustum.js +4 -9
  220. package/dist/generated/graphene/functions.js +27 -78
  221. package/dist/generated/graphene/matrix.js +14 -39
  222. package/dist/generated/graphene/plane.js +6 -15
  223. package/dist/generated/graphene/point.js +5 -12
  224. package/dist/generated/graphene/point3d.js +5 -12
  225. package/dist/generated/graphene/quad.js +5 -12
  226. package/dist/generated/graphene/quaternion.js +10 -27
  227. package/dist/generated/graphene/ray.js +4 -9
  228. package/dist/generated/graphene/rect.js +9 -24
  229. package/dist/generated/graphene/size.js +4 -9
  230. package/dist/generated/graphene/sphere.js +4 -9
  231. package/dist/generated/graphene/triangle.js +4 -9
  232. package/dist/generated/graphene/vec2.js +8 -21
  233. package/dist/generated/graphene/vec3.js +9 -24
  234. package/dist/generated/graphene/vec4.js +12 -33
  235. package/dist/generated/gsk/blend-node.js +3 -6
  236. package/dist/generated/gsk/blur-node.js +2 -3
  237. package/dist/generated/gsk/cairo-node.js +3 -6
  238. package/dist/generated/gsk/clip-node.js +3 -6
  239. package/dist/generated/gsk/color-matrix-node.js +4 -9
  240. package/dist/generated/gsk/color-node.js +2 -3
  241. package/dist/generated/gsk/component-transfer-node.js +3 -6
  242. package/dist/generated/gsk/component-transfer.js +7 -18
  243. package/dist/generated/gsk/conic-gradient-node.js +2 -3
  244. package/dist/generated/gsk/container-node.js +2 -3
  245. package/dist/generated/gsk/cross-fade-node.js +3 -6
  246. package/dist/generated/gsk/debug-node.js +2 -3
  247. package/dist/generated/gsk/fill-node.js +3 -6
  248. package/dist/generated/gsk/functions.js +4 -9
  249. package/dist/generated/gsk/glshader-node.js +4 -9
  250. package/dist/generated/gsk/glshader.js +5 -13
  251. package/dist/generated/gsk/inset-shadow-node.js +2 -3
  252. package/dist/generated/gsk/linear-gradient-node.js +3 -6
  253. package/dist/generated/gsk/mask-node.js +3 -6
  254. package/dist/generated/gsk/opacity-node.js +2 -3
  255. package/dist/generated/gsk/outset-shadow-node.js +2 -3
  256. package/dist/generated/gsk/path-builder.js +5 -12
  257. package/dist/generated/gsk/path-measure.js +4 -9
  258. package/dist/generated/gsk/path-point.js +2 -3
  259. package/dist/generated/gsk/path.js +3 -6
  260. package/dist/generated/gsk/radial-gradient-node.js +2 -3
  261. package/dist/generated/gsk/render-node.js +4 -10
  262. package/dist/generated/gsk/renderer.js +3 -7
  263. package/dist/generated/gsk/repeat-node.js +3 -6
  264. package/dist/generated/gsk/rounded-clip-node.js +2 -3
  265. package/dist/generated/gsk/shader-args-builder.js +4 -9
  266. package/dist/generated/gsk/shadow-node.js +2 -3
  267. package/dist/generated/gsk/stroke-node.js +4 -9
  268. package/dist/generated/gsk/stroke.js +2 -3
  269. package/dist/generated/gsk/subsurface-node.js +2 -3
  270. package/dist/generated/gsk/text-node.js +4 -9
  271. package/dist/generated/gsk/texture-node.js +2 -3
  272. package/dist/generated/gsk/texture-scale-node.js +2 -3
  273. package/dist/generated/gsk/transform-node.js +3 -6
  274. package/dist/generated/gsk/transform.js +14 -39
  275. package/dist/generated/gtk/about-dialog.js +3 -6
  276. package/dist/generated/gtk/accessible-list.js +2 -3
  277. package/dist/generated/gtk/accessible.js +5 -12
  278. package/dist/generated/gtk/action-bar.js +2 -3
  279. package/dist/generated/gtk/actionable.js +2 -3
  280. package/dist/generated/gtk/activate-action.js +2 -3
  281. package/dist/generated/gtk/adjustment.js +2 -3
  282. package/dist/generated/gtk/alert-dialog.js +2 -4
  283. package/dist/generated/gtk/alternative-trigger.js +3 -6
  284. package/dist/generated/gtk/app-chooser-button.js +3 -6
  285. package/dist/generated/gtk/app-chooser-dialog.js +4 -9
  286. package/dist/generated/gtk/app-chooser-widget.js +3 -6
  287. package/dist/generated/gtk/app-chooser.js +2 -3
  288. package/dist/generated/gtk/application-window.js +2 -3
  289. package/dist/generated/gtk/application.js +6 -15
  290. package/dist/generated/gtk/aspect-frame.js +2 -3
  291. package/dist/generated/gtk/assistant-page.js +2 -3
  292. package/dist/generated/gtk/assistant.js +5 -12
  293. package/dist/generated/gtk/atcontext.js +3 -6
  294. package/dist/generated/gtk/bitset.js +4 -9
  295. package/dist/generated/gtk/bool-filter.js +2 -3
  296. package/dist/generated/gtk/border.js +2 -3
  297. package/dist/generated/gtk/builder-list-item-factory.js +4 -9
  298. package/dist/generated/gtk/builder.js +8 -22
  299. package/dist/generated/gtk/button.js +7 -18
  300. package/dist/generated/gtk/calendar.js +3 -6
  301. package/dist/generated/gtk/cell-area-context.js +2 -3
  302. package/dist/generated/gtk/cell-area.js +10 -27
  303. package/dist/generated/gtk/cell-layout.js +2 -3
  304. package/dist/generated/gtk/cell-renderer-accel.js +2 -3
  305. package/dist/generated/gtk/cell-renderer-combo.js +2 -3
  306. package/dist/generated/gtk/cell-renderer-text.js +2 -3
  307. package/dist/generated/gtk/cell-renderer-toggle.js +2 -3
  308. package/dist/generated/gtk/cell-renderer.js +3 -6
  309. package/dist/generated/gtk/cell-view.js +8 -21
  310. package/dist/generated/gtk/center-box.js +4 -9
  311. package/dist/generated/gtk/center-layout.js +4 -9
  312. package/dist/generated/gtk/check-button.js +6 -15
  313. package/dist/generated/gtk/color-button.js +3 -6
  314. package/dist/generated/gtk/color-dialog-button.js +4 -9
  315. package/dist/generated/gtk/color-dialog.js +2 -4
  316. package/dist/generated/gtk/column-view-column.js +5 -12
  317. package/dist/generated/gtk/column-view-row.js +2 -3
  318. package/dist/generated/gtk/column-view-sorter.js +3 -6
  319. package/dist/generated/gtk/column-view.js +9 -24
  320. package/dist/generated/gtk/combo-box-text.js +2 -3
  321. package/dist/generated/gtk/combo-box.js +8 -21
  322. package/dist/generated/gtk/constant-expression.js +3 -6
  323. package/dist/generated/gtk/constraint-layout.js +3 -7
  324. package/dist/generated/gtk/constraint.js +4 -9
  325. package/dist/generated/gtk/css-provider.js +2 -3
  326. package/dist/generated/gtk/css-section.js +6 -15
  327. package/dist/generated/gtk/dialog.js +7 -18
  328. package/dist/generated/gtk/directory-list.js +3 -6
  329. package/dist/generated/gtk/drag-icon.js +5 -12
  330. package/dist/generated/gtk/drag-source.js +4 -9
  331. package/dist/generated/gtk/drawing-area.js +2 -3
  332. package/dist/generated/gtk/drop-controller-motion.js +3 -6
  333. package/dist/generated/gtk/drop-down.js +9 -24
  334. package/dist/generated/gtk/drop-target-async.js +3 -6
  335. package/dist/generated/gtk/drop-target.js +6 -15
  336. package/dist/generated/gtk/editable-label.js +2 -3
  337. package/dist/generated/gtk/editable.js +2 -3
  338. package/dist/generated/gtk/emoji-chooser.js +2 -3
  339. package/dist/generated/gtk/entry-buffer.js +2 -3
  340. package/dist/generated/gtk/entry-completion.js +6 -15
  341. package/dist/generated/gtk/entry.js +11 -30
  342. package/dist/generated/gtk/event-controller-focus.js +2 -3
  343. package/dist/generated/gtk/event-controller-key.js +3 -6
  344. package/dist/generated/gtk/event-controller-legacy.js +2 -3
  345. package/dist/generated/gtk/event-controller-motion.js +2 -3
  346. package/dist/generated/gtk/event-controller-scroll.js +2 -3
  347. package/dist/generated/gtk/event-controller.js +4 -9
  348. package/dist/generated/gtk/expander.js +5 -12
  349. package/dist/generated/gtk/expression-watch.js +2 -3
  350. package/dist/generated/gtk/expression.js +4 -9
  351. package/dist/generated/gtk/file-chooser-dialog.js +8 -22
  352. package/dist/generated/gtk/file-chooser-native.js +7 -19
  353. package/dist/generated/gtk/file-chooser-widget.js +8 -22
  354. package/dist/generated/gtk/file-chooser.js +7 -19
  355. package/dist/generated/gtk/file-dialog.js +13 -49
  356. package/dist/generated/gtk/file-filter.js +3 -6
  357. package/dist/generated/gtk/file-launcher.js +2 -4
  358. package/dist/generated/gtk/filter-list-model.js +3 -6
  359. package/dist/generated/gtk/filter.js +2 -3
  360. package/dist/generated/gtk/fixed-layout-child.js +2 -3
  361. package/dist/generated/gtk/fixed.js +2 -3
  362. package/dist/generated/gtk/flatten-list-model.js +3 -6
  363. package/dist/generated/gtk/flow-box-child.js +3 -6
  364. package/dist/generated/gtk/flow-box.js +4 -9
  365. package/dist/generated/gtk/font-button.js +6 -15
  366. package/dist/generated/gtk/font-chooser-dialog.js +4 -9
  367. package/dist/generated/gtk/font-chooser-widget.js +4 -9
  368. package/dist/generated/gtk/font-chooser.js +5 -12
  369. package/dist/generated/gtk/font-dialog-button.js +5 -12
  370. package/dist/generated/gtk/font-dialog.js +7 -19
  371. package/dist/generated/gtk/frame.js +3 -6
  372. package/dist/generated/gtk/functions.js +8 -22
  373. package/dist/generated/gtk/gesture-click.js +2 -3
  374. package/dist/generated/gtk/gesture-drag.js +2 -3
  375. package/dist/generated/gtk/gesture-long-press.js +2 -3
  376. package/dist/generated/gtk/gesture-pan.js +2 -3
  377. package/dist/generated/gtk/gesture-rotate.js +2 -3
  378. package/dist/generated/gtk/gesture-single.js +2 -3
  379. package/dist/generated/gtk/gesture-stylus.js +3 -6
  380. package/dist/generated/gtk/gesture-swipe.js +2 -3
  381. package/dist/generated/gtk/gesture-zoom.js +2 -3
  382. package/dist/generated/gtk/gesture.js +5 -12
  383. package/dist/generated/gtk/glarea.js +4 -9
  384. package/dist/generated/gtk/graphics-offload.js +2 -3
  385. package/dist/generated/gtk/grid-view.js +4 -9
  386. package/dist/generated/gtk/grid.js +2 -3
  387. package/dist/generated/gtk/header-bar.js +2 -3
  388. package/dist/generated/gtk/icon-paintable.js +2 -3
  389. package/dist/generated/gtk/icon-theme.js +6 -15
  390. package/dist/generated/gtk/icon-view.js +10 -27
  391. package/dist/generated/gtk/image.js +9 -24
  392. package/dist/generated/gtk/imcontext.js +2 -3
  393. package/dist/generated/gtk/info-bar.js +4 -9
  394. package/dist/generated/gtk/inscription.js +2 -3
  395. package/dist/generated/gtk/label.js +8 -21
  396. package/dist/generated/gtk/layout-child.js +3 -6
  397. package/dist/generated/gtk/layout-manager.js +3 -6
  398. package/dist/generated/gtk/level-bar.js +3 -6
  399. package/dist/generated/gtk/link-button.js +3 -6
  400. package/dist/generated/gtk/list-base.js +3 -6
  401. package/dist/generated/gtk/list-box-row.js +5 -12
  402. package/dist/generated/gtk/list-box.js +6 -15
  403. package/dist/generated/gtk/list-header.js +3 -6
  404. package/dist/generated/gtk/list-item.js +3 -6
  405. package/dist/generated/gtk/list-store.js +5 -12
  406. package/dist/generated/gtk/list-view.js +5 -12
  407. package/dist/generated/gtk/lock-button.js +2 -3
  408. package/dist/generated/gtk/map-list-model.js +2 -3
  409. package/dist/generated/gtk/media-controls.js +2 -3
  410. package/dist/generated/gtk/media-file.js +7 -18
  411. package/dist/generated/gtk/media-stream.js +2 -3
  412. package/dist/generated/gtk/menu-button.js +5 -12
  413. package/dist/generated/gtk/message-dialog.js +4 -9
  414. package/dist/generated/gtk/mnemonic-action.js +2 -3
  415. package/dist/generated/gtk/mount-operation.js +3 -6
  416. package/dist/generated/gtk/multi-selection.js +4 -9
  417. package/dist/generated/gtk/native-dialog.js +3 -6
  418. package/dist/generated/gtk/native.js +3 -6
  419. package/dist/generated/gtk/never-trigger.js +2 -3
  420. package/dist/generated/gtk/no-selection.js +4 -9
  421. package/dist/generated/gtk/notebook-page.js +2 -3
  422. package/dist/generated/gtk/notebook.js +8 -21
  423. package/dist/generated/gtk/nothing-action.js +2 -3
  424. package/dist/generated/gtk/numeric-sorter.js +2 -3
  425. package/dist/generated/gtk/object-expression.js +2 -3
  426. package/dist/generated/gtk/overlay.js +3 -6
  427. package/dist/generated/gtk/page-setup-unix-dialog.js +3 -6
  428. package/dist/generated/gtk/page-setup.js +7 -19
  429. package/dist/generated/gtk/paned.js +4 -9
  430. package/dist/generated/gtk/paper-size.js +8 -21
  431. package/dist/generated/gtk/password-entry.js +4 -9
  432. package/dist/generated/gtk/picture.js +8 -21
  433. package/dist/generated/gtk/popover-menu-bar.js +2 -3
  434. package/dist/generated/gtk/popover-menu.js +3 -6
  435. package/dist/generated/gtk/popover.js +5 -12
  436. package/dist/generated/gtk/print-context.js +6 -15
  437. package/dist/generated/gtk/print-dialog.js +5 -13
  438. package/dist/generated/gtk/print-job.js +5 -13
  439. package/dist/generated/gtk/print-operation.js +4 -10
  440. package/dist/generated/gtk/print-settings.js +7 -19
  441. package/dist/generated/gtk/print-setup.js +4 -9
  442. package/dist/generated/gtk/print-unix-dialog.js +3 -6
  443. package/dist/generated/gtk/printer.js +3 -6
  444. package/dist/generated/gtk/property-expression.js +4 -9
  445. package/dist/generated/gtk/range.js +3 -6
  446. package/dist/generated/gtk/recent-info.js +7 -19
  447. package/dist/generated/gtk/recent-manager.js +4 -10
  448. package/dist/generated/gtk/requisition.js +2 -3
  449. package/dist/generated/gtk/revealer.js +2 -3
  450. package/dist/generated/gtk/root.js +3 -6
  451. package/dist/generated/gtk/scale-button.js +6 -15
  452. package/dist/generated/gtk/scale.js +3 -6
  453. package/dist/generated/gtk/scroll-info.js +2 -3
  454. package/dist/generated/gtk/scrollable.js +3 -6
  455. package/dist/generated/gtk/scrollbar.js +2 -3
  456. package/dist/generated/gtk/scrolled-window.js +7 -18
  457. package/dist/generated/gtk/search-bar.js +3 -6
  458. package/dist/generated/gtk/search-entry.js +4 -9
  459. package/dist/generated/gtk/selection-filter-model.js +2 -3
  460. package/dist/generated/gtk/selection-model.js +3 -6
  461. package/dist/generated/gtk/settings.js +3 -6
  462. package/dist/generated/gtk/shortcut-controller.js +2 -3
  463. package/dist/generated/gtk/shortcut.js +5 -12
  464. package/dist/generated/gtk/shortcuts-section.js +2 -3
  465. package/dist/generated/gtk/shortcuts-window.js +2 -3
  466. package/dist/generated/gtk/signal-list-item-factory.js +2 -3
  467. package/dist/generated/gtk/single-selection.js +5 -12
  468. package/dist/generated/gtk/slice-list-model.js +2 -3
  469. package/dist/generated/gtk/snapshot.js +6 -15
  470. package/dist/generated/gtk/sort-list-model.js +4 -9
  471. package/dist/generated/gtk/sorter.js +2 -3
  472. package/dist/generated/gtk/spin-button.js +5 -12
  473. package/dist/generated/gtk/stack-page.js +6 -15
  474. package/dist/generated/gtk/stack-sidebar.js +2 -3
  475. package/dist/generated/gtk/stack-switcher.js +2 -3
  476. package/dist/generated/gtk/stack.js +8 -21
  477. package/dist/generated/gtk/statusbar.js +2 -3
  478. package/dist/generated/gtk/string-filter.js +2 -3
  479. package/dist/generated/gtk/string-sorter.js +2 -3
  480. package/dist/generated/gtk/style-context.js +2 -3
  481. package/dist/generated/gtk/switch.js +3 -6
  482. package/dist/generated/gtk/text-buffer.js +10 -27
  483. package/dist/generated/gtk/text-child-anchor.js +2 -3
  484. package/dist/generated/gtk/text-iter.js +6 -15
  485. package/dist/generated/gtk/text-mark.js +2 -3
  486. package/dist/generated/gtk/text-tag-table.js +3 -6
  487. package/dist/generated/gtk/text-view.js +11 -30
  488. package/dist/generated/gtk/text.js +8 -21
  489. package/dist/generated/gtk/toggle-button.js +4 -9
  490. package/dist/generated/gtk/tree-drag-source.js +2 -3
  491. package/dist/generated/gtk/tree-expander.js +4 -9
  492. package/dist/generated/gtk/tree-iter.js +2 -3
  493. package/dist/generated/gtk/tree-list-model.js +4 -9
  494. package/dist/generated/gtk/tree-list-row-sorter.js +2 -3
  495. package/dist/generated/gtk/tree-list-row.js +5 -12
  496. package/dist/generated/gtk/tree-model-filter.js +7 -18
  497. package/dist/generated/gtk/tree-model-sort.js +7 -18
  498. package/dist/generated/gtk/tree-model.js +3 -6
  499. package/dist/generated/gtk/tree-path.js +6 -15
  500. package/dist/generated/gtk/tree-row-reference.js +5 -12
  501. package/dist/generated/gtk/tree-selection.js +3 -6
  502. package/dist/generated/gtk/tree-store.js +5 -12
  503. package/dist/generated/gtk/tree-view-column.js +8 -21
  504. package/dist/generated/gtk/tree-view.js +11 -30
  505. package/dist/generated/gtk/video.js +7 -18
  506. package/dist/generated/gtk/viewport.js +4 -9
  507. package/dist/generated/gtk/widget-paintable.js +2 -3
  508. package/dist/generated/gtk/widget.js +32 -93
  509. package/dist/generated/gtk/window-handle.js +2 -3
  510. package/dist/generated/gtk/window.js +11 -30
  511. package/dist/generated/harfbuzz/functions.js +71 -210
  512. package/dist/generated/pango/attr-iterator.js +3 -6
  513. package/dist/generated/pango/attr-list.js +6 -15
  514. package/dist/generated/pango/attribute.js +2 -3
  515. package/dist/generated/pango/color.js +2 -3
  516. package/dist/generated/pango/context.js +8 -21
  517. package/dist/generated/pango/coverage.js +4 -9
  518. package/dist/generated/pango/font-description.js +4 -9
  519. package/dist/generated/pango/font-face.js +3 -6
  520. package/dist/generated/pango/font-family.js +2 -3
  521. package/dist/generated/pango/font-map.js +6 -16
  522. package/dist/generated/pango/font-metrics.js +2 -3
  523. package/dist/generated/pango/font.js +10 -28
  524. package/dist/generated/pango/fontset.js +3 -6
  525. package/dist/generated/pango/functions.js +46 -136
  526. package/dist/generated/pango/glyph-item-iter.js +2 -3
  527. package/dist/generated/pango/glyph-item.js +3 -6
  528. package/dist/generated/pango/glyph-string.js +2 -3
  529. package/dist/generated/pango/item.js +3 -6
  530. package/dist/generated/pango/language.js +3 -6
  531. package/dist/generated/pango/layout-iter.js +5 -12
  532. package/dist/generated/pango/layout-line.js +2 -3
  533. package/dist/generated/pango/layout.js +11 -31
  534. package/dist/generated/pango/matrix.js +2 -3
  535. package/dist/generated/pango/renderer.js +5 -12
  536. package/dist/generated/pango/tab-array.js +4 -9
  537. package/dist/generated/pangocairo/font-map.js +2 -3
  538. package/dist/generated/pangocairo/font.js +2 -3
  539. package/dist/generated/pangocairo/functions.js +7 -18
  540. package/dist/native.d.ts +6 -4
  541. package/dist/native.js +10 -4
  542. package/package.json +18 -18
@@ -16,6 +16,7 @@ export declare class CodeGenerator {
16
16
  private usesWrite;
17
17
  private usesAlloc;
18
18
  private usesNativeError;
19
+ private usesWrapPtr;
19
20
  private usedEnums;
20
21
  private usedRecords;
21
22
  private usedExternalTypes;
@@ -168,6 +168,7 @@ export class CodeGenerator {
168
168
  usesWrite = false;
169
169
  usesAlloc = false;
170
170
  usesNativeError = false;
171
+ usesWrapPtr = false;
171
172
  usedEnums = new Set();
172
173
  usedRecords = new Set();
173
174
  usedExternalTypes = new Map();
@@ -308,6 +309,7 @@ export class CodeGenerator {
308
309
  this.usesWrite = false;
309
310
  this.usesAlloc = false;
310
311
  this.usesNativeError = false;
312
+ this.usesWrapPtr = false;
311
313
  this.usedEnums.clear();
312
314
  this.usedRecords.clear();
313
315
  this.usedExternalTypes.clear();
@@ -601,6 +603,7 @@ ${args}
601
603
  const params = this.generateParameterList(ctor.parameters);
602
604
  const args = this.generateCallArguments(ctor.parameters);
603
605
  const ctorDoc = formatMethodDoc(ctor.doc, ctor.parameters);
606
+ this.usesWrapPtr = true;
604
607
  return `${ctorDoc} static ${methodName}(${params}): ${className} {
605
608
  const ptr = call(
606
609
  "${sharedLibrary}",
@@ -610,9 +613,7 @@ ${args}
610
613
  ],
611
614
  { type: "gobject", borrowed: true }
612
615
  );
613
- const instance = Object.create(${className}.prototype) as ${className} & { ptr: unknown };
614
- instance.ptr = ptr;
615
- return instance;
616
+ return wrapPtr(ptr, ${className});
616
617
  }
617
618
  `;
618
619
  }
@@ -647,6 +648,7 @@ ${args}
647
648
  const errorArg = func.throws ? this.generateErrorArgument() : "";
648
649
  const allArgs = errorArg ? args + (args ? ",\n" : "") + errorArg : args;
649
650
  if (returnsOwnClass) {
651
+ this.usesWrapPtr = true;
650
652
  lines.push(` const ptr = call(
651
653
  "${sharedLibrary}",
652
654
  "${func.cIdentifier}",
@@ -658,9 +660,7 @@ ${allArgs ? `${allArgs},` : ""}
658
660
  if (func.throws) {
659
661
  lines.push(this.generateErrorCheck());
660
662
  }
661
- lines.push(` const instance = Object.create(${className}.prototype) as ${className} & { ptr: unknown };
662
- instance.ptr = ptr;
663
- return instance;`);
663
+ lines.push(` return wrapPtr(ptr, ${className});`);
664
664
  }
665
665
  else {
666
666
  const callPrefix = func.throws
@@ -867,10 +867,9 @@ ${allArgs ? `${allArgs},` : ""}
867
867
  if (outputParams.length === 0) {
868
868
  if (hasMainReturn) {
869
869
  if (needsObjectWrap) {
870
+ this.usesWrapPtr = true;
870
871
  lines.push(` if (ptr === null) { resolve(null as unknown as ${finishReturnType.ts}); return; }`);
871
- lines.push(` const instance = Object.create(${finishReturnType.ts}.prototype) as ${finishReturnType.ts} & { ptr: unknown };`);
872
- lines.push(` instance.ptr = ptr;`);
873
- lines.push(` resolve(instance);`);
872
+ lines.push(` resolve(wrapPtr(ptr, ${finishReturnType.ts}));`);
874
873
  }
875
874
  else {
876
875
  lines.push(` resolve(result);`);
@@ -884,11 +883,8 @@ ${allArgs ? `${allArgs},` : ""}
884
883
  const resolveFields = [];
885
884
  if (hasMainReturn) {
886
885
  if (needsObjectWrap) {
887
- lines.push(` const result = (ptr === null ? null : (() => {`);
888
- lines.push(` const instance = Object.create(${finishReturnType.ts}.prototype) as ${finishReturnType.ts} & { ptr: unknown };`);
889
- lines.push(` instance.ptr = ptr;`);
890
- lines.push(` return instance;`);
891
- lines.push(` })()) as ${finishReturnType.ts};`);
886
+ this.usesWrapPtr = true;
887
+ lines.push(` const result = (ptr === null ? null : wrapPtr(ptr, ${finishReturnType.ts})) as ${finishReturnType.ts};`);
892
888
  }
893
889
  resolveFields.push("result");
894
890
  }
@@ -996,9 +992,8 @@ ${allArgs ? `${allArgs},` : ""}
996
992
  lines.push(` return { ptr } as unknown as ${tsReturnType};`);
997
993
  }
998
994
  else {
999
- lines.push(` const instance = Object.create(${tsReturnType}.prototype) as ${tsReturnType} & { ptr: unknown };`);
1000
- lines.push(` instance.ptr = ptr;`);
1001
- lines.push(` return instance;`);
995
+ this.usesWrapPtr = true;
996
+ lines.push(` return wrapPtr(ptr, ${tsReturnType});`);
1002
997
  }
1003
998
  }
1004
999
  else {
@@ -1116,6 +1111,9 @@ ${allArgs ? `${allArgs},` : ""}
1116
1111
  this.usedSameNamespaceClasses.set(className, originalName);
1117
1112
  });
1118
1113
  this.usesType = true;
1114
+ if (signalMetadata.length > 0) {
1115
+ this.usesWrapPtr = true;
1116
+ }
1119
1117
  const signalMapCode = signalMetadata.length > 0
1120
1118
  ? `const signalMeta: Record<string, { type: Type; cls?: { prototype: object } }[]> = {\n${signalMetadata.join(",\n")}\n };
1121
1119
  const meta = signalMeta[signal];
@@ -1127,9 +1125,7 @@ ${allArgs ? `${allArgs},` : ""}
1127
1125
  if (!meta) return handler(...signalArgs);
1128
1126
  const wrapped = meta.map((m, i) => {
1129
1127
  if (m.cls && signalArgs[i] != null) {
1130
- const inst = Object.create(m.cls.prototype) as { ptr: unknown };
1131
- inst.ptr = signalArgs[i];
1132
- return inst;
1128
+ return wrapPtr(signalArgs[i], m.cls);
1133
1129
  }
1134
1130
  return signalArgs[i];
1135
1131
  });
@@ -1371,6 +1367,7 @@ ${args}
1371
1367
  const params = this.generateParameterList(ctor.parameters);
1372
1368
  const args = this.generateCallArguments(ctor.parameters);
1373
1369
  const ctorDoc = formatMethodDoc(ctor.doc, ctor.parameters);
1370
+ this.usesWrapPtr = true;
1374
1371
  return `${ctorDoc} static ${methodName}(${params}): ${recordName} {
1375
1372
  const ptr = call(
1376
1373
  "${sharedLibrary}",
@@ -1380,9 +1377,7 @@ ${args}
1380
1377
  ],
1381
1378
  { type: "boxed", borrowed: true, innerType: "${recordName}" }
1382
1379
  );
1383
- const instance = Object.create(${recordName}.prototype) as ${recordName} & { ptr: unknown };
1384
- instance.ptr = ptr;
1385
- return instance;
1380
+ return wrapPtr(ptr, ${recordName});
1386
1381
  }
1387
1382
  `;
1388
1383
  }
@@ -1535,6 +1530,7 @@ ${args}
1535
1530
  const errorArg = func.throws ? this.generateErrorArgument(" ") : "";
1536
1531
  const allArgs = errorArg ? args + (args ? ",\n" : "") + errorArg : args;
1537
1532
  if (needsObjectWrap && hasReturnValue) {
1533
+ this.usesWrapPtr = true;
1538
1534
  lines.push(` const ptr = call("${sharedLibrary}", "${func.cIdentifier}", [
1539
1535
  ${allArgs ? `${allArgs},` : ""}
1540
1536
  ], ${this.generateTypeDescriptor(returnTypeMapping.ffi)});`);
@@ -1542,9 +1538,7 @@ ${allArgs ? `${allArgs},` : ""}
1542
1538
  lines.push(this.generateErrorCheck(""));
1543
1539
  }
1544
1540
  lines.push(` if (ptr === null) return null as unknown as ${returnTypeMapping.ts};`);
1545
- lines.push(` const instance = Object.create(${returnTypeMapping.ts}.prototype) as ${returnTypeMapping.ts} & { ptr: unknown };`);
1546
- lines.push(` instance.ptr = ptr;`);
1547
- lines.push(` return instance;`);
1541
+ lines.push(` return wrapPtr(ptr, ${returnTypeMapping.ts});`);
1548
1542
  }
1549
1543
  else {
1550
1544
  const callPrefix = func.throws
@@ -1669,8 +1663,13 @@ ${indent} }`;
1669
1663
  if (nativeImports.length > 0) {
1670
1664
  lines.push(`import { ${nativeImports.join(", ")} } from "@gtkx/native";`);
1671
1665
  }
1672
- if (this.usesNativeError) {
1673
- lines.push(`import { NativeError } from "@gtkx/ffi";`);
1666
+ const ffiImports = [];
1667
+ if (this.usesNativeError)
1668
+ ffiImports.push("NativeError");
1669
+ if (this.usesWrapPtr)
1670
+ ffiImports.push("wrapPtr");
1671
+ if (ffiImports.length > 0) {
1672
+ lines.push(`import { ${ffiImports.join(", ")} } from "@gtkx/ffi";`);
1674
1673
  }
1675
1674
  if (this.usedEnums.size > 0) {
1676
1675
  const enumList = Array.from(this.usedEnums).sort().join(", ");
@@ -1,4 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
+ import { wrapPtr } from "@gtkx/ffi";
2
3
  import { Display } from "./display.js";
3
4
  export class AppLaunchContext {
4
5
  ptr;
@@ -17,9 +18,7 @@ export class AppLaunchContext {
17
18
  ], { type: "gobject", borrowed: true });
18
19
  if (ptr === null)
19
20
  return null;
20
- const instance = Object.create(Display.prototype);
21
- instance.ptr = ptr;
22
- return instance;
21
+ return wrapPtr(ptr, Display);
23
22
  }
24
23
  setDesktop(desktop) {
25
24
  call("libgtk-4.so.1", "gdk_app_launch_context_set_desktop", [
@@ -1,4 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
+ import { wrapPtr } from "@gtkx/ffi";
2
3
  import * as cairo from "../cairo/index.js";
3
4
  import { DrawContext } from "./draw-context.js";
4
5
  export class CairoContext extends DrawContext {
@@ -22,8 +23,6 @@ export class CairoContext extends DrawContext {
22
23
  });
23
24
  if (ptr === null)
24
25
  return null;
25
- const instance = Object.create(cairo.Context.prototype);
26
- instance.ptr = ptr;
27
- return instance;
26
+ return wrapPtr(ptr, cairo.Context);
28
27
  }
29
28
  }
@@ -1,5 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
- import { NativeError } from "@gtkx/ffi";
2
+ import { NativeError, wrapPtr } from "@gtkx/ffi";
3
3
  import { ColorState } from "./color-state.js";
4
4
  export class CicpParams {
5
5
  ptr;
@@ -41,9 +41,7 @@ export class CicpParams {
41
41
  }
42
42
  if (ptr === null)
43
43
  return null;
44
- const instance = Object.create(ColorState.prototype);
45
- instance.ptr = ptr;
46
- return instance;
44
+ return wrapPtr(ptr, ColorState);
47
45
  }
48
46
  getColorPrimaries() {
49
47
  return call("libgtk-4.so.1", "gdk_cicp_params_get_color_primaries", [
@@ -1,5 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
- import { NativeError } from "@gtkx/ffi";
2
+ import { NativeError, wrapPtr } from "@gtkx/ffi";
3
3
  import { ContentFormats } from "./content-formats.js";
4
4
  import { ContentProvider } from "./content-provider.js";
5
5
  import { Display } from "./display.js";
@@ -23,9 +23,7 @@ export class Clipboard {
23
23
  ], { type: "gobject", borrowed: true });
24
24
  if (ptr === null)
25
25
  return null;
26
- const instance = Object.create(ContentProvider.prototype);
27
- instance.ptr = ptr;
28
- return instance;
26
+ return wrapPtr(ptr, ContentProvider);
29
27
  }
30
28
  getDisplay() {
31
29
  const ptr = call("libgtk-4.so.1", "gdk_clipboard_get_display", [
@@ -36,9 +34,7 @@ export class Clipboard {
36
34
  ], { type: "gobject", borrowed: true });
37
35
  if (ptr === null)
38
36
  return null;
39
- const instance = Object.create(Display.prototype);
40
- instance.ptr = ptr;
41
- return instance;
37
+ return wrapPtr(ptr, Display);
42
38
  }
43
39
  getFormats() {
44
40
  const ptr = call("libgtk-4.so.1", "gdk_clipboard_get_formats", [
@@ -54,9 +50,7 @@ export class Clipboard {
54
50
  });
55
51
  if (ptr === null)
56
52
  return null;
57
- const instance = Object.create(ContentFormats.prototype);
58
- instance.ptr = ptr;
59
- return instance;
53
+ return wrapPtr(ptr, ContentFormats);
60
54
  }
61
55
  isLocal() {
62
56
  return call("libgtk-4.so.1", "gdk_clipboard_is_local", [
@@ -98,9 +92,7 @@ export class Clipboard {
98
92
  }
99
93
  if (ptr === null)
100
94
  return null;
101
- const instance = Object.create(Gio.InputStream.prototype);
102
- instance.ptr = ptr;
103
- return instance;
95
+ return wrapPtr(ptr, Gio.InputStream);
104
96
  }
105
97
  readTextFinish(result) {
106
98
  const error = { value: null };
@@ -158,9 +150,7 @@ export class Clipboard {
158
150
  }
159
151
  if (ptr === null)
160
152
  return null;
161
- const instance = Object.create(Texture.prototype);
162
- instance.ptr = ptr;
163
- return instance;
153
+ return wrapPtr(ptr, Texture);
164
154
  }
165
155
  readValueFinish(result) {
166
156
  const error = { value: null };
@@ -195,9 +185,7 @@ export class Clipboard {
195
185
  }
196
186
  if (ptr === null)
197
187
  return null;
198
- const instance = Object.create(GObject.Value.prototype);
199
- instance.ptr = ptr;
200
- return instance;
188
+ return wrapPtr(ptr, GObject.Value);
201
189
  }
202
190
  set(type) {
203
191
  call("libgtk-4.so.1", "gdk_clipboard_set", [
@@ -328,9 +316,7 @@ export class Clipboard {
328
316
  return handler(...signalArgs);
329
317
  const wrapped = meta.map((m, i) => {
330
318
  if (m.cls && signalArgs[i] != null) {
331
- const inst = Object.create(m.cls.prototype);
332
- inst.ptr = signalArgs[i];
333
- return inst;
319
+ return wrapPtr(signalArgs[i], m.cls);
334
320
  }
335
321
  return signalArgs[i];
336
322
  });
@@ -1,4 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
+ import { wrapPtr } from "@gtkx/ffi";
2
3
  import { CicpParams } from "./cicp-params.js";
3
4
  export class ColorState {
4
5
  ptr;
@@ -15,9 +16,7 @@ export class ColorState {
15
16
  innerType: "GdkColorState",
16
17
  lib: "libgtk-4.so.1",
17
18
  });
18
- const instance = Object.create(ColorState.prototype);
19
- instance.ptr = ptr;
20
- return instance;
19
+ return wrapPtr(ptr, ColorState);
21
20
  }
22
21
  static getOklch() {
23
22
  const ptr = call("libgtk-4.so.1", "gdk_color_state_get_oklch", [], {
@@ -26,9 +25,7 @@ export class ColorState {
26
25
  innerType: "GdkColorState",
27
26
  lib: "libgtk-4.so.1",
28
27
  });
29
- const instance = Object.create(ColorState.prototype);
30
- instance.ptr = ptr;
31
- return instance;
28
+ return wrapPtr(ptr, ColorState);
32
29
  }
33
30
  static getRec2100Linear() {
34
31
  const ptr = call("libgtk-4.so.1", "gdk_color_state_get_rec2100_linear", [], {
@@ -37,9 +34,7 @@ export class ColorState {
37
34
  innerType: "GdkColorState",
38
35
  lib: "libgtk-4.so.1",
39
36
  });
40
- const instance = Object.create(ColorState.prototype);
41
- instance.ptr = ptr;
42
- return instance;
37
+ return wrapPtr(ptr, ColorState);
43
38
  }
44
39
  static getRec2100Pq() {
45
40
  const ptr = call("libgtk-4.so.1", "gdk_color_state_get_rec2100_pq", [], {
@@ -48,9 +43,7 @@ export class ColorState {
48
43
  innerType: "GdkColorState",
49
44
  lib: "libgtk-4.so.1",
50
45
  });
51
- const instance = Object.create(ColorState.prototype);
52
- instance.ptr = ptr;
53
- return instance;
46
+ return wrapPtr(ptr, ColorState);
54
47
  }
55
48
  static getSrgb() {
56
49
  const ptr = call("libgtk-4.so.1", "gdk_color_state_get_srgb", [], {
@@ -59,9 +52,7 @@ export class ColorState {
59
52
  innerType: "GdkColorState",
60
53
  lib: "libgtk-4.so.1",
61
54
  });
62
- const instance = Object.create(ColorState.prototype);
63
- instance.ptr = ptr;
64
- return instance;
55
+ return wrapPtr(ptr, ColorState);
65
56
  }
66
57
  static getSrgbLinear() {
67
58
  const ptr = call("libgtk-4.so.1", "gdk_color_state_get_srgb_linear", [], {
@@ -70,9 +61,7 @@ export class ColorState {
70
61
  innerType: "GdkColorState",
71
62
  lib: "libgtk-4.so.1",
72
63
  });
73
- const instance = Object.create(ColorState.prototype);
74
- instance.ptr = ptr;
75
- return instance;
64
+ return wrapPtr(ptr, ColorState);
76
65
  }
77
66
  createCicpParams() {
78
67
  const ptr = call("libgtk-4.so.1", "gdk_color_state_create_cicp_params", [
@@ -83,9 +72,7 @@ export class ColorState {
83
72
  ], { type: "gobject", borrowed: true });
84
73
  if (ptr === null)
85
74
  return null;
86
- const instance = Object.create(CicpParams.prototype);
87
- instance.ptr = ptr;
88
- return instance;
75
+ return wrapPtr(ptr, CicpParams);
89
76
  }
90
77
  equal(other) {
91
78
  return call("libgtk-4.so.1", "gdk_color_state_equal", [
@@ -133,9 +120,7 @@ export class ColorState {
133
120
  });
134
121
  if (ptr === null)
135
122
  return null;
136
- const instance = Object.create(ColorState.prototype);
137
- instance.ptr = ptr;
138
- return instance;
123
+ return wrapPtr(ptr, ColorState);
139
124
  }
140
125
  unref() {
141
126
  call("libgtk-4.so.1", "gdk_color_state_unref", [
@@ -1,4 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
+ import { wrapPtr } from "@gtkx/ffi";
2
3
  import * as GObject from "../gobject/index.js";
3
4
  import * as Gio from "../gio/index.js";
4
5
  export class ContentDeserializer {
@@ -18,9 +19,7 @@ export class ContentDeserializer {
18
19
  ], { type: "gobject", borrowed: true });
19
20
  if (ptr === null)
20
21
  return null;
21
- const instance = Object.create(Gio.Cancellable.prototype);
22
- instance.ptr = ptr;
23
- return instance;
22
+ return wrapPtr(ptr, Gio.Cancellable);
24
23
  }
25
24
  getGtype() {
26
25
  return call("libgtk-4.so.1", "gdk_content_deserializer_get_gtype", [
@@ -39,9 +38,7 @@ export class ContentDeserializer {
39
38
  ], { type: "gobject", borrowed: true });
40
39
  if (ptr === null)
41
40
  return null;
42
- const instance = Object.create(Gio.InputStream.prototype);
43
- instance.ptr = ptr;
44
- return instance;
41
+ return wrapPtr(ptr, Gio.InputStream);
45
42
  }
46
43
  getMimeType() {
47
44
  return call("libgtk-4.so.1", "gdk_content_deserializer_get_mime_type", [
@@ -89,9 +86,7 @@ export class ContentDeserializer {
89
86
  });
90
87
  if (ptr === null)
91
88
  return null;
92
- const instance = Object.create(GObject.Value.prototype);
93
- instance.ptr = ptr;
94
- return instance;
89
+ return wrapPtr(ptr, GObject.Value);
95
90
  }
96
91
  returnError(error) {
97
92
  call("libgtk-4.so.1", "gdk_content_deserializer_return_error", [
@@ -1,4 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
+ import { wrapPtr } from "@gtkx/ffi";
2
3
  import { ContentFormats } from "./content-formats.js";
3
4
  export class ContentFormatsBuilder {
4
5
  ptr;
@@ -66,9 +67,7 @@ export class ContentFormatsBuilder {
66
67
  });
67
68
  if (ptr === null)
68
69
  return null;
69
- const instance = Object.create(ContentFormats.prototype);
70
- instance.ptr = ptr;
71
- return instance;
70
+ return wrapPtr(ptr, ContentFormats);
72
71
  }
73
72
  ref() {
74
73
  const ptr = call("libgtk-4.so.1", "gdk_content_formats_builder_ref", [
@@ -84,9 +83,7 @@ export class ContentFormatsBuilder {
84
83
  });
85
84
  if (ptr === null)
86
85
  return null;
87
- const instance = Object.create(ContentFormatsBuilder.prototype);
88
- instance.ptr = ptr;
89
- return instance;
86
+ return wrapPtr(ptr, ContentFormatsBuilder);
90
87
  }
91
88
  toFormats() {
92
89
  const ptr = call("libgtk-4.so.1", "gdk_content_formats_builder_to_formats", [
@@ -102,9 +99,7 @@ export class ContentFormatsBuilder {
102
99
  });
103
100
  if (ptr === null)
104
101
  return null;
105
- const instance = Object.create(ContentFormats.prototype);
106
- instance.ptr = ptr;
107
- return instance;
102
+ return wrapPtr(ptr, ContentFormats);
108
103
  }
109
104
  unref() {
110
105
  call("libgtk-4.so.1", "gdk_content_formats_builder_unref", [
@@ -1,4 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
+ import { wrapPtr } from "@gtkx/ffi";
2
3
  export class ContentFormats {
3
4
  ptr;
4
5
  constructor(nMimeTypes, mimeTypes) {
@@ -12,9 +13,7 @@ export class ContentFormats {
12
13
  value: type,
13
14
  },
14
15
  ], { type: "boxed", borrowed: true, innerType: "ContentFormats" });
15
- const instance = Object.create(ContentFormats.prototype);
16
- instance.ptr = ptr;
17
- return instance;
16
+ return wrapPtr(ptr, ContentFormats);
18
17
  }
19
18
  createPtr(_args) {
20
19
  const [mimeTypes, nMimeTypes] = _args;
@@ -41,9 +40,7 @@ export class ContentFormats {
41
40
  innerType: "GdkContentFormats",
42
41
  lib: "libgtk-4.so.1",
43
42
  });
44
- const instance = Object.create(ContentFormats.prototype);
45
- instance.ptr = ptr;
46
- return instance;
43
+ return wrapPtr(ptr, ContentFormats);
47
44
  }
48
45
  containGtype(type) {
49
46
  return call("libgtk-4.so.1", "gdk_content_formats_contain_gtype", [
@@ -175,9 +172,7 @@ export class ContentFormats {
175
172
  });
176
173
  if (ptr === null)
177
174
  return null;
178
- const instance = Object.create(ContentFormats.prototype);
179
- instance.ptr = ptr;
180
- return instance;
175
+ return wrapPtr(ptr, ContentFormats);
181
176
  }
182
177
  toString() {
183
178
  return call("libgtk-4.so.1", "gdk_content_formats_to_string", [
@@ -209,9 +204,7 @@ export class ContentFormats {
209
204
  });
210
205
  if (ptr === null)
211
206
  return null;
212
- const instance = Object.create(ContentFormats.prototype);
213
- instance.ptr = ptr;
214
- return instance;
207
+ return wrapPtr(ptr, ContentFormats);
215
208
  }
216
209
  unionDeserializeGtypes() {
217
210
  const ptr = call("libgtk-4.so.1", "gdk_content_formats_union_deserialize_gtypes", [
@@ -227,9 +220,7 @@ export class ContentFormats {
227
220
  });
228
221
  if (ptr === null)
229
222
  return null;
230
- const instance = Object.create(ContentFormats.prototype);
231
- instance.ptr = ptr;
232
- return instance;
223
+ return wrapPtr(ptr, ContentFormats);
233
224
  }
234
225
  unionDeserializeMimeTypes() {
235
226
  const ptr = call("libgtk-4.so.1", "gdk_content_formats_union_deserialize_mime_types", [
@@ -245,9 +236,7 @@ export class ContentFormats {
245
236
  });
246
237
  if (ptr === null)
247
238
  return null;
248
- const instance = Object.create(ContentFormats.prototype);
249
- instance.ptr = ptr;
250
- return instance;
239
+ return wrapPtr(ptr, ContentFormats);
251
240
  }
252
241
  unionSerializeGtypes() {
253
242
  const ptr = call("libgtk-4.so.1", "gdk_content_formats_union_serialize_gtypes", [
@@ -263,9 +252,7 @@ export class ContentFormats {
263
252
  });
264
253
  if (ptr === null)
265
254
  return null;
266
- const instance = Object.create(ContentFormats.prototype);
267
- instance.ptr = ptr;
268
- return instance;
255
+ return wrapPtr(ptr, ContentFormats);
269
256
  }
270
257
  unionSerializeMimeTypes() {
271
258
  const ptr = call("libgtk-4.so.1", "gdk_content_formats_union_serialize_mime_types", [
@@ -281,9 +268,7 @@ export class ContentFormats {
281
268
  });
282
269
  if (ptr === null)
283
270
  return null;
284
- const instance = Object.create(ContentFormats.prototype);
285
- instance.ptr = ptr;
286
- return instance;
271
+ return wrapPtr(ptr, ContentFormats);
287
272
  }
288
273
  unref() {
289
274
  call("libgtk-4.so.1", "gdk_content_formats_unref", [
@@ -1,5 +1,5 @@
1
1
  import { call } from "@gtkx/native";
2
- import { NativeError } from "@gtkx/ffi";
2
+ import { NativeError, wrapPtr } from "@gtkx/ffi";
3
3
  import { ContentFormats } from "./content-formats.js";
4
4
  export class ContentProvider {
5
5
  ptr;
@@ -14,9 +14,7 @@ export class ContentProvider {
14
14
  value: value?.ptr ?? value,
15
15
  },
16
16
  ], { type: "gobject", borrowed: true });
17
- const instance = Object.create(ContentProvider.prototype);
18
- instance.ptr = ptr;
19
- return instance;
17
+ return wrapPtr(ptr, ContentProvider);
20
18
  }
21
19
  static providerNewTyped(type) {
22
20
  const ptr = call("libgtk-4.so.1", "gdk_content_provider_new_typed", [
@@ -25,9 +23,7 @@ export class ContentProvider {
25
23
  value: type,
26
24
  },
27
25
  ], { type: "gobject", borrowed: true });
28
- const instance = Object.create(ContentProvider.prototype);
29
- instance.ptr = ptr;
30
- return instance;
26
+ return wrapPtr(ptr, ContentProvider);
31
27
  }
32
28
  static providerNewUnion(nProviders, providers) {
33
29
  const ptr = call("libgtk-4.so.1", "gdk_content_provider_new_union", [
@@ -40,9 +36,7 @@ export class ContentProvider {
40
36
  value: nProviders?.ptr ?? nProviders,
41
37
  },
42
38
  ], { type: "gobject", borrowed: true });
43
- const instance = Object.create(ContentProvider.prototype);
44
- instance.ptr = ptr;
45
- return instance;
39
+ return wrapPtr(ptr, ContentProvider);
46
40
  }
47
41
  createPtr(_args) {
48
42
  const [mimeType, bytes] = _args;
@@ -114,9 +108,7 @@ export class ContentProvider {
114
108
  });
115
109
  if (ptr === null)
116
110
  return null;
117
- const instance = Object.create(ContentFormats.prototype);
118
- instance.ptr = ptr;
119
- return instance;
111
+ return wrapPtr(ptr, ContentFormats);
120
112
  }
121
113
  refStorableFormats() {
122
114
  const ptr = call("libgtk-4.so.1", "gdk_content_provider_ref_storable_formats", [
@@ -132,9 +124,7 @@ export class ContentProvider {
132
124
  });
133
125
  if (ptr === null)
134
126
  return null;
135
- const instance = Object.create(ContentFormats.prototype);
136
- instance.ptr = ptr;
137
- return instance;
127
+ return wrapPtr(ptr, ContentFormats);
138
128
  }
139
129
  writeMimeTypeFinish(result) {
140
130
  const error = { value: null };
@@ -183,9 +173,7 @@ export class ContentProvider {
183
173
  return handler(...signalArgs);
184
174
  const wrapped = meta.map((m, i) => {
185
175
  if (m.cls && signalArgs[i] != null) {
186
- const inst = Object.create(m.cls.prototype);
187
- inst.ptr = signalArgs[i];
188
- return inst;
176
+ return wrapPtr(signalArgs[i], m.cls);
189
177
  }
190
178
  return signalArgs[i];
191
179
  });