@gtkx/codegen 1.2.2 → 1.3.0

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 (199) hide show
  1. package/README.md +2 -1
  2. package/dist/analysis/descriptor-render.d.ts +7 -1
  3. package/dist/analysis/descriptor-render.d.ts.map +1 -1
  4. package/dist/analysis/descriptor-render.js +36 -15
  5. package/dist/analysis/descriptor-render.js.map +1 -1
  6. package/dist/analysis/descriptor.d.ts +4 -1
  7. package/dist/analysis/descriptor.d.ts.map +1 -1
  8. package/dist/analysis/descriptor.js +11 -2
  9. package/dist/analysis/descriptor.js.map +1 -1
  10. package/dist/analysis/param-capability.d.ts +5 -2
  11. package/dist/analysis/param-capability.d.ts.map +1 -1
  12. package/dist/analysis/param-capability.js +36 -4
  13. package/dist/analysis/param-capability.js.map +1 -1
  14. package/dist/analysis/param-structure.d.ts +1 -1
  15. package/dist/analysis/param-structure.d.ts.map +1 -1
  16. package/dist/analysis/param-structure.js.map +1 -1
  17. package/dist/analysis/ts-type.d.ts +1 -1
  18. package/dist/analysis/ts-type.d.ts.map +1 -1
  19. package/dist/analysis/ts-type.js +28 -10
  20. package/dist/analysis/ts-type.js.map +1 -1
  21. package/dist/compile.js +1 -1
  22. package/dist/compile.js.map +1 -1
  23. package/dist/docs/api-reference.d.ts +6 -0
  24. package/dist/docs/api-reference.d.ts.map +1 -1
  25. package/dist/docs/api-reference.js +11 -2
  26. package/dist/docs/api-reference.js.map +1 -1
  27. package/dist/docs/pipeline.d.ts +3 -0
  28. package/dist/docs/pipeline.d.ts.map +1 -1
  29. package/dist/docs/pipeline.js +10 -1
  30. package/dist/docs/pipeline.js.map +1 -1
  31. package/dist/fingerprint.d.ts +5 -0
  32. package/dist/fingerprint.d.ts.map +1 -1
  33. package/dist/fingerprint.js +107 -15
  34. package/dist/fingerprint.js.map +1 -1
  35. package/dist/gi.d.ts +3 -0
  36. package/dist/gi.d.ts.map +1 -1
  37. package/dist/gi.js +29 -7
  38. package/dist/gi.js.map +1 -1
  39. package/dist/gir/external-namespaces.d.ts +8 -0
  40. package/dist/gir/external-namespaces.d.ts.map +1 -0
  41. package/dist/gir/external-namespaces.js +4 -0
  42. package/dist/gir/external-namespaces.js.map +1 -0
  43. package/dist/gir/finish-overrides.d.ts +3 -0
  44. package/dist/gir/finish-overrides.d.ts.map +1 -0
  45. package/dist/gir/finish-overrides.js +5 -0
  46. package/dist/gir/finish-overrides.js.map +1 -0
  47. package/dist/gir/function.d.ts +5 -2
  48. package/dist/gir/function.d.ts.map +1 -1
  49. package/dist/gir/function.js +34 -5
  50. package/dist/gir/function.js.map +1 -1
  51. package/dist/gir/hidden-symbols.d.ts +3 -0
  52. package/dist/gir/hidden-symbols.d.ts.map +1 -0
  53. package/dist/gir/hidden-symbols.js +39 -0
  54. package/dist/gir/hidden-symbols.js.map +1 -0
  55. package/dist/gir/library.d.ts +22 -2
  56. package/dist/gir/library.d.ts.map +1 -1
  57. package/dist/gir/library.js +21 -3
  58. package/dist/gir/library.js.map +1 -1
  59. package/dist/gir/ucs4-overrides.d.ts +3 -0
  60. package/dist/gir/ucs4-overrides.d.ts.map +1 -0
  61. package/dist/gir/ucs4-overrides.js +7 -0
  62. package/dist/gir/ucs4-overrides.js.map +1 -0
  63. package/dist/jsx.d.ts.map +1 -1
  64. package/dist/jsx.js +27 -8
  65. package/dist/jsx.js.map +1 -1
  66. package/dist/runner.d.ts +8 -0
  67. package/dist/runner.d.ts.map +1 -1
  68. package/dist/runner.js +9 -3
  69. package/dist/runner.js.map +1 -1
  70. package/dist/store/external-package-links.d.ts +6 -0
  71. package/dist/store/external-package-links.d.ts.map +1 -0
  72. package/dist/store/external-package-links.js +158 -0
  73. package/dist/store/external-package-links.js.map +1 -0
  74. package/dist/store/gi/callable-doc.d.ts.map +1 -1
  75. package/dist/store/gi/callable-doc.js +4 -4
  76. package/dist/store/gi/callable-doc.js.map +1 -1
  77. package/dist/store/gi/callables.js +1 -1
  78. package/dist/store/gi/callables.js.map +1 -1
  79. package/dist/store/gi/class.d.ts.map +1 -1
  80. package/dist/store/gi/class.js +17 -0
  81. package/dist/store/gi/class.js.map +1 -1
  82. package/dist/store/gi/constructor-props.js +1 -1
  83. package/dist/store/gi/constructor-props.js.map +1 -1
  84. package/dist/store/gi/function.d.ts.map +1 -1
  85. package/dist/store/gi/function.js +2 -1
  86. package/dist/store/gi/function.js.map +1 -1
  87. package/dist/store/gi/gtype-binding.d.ts +2 -1
  88. package/dist/store/gi/gtype-binding.d.ts.map +1 -1
  89. package/dist/store/gi/gtype-binding.js +6 -1
  90. package/dist/store/gi/gtype-binding.js.map +1 -1
  91. package/dist/store/gi/method.d.ts +7 -2
  92. package/dist/store/gi/method.d.ts.map +1 -1
  93. package/dist/store/gi/method.js +126 -30
  94. package/dist/store/gi/method.js.map +1 -1
  95. package/dist/store/gi/param-marshal.d.ts +8 -1
  96. package/dist/store/gi/param-marshal.d.ts.map +1 -1
  97. package/dist/store/gi/param-marshal.js +52 -4
  98. package/dist/store/gi/param-marshal.js.map +1 -1
  99. package/dist/store/gi/record-constructor.d.ts.map +1 -1
  100. package/dist/store/gi/record-constructor.js +2 -3
  101. package/dist/store/gi/record-constructor.js.map +1 -1
  102. package/dist/store/gi/record-field-accessor.d.ts +2 -1
  103. package/dist/store/gi/record-field-accessor.d.ts.map +1 -1
  104. package/dist/store/gi/record-field-accessor.js +9 -3
  105. package/dist/store/gi/record-field-accessor.js.map +1 -1
  106. package/dist/store/gi/runtime-override.js +1 -1
  107. package/dist/store/gi/runtime-override.js.map +1 -1
  108. package/dist/store/gi/signal.js +2 -2
  109. package/dist/store/gi/signal.js.map +1 -1
  110. package/dist/store/gi/vtable.d.ts.map +1 -1
  111. package/dist/store/gi/vtable.js +82 -12
  112. package/dist/store/gi/vtable.js.map +1 -1
  113. package/dist/store/gi-store.d.ts +7 -2
  114. package/dist/store/gi-store.d.ts.map +1 -1
  115. package/dist/store/gi-store.js +19 -4
  116. package/dist/store/gi-store.js.map +1 -1
  117. package/dist/store/jsx/jsx.d.ts.map +1 -1
  118. package/dist/store/jsx/jsx.js +3 -1
  119. package/dist/store/jsx/jsx.js.map +1 -1
  120. package/dist/store/jsx-store.d.ts +8 -1
  121. package/dist/store/jsx-store.d.ts.map +1 -1
  122. package/dist/store/jsx-store.js +9 -2
  123. package/dist/store/jsx-store.js.map +1 -1
  124. package/dist/store/resolve-store.d.ts +2 -1
  125. package/dist/store/resolve-store.d.ts.map +1 -1
  126. package/dist/store/resolve-store.js +2 -1
  127. package/dist/store/resolve-store.js.map +1 -1
  128. package/dist/store/store-fs.d.ts +2 -1
  129. package/dist/store/store-fs.d.ts.map +1 -1
  130. package/dist/store/store-fs.js +8 -3
  131. package/dist/store/store-fs.js.map +1 -1
  132. package/dist/writer/context.d.ts.map +1 -1
  133. package/dist/writer/context.js +8 -0
  134. package/dist/writer/context.js.map +1 -1
  135. package/dist/writer/gtk-doc.d.ts.map +1 -1
  136. package/dist/writer/gtk-doc.js +27 -1
  137. package/dist/writer/gtk-doc.js.map +1 -1
  138. package/overrides/gdk/rgba.ts.ejs +15 -1
  139. package/overrides/glib/index.ts.ejs +3 -0
  140. package/overrides/glib/regex.ts.ejs +66 -0
  141. package/overrides/gobject/index.ts.ejs +3 -0
  142. package/overrides/gobject/object-class.ts.ejs +27 -0
  143. package/overrides/gobject/param-spec-getters.ts.ejs +57 -0
  144. package/overrides/gobject/param-spec.ts.ejs +21 -0
  145. package/overrides/gobject/value.ts.ejs +6 -1
  146. package/overrides/graphene/structs.ts.ejs +38 -3
  147. package/overrides/gtk/index.ts.ejs +2 -0
  148. package/overrides/gtk/widget-class.ts.ejs +28 -0
  149. package/package.json +6 -5
  150. package/src/analysis/descriptor-render.ts +59 -16
  151. package/src/analysis/descriptor.ts +15 -3
  152. package/src/analysis/param-capability.ts +68 -5
  153. package/src/analysis/param-structure.ts +1 -1
  154. package/src/analysis/ts-type.ts +45 -11
  155. package/src/compile.ts +1 -1
  156. package/src/docs/api-reference.ts +20 -2
  157. package/src/docs/pipeline.ts +15 -1
  158. package/src/fingerprint.ts +144 -16
  159. package/src/gi.ts +44 -9
  160. package/src/gir/external-namespaces.ts +8 -0
  161. package/src/gir/finish-overrides.ts +5 -0
  162. package/src/gir/function.ts +52 -14
  163. package/src/gir/hidden-symbols.ts +39 -0
  164. package/src/gir/library.ts +36 -3
  165. package/src/gir/ucs4-overrides.ts +7 -0
  166. package/src/jsx.ts +33 -8
  167. package/src/runner.ts +17 -3
  168. package/src/store/external-package-links.ts +226 -0
  169. package/src/store/gi/callable-doc.ts +8 -4
  170. package/src/store/gi/callables.ts +1 -1
  171. package/src/store/gi/class.ts +29 -0
  172. package/src/store/gi/constructor-props.ts +1 -1
  173. package/src/store/gi/function.ts +2 -1
  174. package/src/store/gi/gtype-binding.ts +8 -1
  175. package/src/store/gi/method.ts +189 -36
  176. package/src/store/gi/param-marshal.ts +67 -4
  177. package/src/store/gi/record-constructor.ts +8 -3
  178. package/src/store/gi/record-field-accessor.ts +11 -2
  179. package/src/store/gi/runtime-override.ts +1 -1
  180. package/src/store/gi/signal.ts +2 -2
  181. package/src/store/gi/vtable.ts +118 -11
  182. package/src/store/gi-store.ts +33 -3
  183. package/src/store/jsx/jsx.ts +3 -1
  184. package/src/store/jsx-store.ts +23 -7
  185. package/src/store/resolve-store.ts +2 -1
  186. package/src/store/store-fs.ts +10 -2
  187. package/src/writer/context.ts +11 -0
  188. package/src/writer/gtk-doc.ts +38 -1
  189. package/overrides/cairo/context.ts.ejs +0 -1269
  190. package/overrides/cairo/font-face.ts.ejs +0 -151
  191. package/overrides/cairo/font-options.ts.ejs +0 -199
  192. package/overrides/cairo/image-surface.ts.ejs +0 -132
  193. package/overrides/cairo/index.ts.ejs +0 -22
  194. package/overrides/cairo/matrix.ts.ejs +0 -171
  195. package/overrides/cairo/pattern.ts.ejs +0 -476
  196. package/overrides/cairo/recording-surface.ts.ejs +0 -102
  197. package/overrides/cairo/region.ts.ejs +0 -237
  198. package/overrides/cairo/scaled-font.ts.ejs +0 -330
  199. package/overrides/cairo/surface.ts.ejs +0 -296
@@ -1,296 +0,0 @@
1
- import { type ExternalObject, getHandle, type Handle, t, wrapHandle } from "@gtkx/runtime";
2
- import type { Content, Format, RectangleInt, Status, SurfaceType } from "../cairo.js";
3
- import { Surface } from "../cairo.js";
4
- import { FontOptions } from "./font-options.js";
5
- import { ImageSurface } from "./image-surface.js";
6
-
7
- const { bind } = t;
8
- const SURFACE_T = t.boxed("CairoSurface", {
9
- ownership: "borrowed",
10
- sharedLibrary: "libcairo-gobject.so.2",
11
- getTypeFnName: "cairo_gobject_surface_get_type",
12
- });
13
- const DEVICE_T_NONE = t.boxed("CairoDevice", { ownership: "borrowed", sharedLibrary: "libcairo.so.2" });
14
-
15
- declare module "../cairo.js" {
16
- interface Surface {
17
- writeToPng(filename: string): Status;
18
- status(): Status;
19
- finish(): void;
20
- flush(): void;
21
- getDevice(): ExternalObject<Handle> | null;
22
- getFontOptions(): FontOptions;
23
- getContent(): Content;
24
- markDirty(): void;
25
- markDirtyRectangle(x: number, y: number, width: number, height: number): void;
26
- setDeviceOffset(xOffset: number, yOffset: number): void;
27
- getDeviceOffset(): { xOffset: number; yOffset: number };
28
- getDeviceScale(): { xScale: number; yScale: number };
29
- setDeviceScale(xScale: number, yScale: number): void;
30
- setFallbackResolution(xPixelsPerInch: number, yPixelsPerInch: number): void;
31
- getFallbackResolution(): { xPixelsPerInch: number; yPixelsPerInch: number };
32
- getType(): SurfaceType;
33
- getReferenceCount(): number;
34
- copyPage(): void;
35
- showPage(): void;
36
- hasShowTextGlyphs(): boolean;
37
- supportsMimeType(mimeType: string): boolean;
38
- mapToImage(extents: RectangleInt): Surface;
39
- unmapImage(image: Surface): void;
40
- }
41
-
42
- namespace Surface {
43
- function createSimilar(other: Surface, content: Content, width: number, height: number): Surface;
44
- function createSimilarImage(other: Surface, format: Format, width: number, height: number): Surface;
45
- function createForRectangle(target: Surface, x: number, y: number, width: number, height: number): Surface;
46
- }
47
- }
48
-
49
- type SurfaceStatic = {
50
- createSimilar(other: Surface, content: Content, width: number, height: number): Surface;
51
- createSimilarImage(other: Surface, format: Format, width: number, height: number): Surface;
52
- createForRectangle(target: Surface, x: number, y: number, width: number, height: number): Surface;
53
- };
54
-
55
- const SurfaceWithStatics = Surface as typeof Surface & SurfaceStatic;
56
-
57
- const cairoSurfaceCreateSimilar = bind(
58
- "libcairo.so.2",
59
- "cairo_surface_create_similar",
60
- [SURFACE_T, t.int32, t.int32, t.int32],
61
- t.boxed("CairoSurface", {
62
- ownership: "full",
63
- sharedLibrary: "libcairo-gobject.so.2",
64
- getTypeFnName: "cairo_gobject_surface_get_type",
65
- }),
66
- );
67
- SurfaceWithStatics.createSimilar = (other: Surface, content: Content, width: number, height: number): Surface => {
68
- return wrapHandle(cairoSurfaceCreateSimilar(getHandle(other), content, width, height) as ExternalObject<Handle>, Surface);
69
- };
70
-
71
- const cairoSurfaceCreateSimilarImage = bind(
72
- "libcairo.so.2",
73
- "cairo_surface_create_similar_image",
74
- [SURFACE_T, t.int32, t.int32, t.int32],
75
- t.boxed("CairoSurface", {
76
- ownership: "full",
77
- sharedLibrary: "libcairo-gobject.so.2",
78
- getTypeFnName: "cairo_gobject_surface_get_type",
79
- }),
80
- );
81
- SurfaceWithStatics.createSimilarImage = (other: Surface, format: Format, width: number, height: number): Surface => {
82
- return wrapHandle(cairoSurfaceCreateSimilarImage(getHandle(other), format, width, height) as ExternalObject<Handle>, Surface);
83
- };
84
-
85
- const cairoSurfaceCreateForRectangle = bind(
86
- "libcairo.so.2",
87
- "cairo_surface_create_for_rectangle",
88
- [SURFACE_T, t.float64, t.float64, t.float64, t.float64],
89
- t.boxed("CairoSurface", {
90
- ownership: "full",
91
- sharedLibrary: "libcairo-gobject.so.2",
92
- getTypeFnName: "cairo_gobject_surface_get_type",
93
- }),
94
- );
95
- SurfaceWithStatics.createForRectangle = (
96
- target: Surface,
97
- x: number,
98
- y: number,
99
- width: number,
100
- height: number,
101
- ): Surface => {
102
- return wrapHandle(cairoSurfaceCreateForRectangle(getHandle(target), x, y, width, height) as ExternalObject<Handle>, Surface);
103
- };
104
-
105
- const cairoSurfaceWriteToPng = bind(
106
- "libcairo.so.2",
107
- "cairo_surface_write_to_png",
108
- [SURFACE_T, t.string("full")],
109
- t.int32,
110
- );
111
- Surface.prototype.writeToPng = function (filename: string): Status {
112
- return cairoSurfaceWriteToPng(getHandle(this), filename) as Status;
113
- };
114
-
115
- const cairoSurfaceStatus = bind("libcairo.so.2", "cairo_surface_status", [SURFACE_T], t.int32);
116
- Surface.prototype.status = function (): Status {
117
- return cairoSurfaceStatus(getHandle(this)) as Status;
118
- };
119
-
120
- const cairoSurfaceFinish = bind("libcairo.so.2", "cairo_surface_finish", [SURFACE_T], t.void);
121
- Surface.prototype.finish = function (): void {
122
- cairoSurfaceFinish(getHandle(this));
123
- };
124
-
125
- const cairoSurfaceFlush = bind("libcairo.so.2", "cairo_surface_flush", [SURFACE_T], t.void);
126
- Surface.prototype.flush = function (): void {
127
- cairoSurfaceFlush(getHandle(this));
128
- };
129
-
130
- const cairoSurfaceGetDevice = bind("libcairo.so.2", "cairo_surface_get_device", [SURFACE_T], DEVICE_T_NONE);
131
- Surface.prototype.getDevice = function (): ExternalObject<Handle> | null {
132
- return cairoSurfaceGetDevice(getHandle(this)) as ExternalObject<Handle> | null;
133
- };
134
-
135
- const cairoSurfaceGetFontOptions = bind(
136
- "libcairo.so.2",
137
- "cairo_surface_get_font_options",
138
- [
139
- SURFACE_T,
140
- t.boxed("CairoFontOptions", {
141
- ownership: "borrowed",
142
- sharedLibrary: "libcairo-gobject.so.2",
143
- getTypeFnName: "cairo_gobject_font_options_get_type",
144
- }),
145
- ],
146
- t.void,
147
- );
148
- Surface.prototype.getFontOptions = function (): FontOptions {
149
- const options = FontOptions.create();
150
- cairoSurfaceGetFontOptions(getHandle(this), getHandle(options));
151
- return options;
152
- };
153
-
154
- const cairoSurfaceGetContent = bind("libcairo.so.2", "cairo_surface_get_content", [SURFACE_T], t.int32);
155
- Surface.prototype.getContent = function (): Content {
156
- return cairoSurfaceGetContent(getHandle(this)) as Content;
157
- };
158
-
159
- const cairoSurfaceMarkDirty = bind("libcairo.so.2", "cairo_surface_mark_dirty", [SURFACE_T], t.void);
160
- Surface.prototype.markDirty = function (): void {
161
- cairoSurfaceMarkDirty(getHandle(this));
162
- };
163
-
164
- const cairoSurfaceMarkDirtyRectangle = bind(
165
- "libcairo.so.2",
166
- "cairo_surface_mark_dirty_rectangle",
167
- [SURFACE_T, t.int32, t.int32, t.int32, t.int32],
168
- t.void,
169
- );
170
- Surface.prototype.markDirtyRectangle = function (x: number, y: number, width: number, height: number): void {
171
- cairoSurfaceMarkDirtyRectangle(getHandle(this), x, y, width, height);
172
- };
173
-
174
- const cairoSurfaceSetDeviceOffset = bind(
175
- "libcairo.so.2",
176
- "cairo_surface_set_device_offset",
177
- [SURFACE_T, t.float64, t.float64],
178
- t.void,
179
- );
180
- Surface.prototype.setDeviceOffset = function (xOffset: number, yOffset: number): void {
181
- cairoSurfaceSetDeviceOffset(getHandle(this), xOffset, yOffset);
182
- };
183
-
184
- const cairoSurfaceGetDeviceOffset = bind(
185
- "libcairo.so.2",
186
- "cairo_surface_get_device_offset",
187
- [SURFACE_T, t.ref(t.float64), t.ref(t.float64)],
188
- t.void,
189
- );
190
- Surface.prototype.getDeviceOffset = function (): { xOffset: number; yOffset: number } {
191
- const xRef = { value: 0 };
192
- const yRef = { value: 0 };
193
- cairoSurfaceGetDeviceOffset(getHandle(this), xRef, yRef);
194
- return { xOffset: xRef.value, yOffset: yRef.value };
195
- };
196
-
197
- const cairoSurfaceGetDeviceScale = bind(
198
- "libcairo.so.2",
199
- "cairo_surface_get_device_scale",
200
- [SURFACE_T, t.ref(t.float64), t.ref(t.float64)],
201
- t.void,
202
- );
203
- Surface.prototype.getDeviceScale = function (): { xScale: number; yScale: number } {
204
- const xRef = { value: 0 };
205
- const yRef = { value: 0 };
206
- cairoSurfaceGetDeviceScale(getHandle(this), xRef, yRef);
207
- return { xScale: xRef.value, yScale: yRef.value };
208
- };
209
-
210
- const cairoSurfaceSetDeviceScale = bind(
211
- "libcairo.so.2",
212
- "cairo_surface_set_device_scale",
213
- [SURFACE_T, t.float64, t.float64],
214
- t.void,
215
- );
216
- Surface.prototype.setDeviceScale = function (xScale: number, yScale: number): void {
217
- cairoSurfaceSetDeviceScale(getHandle(this), xScale, yScale);
218
- };
219
-
220
- const cairoSurfaceSetFallbackResolution = bind(
221
- "libcairo.so.2",
222
- "cairo_surface_set_fallback_resolution",
223
- [SURFACE_T, t.float64, t.float64],
224
- t.void,
225
- );
226
- Surface.prototype.setFallbackResolution = function (xPixelsPerInch: number, yPixelsPerInch: number): void {
227
- cairoSurfaceSetFallbackResolution(getHandle(this), xPixelsPerInch, yPixelsPerInch);
228
- };
229
-
230
- const cairoSurfaceGetFallbackResolution = bind(
231
- "libcairo.so.2",
232
- "cairo_surface_get_fallback_resolution",
233
- [SURFACE_T, t.ref(t.float64), t.ref(t.float64)],
234
- t.void,
235
- );
236
- Surface.prototype.getFallbackResolution = function (): { xPixelsPerInch: number; yPixelsPerInch: number } {
237
- const xRef = { value: 0 };
238
- const yRef = { value: 0 };
239
- cairoSurfaceGetFallbackResolution(getHandle(this), xRef, yRef);
240
- return { xPixelsPerInch: xRef.value, yPixelsPerInch: yRef.value };
241
- };
242
-
243
- const cairoSurfaceGetType = bind("libcairo.so.2", "cairo_surface_get_type", [SURFACE_T], t.int32);
244
- Surface.prototype.getType = function (): SurfaceType {
245
- return cairoSurfaceGetType(getHandle(this)) as SurfaceType;
246
- };
247
-
248
- const cairoSurfaceGetReferenceCount = bind("libcairo.so.2", "cairo_surface_get_reference_count", [SURFACE_T], t.int32);
249
- Surface.prototype.getReferenceCount = function (): number {
250
- return cairoSurfaceGetReferenceCount(getHandle(this)) as number;
251
- };
252
-
253
- const cairoSurfaceCopyPage = bind("libcairo.so.2", "cairo_surface_copy_page", [SURFACE_T], t.void);
254
- Surface.prototype.copyPage = function (): void {
255
- cairoSurfaceCopyPage(getHandle(this));
256
- };
257
-
258
- const cairoSurfaceShowPage = bind("libcairo.so.2", "cairo_surface_show_page", [SURFACE_T], t.void);
259
- Surface.prototype.showPage = function (): void {
260
- cairoSurfaceShowPage(getHandle(this));
261
- };
262
-
263
- const cairoSurfaceHasShowTextGlyphs = bind(
264
- "libcairo.so.2",
265
- "cairo_surface_has_show_text_glyphs",
266
- [SURFACE_T],
267
- t.boolean,
268
- );
269
- Surface.prototype.hasShowTextGlyphs = function (): boolean {
270
- return cairoSurfaceHasShowTextGlyphs(getHandle(this)) as boolean;
271
- };
272
-
273
- const cairoSurfaceSupportsMimeType = bind(
274
- "libcairo.so.2",
275
- "cairo_surface_supports_mime_type",
276
- [SURFACE_T, t.string("full")],
277
- t.boolean,
278
- );
279
- Surface.prototype.supportsMimeType = function (mimeType: string): boolean {
280
- return cairoSurfaceSupportsMimeType(getHandle(this), mimeType) as boolean;
281
- };
282
-
283
- const cairoSurfaceMapToImage = bind(
284
- "libcairo.so.2",
285
- "cairo_surface_map_to_image",
286
- [SURFACE_T, t.boxed("cairo_rectangle_int_t", { ownership: "borrowed", sharedLibrary: "libcairo.so.2" })],
287
- SURFACE_T,
288
- );
289
- Surface.prototype.mapToImage = function (extents: RectangleInt): Surface {
290
- return wrapHandle(cairoSurfaceMapToImage(getHandle(this), getHandle(extents)) as ExternalObject<Handle>, ImageSurface);
291
- };
292
-
293
- const cairoSurfaceUnmapImage = bind("libcairo.so.2", "cairo_surface_unmap_image", [SURFACE_T, SURFACE_T], t.void);
294
- Surface.prototype.unmapImage = function (image: Surface): void {
295
- cairoSurfaceUnmapImage(getHandle(this), getHandle(image));
296
- };