@gtkx/ffi 0.4.0 → 0.4.3

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 (193) hide show
  1. package/README.md +2 -6
  2. package/dist/codegen/ffi-generator.d.ts +8 -0
  3. package/dist/codegen/ffi-generator.js +100 -35
  4. package/dist/generated/gdk/content-provider.d.ts +1 -2
  5. package/dist/generated/gdk/content-provider.js +5 -7
  6. package/dist/generated/gdk/functions.d.ts +1 -1
  7. package/dist/generated/gdk/functions.js +5 -7
  8. package/dist/generated/gdk/monitor.d.ts +2 -2
  9. package/dist/generated/gdk/monitor.js +5 -7
  10. package/dist/generated/gdk/rectangle.d.ts +2 -3
  11. package/dist/generated/gdk/rectangle.js +10 -14
  12. package/dist/generated/gio/action-group.d.ts +1 -1
  13. package/dist/generated/gio/action-group.js +10 -1
  14. package/dist/generated/gio/application.d.ts +1 -1
  15. package/dist/generated/gio/application.js +10 -1
  16. package/dist/generated/gio/dbus-action-group.d.ts +1 -1
  17. package/dist/generated/gio/dbus-action-group.js +10 -1
  18. package/dist/generated/gio/dbus-connection.d.ts +2 -2
  19. package/dist/generated/gio/dbus-connection.js +4 -0
  20. package/dist/generated/gio/dbus-proxy.d.ts +2 -2
  21. package/dist/generated/gio/dbus-proxy.js +4 -0
  22. package/dist/generated/gio/dtls-connection.d.ts +2 -2
  23. package/dist/generated/gio/dtls-connection.js +5 -7
  24. package/dist/generated/gio/file-enumerator.d.ts +1 -1
  25. package/dist/generated/gio/file-enumerator.js +4 -0
  26. package/dist/generated/gio/file.d.ts +1 -1
  27. package/dist/generated/gio/file.js +1 -0
  28. package/dist/generated/gio/functions.d.ts +5 -4
  29. package/dist/generated/gio/functions.js +9 -7
  30. package/dist/generated/gio/menu-attribute-iter.d.ts +1 -1
  31. package/dist/generated/gio/menu-attribute-iter.js +4 -1
  32. package/dist/generated/gio/menu-link-iter.d.ts +1 -1
  33. package/dist/generated/gio/menu-link-iter.js +4 -1
  34. package/dist/generated/gio/simple-action-group.d.ts +1 -1
  35. package/dist/generated/gio/simple-action-group.js +10 -1
  36. package/dist/generated/gio/socket-listener.d.ts +5 -5
  37. package/dist/generated/gio/socket-listener.js +10 -0
  38. package/dist/generated/gio/socket.d.ts +3 -3
  39. package/dist/generated/gio/socket.js +6 -0
  40. package/dist/generated/gio/subprocess.d.ts +2 -2
  41. package/dist/generated/gio/subprocess.js +8 -0
  42. package/dist/generated/gio/task.d.ts +1 -2
  43. package/dist/generated/gio/task.js +5 -7
  44. package/dist/generated/gio/tls-connection.d.ts +2 -2
  45. package/dist/generated/gio/tls-connection.js +5 -7
  46. package/dist/generated/glib/bookmark-file.d.ts +1 -1
  47. package/dist/generated/glib/bookmark-file.js +2 -0
  48. package/dist/generated/glib/functions.d.ts +3 -3
  49. package/dist/generated/glib/functions.js +6 -0
  50. package/dist/generated/glib/regex.d.ts +5 -4
  51. package/dist/generated/glib/regex.js +12 -2
  52. package/dist/generated/gobject/closure.d.ts +1 -2
  53. package/dist/generated/gobject/closure.js +5 -7
  54. package/dist/generated/gobject/functions.d.ts +1 -1
  55. package/dist/generated/gobject/functions.js +1 -0
  56. package/dist/generated/graphene/box.d.ts +11 -10
  57. package/dist/generated/graphene/box.js +50 -70
  58. package/dist/generated/graphene/euler.d.ts +4 -5
  59. package/dist/generated/graphene/euler.js +20 -28
  60. package/dist/generated/graphene/matrix.d.ts +24 -23
  61. package/dist/generated/graphene/matrix.js +135 -189
  62. package/dist/generated/graphene/plane.d.ts +4 -5
  63. package/dist/generated/graphene/plane.js +20 -28
  64. package/dist/generated/graphene/point.d.ts +2 -2
  65. package/dist/generated/graphene/point.js +10 -14
  66. package/dist/generated/graphene/point3d.d.ts +7 -8
  67. package/dist/generated/graphene/point3d.js +35 -49
  68. package/dist/generated/graphene/quad.d.ts +1 -2
  69. package/dist/generated/graphene/quad.js +5 -7
  70. package/dist/generated/graphene/quaternion.d.ts +9 -9
  71. package/dist/generated/graphene/quaternion.js +45 -63
  72. package/dist/generated/graphene/ray.d.ts +4 -4
  73. package/dist/generated/graphene/ray.js +20 -28
  74. package/dist/generated/graphene/rect.d.ts +15 -15
  75. package/dist/generated/graphene/rect.js +75 -105
  76. package/dist/generated/graphene/size.d.ts +2 -3
  77. package/dist/generated/graphene/size.js +10 -14
  78. package/dist/generated/graphene/sphere.d.ts +4 -4
  79. package/dist/generated/graphene/sphere.js +15 -21
  80. package/dist/generated/graphene/triangle.d.ts +10 -9
  81. package/dist/generated/graphene/triangle.js +60 -84
  82. package/dist/generated/graphene/vec2.d.ts +10 -10
  83. package/dist/generated/graphene/vec2.js +50 -70
  84. package/dist/generated/graphene/vec3.d.ts +18 -16
  85. package/dist/generated/graphene/vec3.js +80 -112
  86. package/dist/generated/graphene/vec4.d.ts +12 -12
  87. package/dist/generated/graphene/vec4.js +60 -84
  88. package/dist/generated/gsk/functions.d.ts +2 -1
  89. package/dist/generated/gsk/functions.js +3 -1
  90. package/dist/generated/gsk/path-measure.d.ts +2 -2
  91. package/dist/generated/gsk/path-measure.js +5 -7
  92. package/dist/generated/gsk/path-point.d.ts +4 -4
  93. package/dist/generated/gsk/path-point.js +15 -21
  94. package/dist/generated/gsk/path.d.ts +6 -5
  95. package/dist/generated/gsk/path.js +25 -35
  96. package/dist/generated/gsk/render-node.d.ts +3 -3
  97. package/dist/generated/gsk/render-node.js +10 -14
  98. package/dist/generated/gsk/transform.d.ts +4 -4
  99. package/dist/generated/gsk/transform.js +18 -22
  100. package/dist/generated/gtk/bitset-iter.d.ts +3 -3
  101. package/dist/generated/gtk/bitset-iter.js +15 -21
  102. package/dist/generated/gtk/builder.d.ts +2 -3
  103. package/dist/generated/gtk/builder.js +10 -14
  104. package/dist/generated/gtk/cell-area.d.ts +3 -3
  105. package/dist/generated/gtk/cell-area.js +15 -21
  106. package/dist/generated/gtk/cell-renderer.d.ts +3 -2
  107. package/dist/generated/gtk/cell-renderer.js +15 -21
  108. package/dist/generated/gtk/color-button.d.ts +1 -2
  109. package/dist/generated/gtk/color-button.js +5 -7
  110. package/dist/generated/gtk/color-chooser-dialog.d.ts +1 -2
  111. package/dist/generated/gtk/color-chooser-dialog.js +5 -7
  112. package/dist/generated/gtk/color-chooser-widget.d.ts +1 -2
  113. package/dist/generated/gtk/color-chooser-widget.js +5 -7
  114. package/dist/generated/gtk/color-chooser.d.ts +1 -2
  115. package/dist/generated/gtk/color-chooser.js +5 -7
  116. package/dist/generated/gtk/column-view.d.ts +2 -2
  117. package/dist/generated/gtk/column-view.js +5 -7
  118. package/dist/generated/gtk/combo-box.d.ts +1 -2
  119. package/dist/generated/gtk/combo-box.js +5 -7
  120. package/dist/generated/gtk/entry.d.ts +1 -1
  121. package/dist/generated/gtk/entry.js +5 -7
  122. package/dist/generated/gtk/font-dialog.d.ts +2 -2
  123. package/dist/generated/gtk/functions.d.ts +5 -4
  124. package/dist/generated/gtk/functions.js +21 -22
  125. package/dist/generated/gtk/gesture.d.ts +1 -1
  126. package/dist/generated/gtk/gesture.js +5 -7
  127. package/dist/generated/gtk/icon-view.d.ts +9 -7
  128. package/dist/generated/gtk/icon-view.js +39 -25
  129. package/dist/generated/gtk/imcontext.d.ts +2 -1
  130. package/dist/generated/gtk/imcontext.js +1 -0
  131. package/dist/generated/gtk/list-base.d.ts +2 -2
  132. package/dist/generated/gtk/list-base.js +5 -7
  133. package/dist/generated/gtk/list-store.d.ts +13 -13
  134. package/dist/generated/gtk/list-store.js +65 -91
  135. package/dist/generated/gtk/overlay.js +1 -10
  136. package/dist/generated/gtk/popover.d.ts +1 -1
  137. package/dist/generated/gtk/popover.js +5 -7
  138. package/dist/generated/gtk/range.d.ts +2 -1
  139. package/dist/generated/gtk/range.js +5 -7
  140. package/dist/generated/gtk/recent-info.d.ts +1 -1
  141. package/dist/generated/gtk/recent-info.js +3 -1
  142. package/dist/generated/gtk/scrollable.d.ts +2 -2
  143. package/dist/generated/gtk/scrollable.js +5 -7
  144. package/dist/generated/gtk/style-context.d.ts +6 -6
  145. package/dist/generated/gtk/style-context.js +25 -35
  146. package/dist/generated/gtk/text-buffer.d.ts +10 -11
  147. package/dist/generated/gtk/text-buffer.js +60 -84
  148. package/dist/generated/gtk/text-iter.d.ts +2 -3
  149. package/dist/generated/gtk/text-iter.js +21 -29
  150. package/dist/generated/gtk/text-view.d.ts +8 -7
  151. package/dist/generated/gtk/text-view.js +40 -56
  152. package/dist/generated/gtk/text.d.ts +2 -1
  153. package/dist/generated/gtk/text.js +10 -14
  154. package/dist/generated/gtk/tree-model-filter.d.ts +9 -10
  155. package/dist/generated/gtk/tree-model-filter.js +45 -63
  156. package/dist/generated/gtk/tree-model-sort.d.ts +9 -9
  157. package/dist/generated/gtk/tree-model-sort.js +45 -63
  158. package/dist/generated/gtk/tree-model.d.ts +8 -8
  159. package/dist/generated/gtk/tree-model.js +35 -49
  160. package/dist/generated/gtk/tree-selection.d.ts +3 -2
  161. package/dist/generated/gtk/tree-selection.js +13 -9
  162. package/dist/generated/gtk/tree-store.d.ts +13 -13
  163. package/dist/generated/gtk/tree-store.js +65 -91
  164. package/dist/generated/gtk/tree-view.d.ts +11 -10
  165. package/dist/generated/gtk/tree-view.js +55 -40
  166. package/dist/generated/gtk/viewport.d.ts +2 -2
  167. package/dist/generated/gtk/viewport.js +5 -7
  168. package/dist/generated/gtk/widget.d.ts +6 -5
  169. package/dist/generated/gtk/widget.js +30 -42
  170. package/dist/generated/gtksource/buffer.d.ts +4 -4
  171. package/dist/generated/gtksource/buffer.js +12 -4
  172. package/dist/generated/gtksource/completion-context.d.ts +2 -2
  173. package/dist/generated/gtksource/completion-context.js +10 -14
  174. package/dist/generated/gtksource/gutter-lines.d.ts +1 -1
  175. package/dist/generated/gtksource/gutter-lines.js +5 -7
  176. package/dist/generated/gtksource/hover-context.d.ts +3 -3
  177. package/dist/generated/gtksource/hover-context.js +15 -21
  178. package/dist/generated/gtksource/indenter.d.ts +1 -1
  179. package/dist/generated/gtksource/indenter.js +2 -1
  180. package/dist/generated/gtksource/mark-attributes.d.ts +1 -2
  181. package/dist/generated/gtksource/mark-attributes.js +5 -7
  182. package/dist/generated/gtksource/region.d.ts +1 -1
  183. package/dist/generated/gtksource/region.js +10 -14
  184. package/dist/generated/gtksource/search-context.d.ts +4 -4
  185. package/dist/generated/gtksource/search-context.js +40 -56
  186. package/dist/generated/harfbuzz/functions.d.ts +16 -16
  187. package/dist/generated/harfbuzz/functions.js +100 -140
  188. package/dist/generated/pango/attr-iterator.d.ts +2 -1
  189. package/dist/generated/pango/attr-iterator.js +2 -0
  190. package/dist/generated/pango/functions.d.ts +7 -6
  191. package/dist/generated/pango/functions.js +24 -28
  192. package/dist/registry.d.ts +4 -4
  193. package/package.json +3 -3
@@ -1214,14 +1214,12 @@ export const bufferGetSegmentProperties = (buffer, props) => {
1214
1214
  },
1215
1215
  {
1216
1216
  type: {
1217
- type: "ref",
1218
- innerType: {
1219
- type: "boxed",
1220
- innerType: "hb_segment_properties_t",
1221
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
1222
- },
1217
+ type: "boxed",
1218
+ borrowed: true,
1219
+ innerType: "hb_segment_properties_t",
1220
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
1223
1221
  },
1224
- value: props,
1222
+ value: props?.id ?? props,
1225
1223
  },
1226
1224
  ], { type: "undefined" });
1227
1225
  };
@@ -2921,25 +2919,21 @@ export const faceCollectNominalGlyphMapping = (face, mapping, unicodes) => {
2921
2919
  },
2922
2920
  {
2923
2921
  type: {
2924
- type: "ref",
2925
- innerType: {
2926
- type: "boxed",
2927
- innerType: "hb_map_t",
2928
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
2929
- },
2922
+ type: "boxed",
2923
+ borrowed: true,
2924
+ innerType: "hb_map_t",
2925
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
2930
2926
  },
2931
- value: mapping,
2927
+ value: mapping?.id ?? mapping,
2932
2928
  },
2933
2929
  {
2934
2930
  type: {
2935
- type: "ref",
2936
- innerType: {
2937
- type: "boxed",
2938
- innerType: "hb_set_t",
2939
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
2940
- },
2931
+ type: "boxed",
2932
+ borrowed: true,
2933
+ innerType: "hb_set_t",
2934
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
2941
2935
  },
2942
- value: unicodes,
2936
+ value: unicodes?.id ?? unicodes,
2943
2937
  optional: true,
2944
2938
  },
2945
2939
  ], { type: "undefined" });
@@ -2963,14 +2957,12 @@ export const faceCollectUnicodes = (face, out) => {
2963
2957
  },
2964
2958
  {
2965
2959
  type: {
2966
- type: "ref",
2967
- innerType: {
2968
- type: "boxed",
2969
- innerType: "hb_set_t",
2970
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
2971
- },
2960
+ type: "boxed",
2961
+ borrowed: true,
2962
+ innerType: "hb_set_t",
2963
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
2972
2964
  },
2973
- value: out,
2965
+ value: out?.id ?? out,
2974
2966
  },
2975
2967
  ], { type: "undefined" });
2976
2968
  };
@@ -2993,14 +2985,12 @@ export const faceCollectVariationSelectors = (face, out) => {
2993
2985
  },
2994
2986
  {
2995
2987
  type: {
2996
- type: "ref",
2997
- innerType: {
2998
- type: "boxed",
2999
- innerType: "hb_set_t",
3000
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
3001
- },
2988
+ type: "boxed",
2989
+ borrowed: true,
2990
+ innerType: "hb_set_t",
2991
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
3002
2992
  },
3003
- value: out,
2993
+ value: out?.id ?? out,
3004
2994
  },
3005
2995
  ], { type: "undefined" });
3006
2996
  };
@@ -3028,14 +3018,12 @@ export const faceCollectVariationUnicodes = (face, variationSelector, out) => {
3028
3018
  },
3029
3019
  {
3030
3020
  type: {
3031
- type: "ref",
3032
- innerType: {
3033
- type: "boxed",
3034
- innerType: "hb_set_t",
3035
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
3036
- },
3021
+ type: "boxed",
3022
+ borrowed: true,
3023
+ innerType: "hb_set_t",
3024
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
3037
3025
  },
3038
- value: out,
3026
+ value: out?.id ?? out,
3039
3027
  },
3040
3028
  ], { type: "undefined" });
3041
3029
  };
@@ -3632,14 +3620,12 @@ export const featureFromString = (str, len, feature) => {
3632
3620
  },
3633
3621
  {
3634
3622
  type: {
3635
- type: "ref",
3636
- innerType: {
3637
- type: "boxed",
3638
- innerType: "hb_feature_t",
3639
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
3640
- },
3623
+ type: "boxed",
3624
+ borrowed: true,
3625
+ innerType: "hb_feature_t",
3626
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
3641
3627
  },
3642
- value: feature,
3628
+ value: feature?.id ?? feature,
3643
3629
  },
3644
3630
  ], { type: "int", size: 64, unsigned: true });
3645
3631
  };
@@ -8237,14 +8223,12 @@ export const otLayoutCollectFeatures = (face, tableTag, featureIndexes, scripts,
8237
8223
  },
8238
8224
  {
8239
8225
  type: {
8240
- type: "ref",
8241
- innerType: {
8242
- type: "boxed",
8243
- innerType: "hb_set_t",
8244
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
8245
- },
8226
+ type: "boxed",
8227
+ borrowed: true,
8228
+ innerType: "hb_set_t",
8229
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
8246
8230
  },
8247
- value: featureIndexes,
8231
+ value: featureIndexes?.id ?? featureIndexes,
8248
8232
  },
8249
8233
  ], { type: "undefined" });
8250
8234
  };
@@ -8282,14 +8266,12 @@ export const otLayoutCollectFeaturesMap = (face, tableTag, scriptIndex, language
8282
8266
  },
8283
8267
  {
8284
8268
  type: {
8285
- type: "ref",
8286
- innerType: {
8287
- type: "boxed",
8288
- innerType: "hb_map_t",
8289
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
8290
- },
8269
+ type: "boxed",
8270
+ borrowed: true,
8271
+ innerType: "hb_map_t",
8272
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
8291
8273
  },
8292
- value: featureMap,
8274
+ value: featureMap?.id ?? featureMap,
8293
8275
  },
8294
8276
  ], { type: "undefined" });
8295
8277
  };
@@ -8347,14 +8329,12 @@ export const otLayoutCollectLookups = (face, tableTag, lookupIndexes, scripts, l
8347
8329
  },
8348
8330
  {
8349
8331
  type: {
8350
- type: "ref",
8351
- innerType: {
8352
- type: "boxed",
8353
- innerType: "hb_set_t",
8354
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
8355
- },
8332
+ type: "boxed",
8333
+ borrowed: true,
8334
+ innerType: "hb_set_t",
8335
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
8356
8336
  },
8357
- value: lookupIndexes,
8337
+ value: lookupIndexes?.id ?? lookupIndexes,
8358
8338
  },
8359
8339
  ], { type: "undefined" });
8360
8340
  };
@@ -8985,14 +8965,12 @@ export const otLayoutGetGlyphsInClass = (face, klass, glyphs) => {
8985
8965
  },
8986
8966
  {
8987
8967
  type: {
8988
- type: "ref",
8989
- innerType: {
8990
- type: "boxed",
8991
- innerType: "hb_set_t",
8992
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
8993
- },
8968
+ type: "boxed",
8969
+ borrowed: true,
8970
+ innerType: "hb_set_t",
8971
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
8994
8972
  },
8995
- value: glyphs,
8973
+ value: glyphs?.id ?? glyphs,
8996
8974
  },
8997
8975
  ], { type: "undefined" });
8998
8976
  };
@@ -9469,50 +9447,42 @@ export const otLayoutLookupCollectGlyphs = (face, tableTag, lookupIndex, glyphsB
9469
9447
  },
9470
9448
  {
9471
9449
  type: {
9472
- type: "ref",
9473
- innerType: {
9474
- type: "boxed",
9475
- innerType: "hb_set_t",
9476
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9477
- },
9450
+ type: "boxed",
9451
+ borrowed: true,
9452
+ innerType: "hb_set_t",
9453
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9478
9454
  },
9479
- value: glyphsBefore,
9455
+ value: glyphsBefore?.id ?? glyphsBefore,
9480
9456
  optional: true,
9481
9457
  },
9482
9458
  {
9483
9459
  type: {
9484
- type: "ref",
9485
- innerType: {
9486
- type: "boxed",
9487
- innerType: "hb_set_t",
9488
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9489
- },
9460
+ type: "boxed",
9461
+ borrowed: true,
9462
+ innerType: "hb_set_t",
9463
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9490
9464
  },
9491
- value: glyphsInput,
9465
+ value: glyphsInput?.id ?? glyphsInput,
9492
9466
  optional: true,
9493
9467
  },
9494
9468
  {
9495
9469
  type: {
9496
- type: "ref",
9497
- innerType: {
9498
- type: "boxed",
9499
- innerType: "hb_set_t",
9500
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9501
- },
9470
+ type: "boxed",
9471
+ borrowed: true,
9472
+ innerType: "hb_set_t",
9473
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9502
9474
  },
9503
- value: glyphsAfter,
9475
+ value: glyphsAfter?.id ?? glyphsAfter,
9504
9476
  optional: true,
9505
9477
  },
9506
9478
  {
9507
9479
  type: {
9508
- type: "ref",
9509
- innerType: {
9510
- type: "boxed",
9511
- innerType: "hb_set_t",
9512
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9513
- },
9480
+ type: "boxed",
9481
+ borrowed: true,
9482
+ innerType: "hb_set_t",
9483
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9514
9484
  },
9515
- value: glyphsOutput,
9485
+ value: glyphsOutput?.id ?? glyphsOutput,
9516
9486
  optional: true,
9517
9487
  },
9518
9488
  ], { type: "undefined" });
@@ -9627,14 +9597,12 @@ export const otLayoutLookupSubstituteClosure = (face, lookupIndex, glyphs) => {
9627
9597
  },
9628
9598
  {
9629
9599
  type: {
9630
- type: "ref",
9631
- innerType: {
9632
- type: "boxed",
9633
- innerType: "hb_set_t",
9634
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9635
- },
9600
+ type: "boxed",
9601
+ borrowed: true,
9602
+ innerType: "hb_set_t",
9603
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9636
9604
  },
9637
- value: glyphs,
9605
+ value: glyphs?.id ?? glyphs,
9638
9606
  },
9639
9607
  ], { type: "undefined" });
9640
9608
  };
@@ -9705,14 +9673,12 @@ export const otLayoutLookupsSubstituteClosure = (face, lookups, glyphs) => {
9705
9673
  },
9706
9674
  {
9707
9675
  type: {
9708
- type: "ref",
9709
- innerType: {
9710
- type: "boxed",
9711
- innerType: "hb_set_t",
9712
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9713
- },
9676
+ type: "boxed",
9677
+ borrowed: true,
9678
+ innerType: "hb_set_t",
9679
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
9714
9680
  },
9715
- value: glyphs,
9681
+ value: glyphs?.id ?? glyphs,
9716
9682
  },
9717
9683
  ], { type: "undefined" });
9718
9684
  };
@@ -11018,14 +10984,12 @@ export const otShapeGlyphsClosure = (font, buffer, features, numFeatures, glyphs
11018
10984
  },
11019
10985
  {
11020
10986
  type: {
11021
- type: "ref",
11022
- innerType: {
11023
- type: "boxed",
11024
- innerType: "hb_set_t",
11025
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
11026
- },
10987
+ type: "boxed",
10988
+ borrowed: true,
10989
+ innerType: "hb_set_t",
10990
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
11027
10991
  },
11028
- value: glyphs,
10992
+ value: glyphs?.id ?? glyphs,
11029
10993
  },
11030
10994
  ], { type: "undefined" });
11031
10995
  };
@@ -11053,14 +11017,12 @@ export const otShapePlanCollectLookups = (shapePlan, tableTag, lookupIndexes) =>
11053
11017
  },
11054
11018
  {
11055
11019
  type: {
11056
- type: "ref",
11057
- innerType: {
11058
- type: "boxed",
11059
- innerType: "hb_set_t",
11060
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
11061
- },
11020
+ type: "boxed",
11021
+ borrowed: true,
11022
+ innerType: "hb_set_t",
11023
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
11062
11024
  },
11063
- value: lookupIndexes,
11025
+ value: lookupIndexes?.id ?? lookupIndexes,
11064
11026
  },
11065
11027
  ], { type: "undefined" });
11066
11028
  };
@@ -11317,14 +11279,12 @@ export const otVarFindAxisInfo = (face, axisTag, axisInfo) => {
11317
11279
  },
11318
11280
  {
11319
11281
  type: {
11320
- type: "ref",
11321
- innerType: {
11322
- type: "boxed",
11323
- innerType: "hb_ot_var_axis_info_t",
11324
- lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
11325
- },
11282
+ type: "boxed",
11283
+ borrowed: true,
11284
+ innerType: "hb_ot_var_axis_info_t",
11285
+ lib: "libharfbuzz-gobject.so.0,libharfbuzz.so.0",
11326
11286
  },
11327
- value: axisInfo,
11287
+ value: axisInfo?.id ?? axisInfo,
11328
11288
  },
11329
11289
  ], { type: "int", size: 64, unsigned: true });
11330
11290
  };
@@ -2,6 +2,7 @@ import { Ref } from "@gtkx/native";
2
2
  import { AttrType } from "./enums.js";
3
3
  import { Attribute } from "./attribute.js";
4
4
  import { FontDescription } from "./font-description.js";
5
+ import { Language } from "./language.js";
5
6
  /**
6
7
  * A `PangoAttrIterator` is used to iterate through a `PangoAttrList`.
7
8
  *
@@ -46,7 +47,7 @@ export declare class AttrIterator {
46
47
  * @param language - location to store language tag
47
48
  * @param extraAttrs - location in which to store a list of non-font attributes
48
49
  */
49
- getFont(desc: FontDescription, language?: Ref<unknown> | null, extraAttrs?: Ref<Attribute[]> | null): void;
50
+ getFont(desc: FontDescription, language?: Ref<Language> | null, extraAttrs?: Ref<Attribute[]> | null): void;
50
51
  /**
51
52
  * Advance the iterator until the next change of style.
52
53
  */
@@ -171,6 +171,8 @@ export class AttrIterator {
171
171
  optional: true,
172
172
  },
173
173
  ], { type: "undefined" });
174
+ if (language)
175
+ language.value = getObject(language.value);
174
176
  }
175
177
  /**
176
178
  * Advance the iterator until the next change of style.
@@ -4,6 +4,7 @@ import { AttrIterator } from "./attr-iterator.js";
4
4
  import { AttrList } from "./attr-list.js";
5
5
  import { Attribute } from "./attribute.js";
6
6
  import { FontDescription } from "./font-description.js";
7
+ import { GlyphString } from "./glyph-string.js";
7
8
  import { Item } from "./item.js";
8
9
  import { Language } from "./language.js";
9
10
  import { Matrix } from "./matrix.js";
@@ -672,7 +673,7 @@ export declare const log2visGetEmbeddingLevels: (text: string, length: number, p
672
673
  * @param text - address of return location for text with tags stripped
673
674
  * @param accelChar - address of return location for accelerator char
674
675
  */
675
- export declare const markupParserFinish: (context: GLib.MarkupParseContext, attrList?: Ref<unknown> | null, text?: Ref<string> | null, accelChar?: Ref<number> | null) => boolean;
676
+ export declare const markupParserFinish: (context: GLib.MarkupParseContext, attrList?: Ref<AttrList> | null, text?: Ref<string> | null, accelChar?: Ref<number> | null) => boolean;
676
677
  /**
677
678
  * Incrementally parses marked-up text to create a plain-text string
678
679
  * and an attribute list.
@@ -740,7 +741,7 @@ export declare const parseEnum: (type: number, warn: boolean, str?: string | nul
740
741
  * @param text - address of return location for text with tags stripped
741
742
  * @param accelChar - address of return location for accelerator char
742
743
  */
743
- export declare const parseMarkup: (markupText: string, length: number, accelMarker: number, attrList?: Ref<unknown> | null, text?: Ref<string> | null, accelChar?: Ref<number> | null) => boolean;
744
+ export declare const parseMarkup: (markupText: string, length: number, accelMarker: number, attrList?: Ref<AttrList> | null, text?: Ref<string> | null, accelChar?: Ref<number> | null) => boolean;
744
745
  /**
745
746
  * Parses a font stretch.
746
747
  *
@@ -925,7 +926,7 @@ export declare const scriptGetSampleLanguage: (script: Script) => Language | nul
925
926
  * @param analysis - `PangoAnalysis` structure from [func@Pango.itemize]
926
927
  * @param glyphs - glyph string in which to store results
927
928
  */
928
- export declare const shape: (text: string, length: number, analysis: number, glyphs: Ref<unknown>) => void;
929
+ export declare const shape: (text: string, length: number, analysis: number, glyphs: GlyphString) => void;
929
930
  /**
930
931
  * Convert the characters in `text` into glyphs.
931
932
  *
@@ -955,7 +956,7 @@ export declare const shape: (text: string, length: number, analysis: number, gly
955
956
  * @param analysis - `PangoAnalysis` structure from [func@Pango.itemize].
956
957
  * @param glyphs - glyph string in which to store results.
957
958
  */
958
- export declare const shapeFull: (itemText: string, itemLength: number, paragraphLength: number, analysis: number, glyphs: Ref<unknown>, paragraphText?: string | null) => void;
959
+ export declare const shapeFull: (itemText: string, itemLength: number, paragraphLength: number, analysis: number, glyphs: GlyphString, paragraphText?: string | null) => void;
959
960
  /**
960
961
  * Convert the characters in `item` into glyphs.
961
962
  *
@@ -977,7 +978,7 @@ export declare const shapeFull: (itemText: string, itemLength: number, paragraph
977
978
  * @param glyphs - glyph string in which to store results
978
979
  * @param flags - flags influencing the shaping process
979
980
  */
980
- export declare const shapeItem: (item: Item, paragraphLength: number, glyphs: Ref<unknown>, flags: ShapeFlags, paragraphText?: string | null, logAttrs?: number | null) => void;
981
+ export declare const shapeItem: (item: Item, paragraphLength: number, glyphs: GlyphString, flags: ShapeFlags, paragraphText?: string | null, logAttrs?: number | null) => void;
981
982
  /**
982
983
  * Convert the characters in `text` into glyphs.
983
984
  *
@@ -1005,7 +1006,7 @@ export declare const shapeItem: (item: Item, paragraphLength: number, glyphs: Re
1005
1006
  * @param glyphs - glyph string in which to store results
1006
1007
  * @param flags - flags influencing the shaping process
1007
1008
  */
1008
- export declare const shapeWithFlags: (itemText: string, itemLength: number, paragraphLength: number, analysis: number, glyphs: Ref<unknown>, flags: ShapeFlags, paragraphText?: string | null) => void;
1009
+ export declare const shapeWithFlags: (itemText: string, itemLength: number, paragraphLength: number, analysis: number, glyphs: GlyphString, flags: ShapeFlags, paragraphText?: string | null) => void;
1009
1010
  /**
1010
1011
  * Skips 0 or more characters of white space.
1011
1012
  * @param pos - in/out string position
@@ -1740,6 +1740,8 @@ export const markupParserFinish = (context, attrList, text, accelChar) => {
1740
1740
  if (error.value !== null) {
1741
1741
  throw new NativeError(error.value);
1742
1742
  }
1743
+ if (attrList)
1744
+ attrList.value = getObject(attrList.value);
1743
1745
  return result;
1744
1746
  };
1745
1747
  /**
@@ -1906,6 +1908,8 @@ export const parseMarkup = (markupText, length, accelMarker, attrList, text, acc
1906
1908
  if (error.value !== null) {
1907
1909
  throw new NativeError(error.value);
1908
1910
  }
1911
+ if (attrList)
1912
+ attrList.value = getObject(attrList.value);
1909
1913
  return result;
1910
1914
  };
1911
1915
  /**
@@ -2306,14 +2310,12 @@ export const shape = (text, length, analysis, glyphs) => {
2306
2310
  },
2307
2311
  {
2308
2312
  type: {
2309
- type: "ref",
2310
- innerType: {
2311
- type: "boxed",
2312
- innerType: "PangoGlyphString",
2313
- lib: "libpango-1.0.so.0",
2314
- },
2313
+ type: "boxed",
2314
+ borrowed: true,
2315
+ innerType: "PangoGlyphString",
2316
+ lib: "libpango-1.0.so.0",
2315
2317
  },
2316
- value: glyphs,
2318
+ value: glyphs?.id ?? glyphs,
2317
2319
  },
2318
2320
  ], { type: "undefined" });
2319
2321
  };
@@ -2371,14 +2373,12 @@ export const shapeFull = (itemText, itemLength, paragraphLength, analysis, glyph
2371
2373
  },
2372
2374
  {
2373
2375
  type: {
2374
- type: "ref",
2375
- innerType: {
2376
- type: "boxed",
2377
- innerType: "PangoGlyphString",
2378
- lib: "libpango-1.0.so.0",
2379
- },
2376
+ type: "boxed",
2377
+ borrowed: true,
2378
+ innerType: "PangoGlyphString",
2379
+ lib: "libpango-1.0.so.0",
2380
2380
  },
2381
- value: glyphs,
2381
+ value: glyphs?.id ?? glyphs,
2382
2382
  },
2383
2383
  ], { type: "undefined" });
2384
2384
  };
@@ -2430,14 +2430,12 @@ export const shapeItem = (item, paragraphLength, glyphs, flags, paragraphText, l
2430
2430
  },
2431
2431
  {
2432
2432
  type: {
2433
- type: "ref",
2434
- innerType: {
2435
- type: "boxed",
2436
- innerType: "PangoGlyphString",
2437
- lib: "libpango-1.0.so.0",
2438
- },
2433
+ type: "boxed",
2434
+ borrowed: true,
2435
+ innerType: "PangoGlyphString",
2436
+ lib: "libpango-1.0.so.0",
2439
2437
  },
2440
- value: glyphs,
2438
+ value: glyphs?.id ?? glyphs,
2441
2439
  },
2442
2440
  {
2443
2441
  type: { type: "int", size: 32, unsigned: false },
@@ -2497,14 +2495,12 @@ export const shapeWithFlags = (itemText, itemLength, paragraphLength, analysis,
2497
2495
  },
2498
2496
  {
2499
2497
  type: {
2500
- type: "ref",
2501
- innerType: {
2502
- type: "boxed",
2503
- innerType: "PangoGlyphString",
2504
- lib: "libpango-1.0.so.0",
2505
- },
2498
+ type: "boxed",
2499
+ borrowed: true,
2500
+ innerType: "PangoGlyphString",
2501
+ lib: "libpango-1.0.so.0",
2506
2502
  },
2507
- value: glyphs,
2503
+ value: glyphs?.id ?? glyphs,
2508
2504
  },
2509
2505
  {
2510
2506
  type: { type: "int", size: 32, unsigned: false },
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Base interface for all native GLib/GTK objects.
3
- * All generated classes implement this interface.
2
+ * Base type for all native GLib/GTK objects.
3
+ * All generated classes implement this type.
4
4
  */
5
- export interface NativeObject {
5
+ export type NativeObject = {
6
6
  /** The native pointer/handle to the underlying GLib object */
7
7
  id: unknown;
8
- }
8
+ };
9
9
  type GObjectClass = {
10
10
  glibTypeName: string;
11
11
  prototype: NativeObject;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gtkx/ffi",
3
- "version": "0.4.0",
3
+ "version": "0.4.3",
4
4
  "description": "Generated TypeScript FFI bindings for GTK4 libraries",
5
5
  "keywords": [
6
6
  "gtk",
@@ -46,10 +46,10 @@
46
46
  "dist"
47
47
  ],
48
48
  "dependencies": {
49
- "@gtkx/native": "0.4.0"
49
+ "@gtkx/native": "0.4.3"
50
50
  },
51
51
  "devDependencies": {
52
- "@gtkx/gir": "0.4.0"
52
+ "@gtkx/gir": "0.4.3"
53
53
  },
54
54
  "scripts": {
55
55
  "build": "tsc -b && cp ../../README.md .",