@gtkx/cairo 1.2.2

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 (86) hide show
  1. package/dist/context.d.ts +229 -0
  2. package/dist/context.d.ts.map +1 -0
  3. package/dist/context.js +646 -0
  4. package/dist/context.js.map +1 -0
  5. package/dist/device.d.ts +21 -0
  6. package/dist/device.d.ts.map +1 -0
  7. package/dist/device.js +39 -0
  8. package/dist/device.js.map +1 -0
  9. package/dist/enums.d.ts +526 -0
  10. package/dist/enums.d.ts.map +1 -0
  11. package/dist/enums.js +482 -0
  12. package/dist/enums.js.map +1 -0
  13. package/dist/font-face.d.ts +55 -0
  14. package/dist/font-face.d.ts.map +1 -0
  15. package/dist/font-face.js +103 -0
  16. package/dist/font-face.js.map +1 -0
  17. package/dist/font-options.d.ts +43 -0
  18. package/dist/font-options.d.ts.map +1 -0
  19. package/dist/font-options.js +95 -0
  20. package/dist/font-options.js.map +1 -0
  21. package/dist/index.d.ts +29 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +27 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/lib.d.ts +36 -0
  26. package/dist/lib.d.ts.map +1 -0
  27. package/dist/lib.js +120 -0
  28. package/dist/lib.js.map +1 -0
  29. package/dist/matrix.d.ts +40 -0
  30. package/dist/matrix.d.ts.map +1 -0
  31. package/dist/matrix.js +93 -0
  32. package/dist/matrix.js.map +1 -0
  33. package/dist/path.d.ts +14 -0
  34. package/dist/path.d.ts.map +1 -0
  35. package/dist/path.js +67 -0
  36. package/dist/path.js.map +1 -0
  37. package/dist/pattern.d.ts +95 -0
  38. package/dist/pattern.d.ts.map +1 -0
  39. package/dist/pattern.js +250 -0
  40. package/dist/pattern.js.map +1 -0
  41. package/dist/region.d.ts +59 -0
  42. package/dist/region.d.ts.map +1 -0
  43. package/dist/region.js +154 -0
  44. package/dist/region.js.map +1 -0
  45. package/dist/scaled-font.d.ts +43 -0
  46. package/dist/scaled-font.d.ts.map +1 -0
  47. package/dist/scaled-font.js +156 -0
  48. package/dist/scaled-font.js.map +1 -0
  49. package/dist/structs.d.ts +120 -0
  50. package/dist/structs.d.ts.map +1 -0
  51. package/dist/structs.js +185 -0
  52. package/dist/structs.js.map +1 -0
  53. package/dist/surface.d.ts +98 -0
  54. package/dist/surface.d.ts.map +1 -0
  55. package/dist/surface.js +274 -0
  56. package/dist/surface.js.map +1 -0
  57. package/dist/text.d.ts +10 -0
  58. package/dist/text.d.ts.map +1 -0
  59. package/dist/text.js +45 -0
  60. package/dist/text.js.map +1 -0
  61. package/dist/types.d.ts +245 -0
  62. package/dist/types.d.ts.map +1 -0
  63. package/dist/types.js +2 -0
  64. package/dist/types.js.map +1 -0
  65. package/dist/version.d.ts +9 -0
  66. package/dist/version.d.ts.map +1 -0
  67. package/dist/version.js +13 -0
  68. package/dist/version.js.map +1 -0
  69. package/package.json +64 -0
  70. package/src/context.ts +899 -0
  71. package/src/device.ts +50 -0
  72. package/src/enums.ts +571 -0
  73. package/src/font-face.ts +157 -0
  74. package/src/font-options.ts +142 -0
  75. package/src/index.ts +28 -0
  76. package/src/lib.ts +186 -0
  77. package/src/matrix.ts +135 -0
  78. package/src/path.ts +87 -0
  79. package/src/pattern.ts +423 -0
  80. package/src/region.ts +216 -0
  81. package/src/scaled-font.ts +268 -0
  82. package/src/structs.ts +306 -0
  83. package/src/surface.ts +411 -0
  84. package/src/text.ts +56 -0
  85. package/src/types.ts +290 -0
  86. package/src/version.ts +16 -0
@@ -0,0 +1,103 @@
1
+ import { getHandle, registerWrapperClass, registerWrapperClassResolver, t, wrapHandle, } from "@gtkx/runtime";
2
+ import { FontType } from "./enums.js";
3
+ import { bindCairo, cairoGType, FC_PATTERN_T, FONT_FACE_FULL_T, FONT_FACE_T, FT_FACE_T } from "./lib.js";
4
+ const FONT_FACE_TYPE = cairoGType("cairo_gobject_font_face_get_type");
5
+ const cairoFontFaceStatus = bindCairo("cairo_font_face_status", [FONT_FACE_T], t.int32);
6
+ const cairoFontFaceGetType = bindCairo("cairo_font_face_get_type", [FONT_FACE_T], t.int32);
7
+ const cairoFontFaceGetReferenceCount = bindCairo("cairo_font_face_get_reference_count", [FONT_FACE_T], t.int32);
8
+ const cairoToyFontFaceGetSlant = bindCairo("cairo_toy_font_face_get_slant", [FONT_FACE_T], t.int32);
9
+ const cairoToyFontFaceGetWeight = bindCairo("cairo_toy_font_face_get_weight", [FONT_FACE_T], t.int32);
10
+ const cairoFtFontFaceGetSynthesize = bindCairo("cairo_ft_font_face_get_synthesize", [FONT_FACE_T], t.int32);
11
+ const cairoFtFontFaceSetSynthesize = bindCairo("cairo_ft_font_face_set_synthesize", [FONT_FACE_T, t.int32], t.void);
12
+ const cairoToyFontFaceGetFamily = bindCairo("cairo_toy_font_face_get_family", [FONT_FACE_T], t.string("borrowed"));
13
+ const cairoFtFontFaceCreateForPattern = bindCairo("cairo_ft_font_face_create_for_pattern", [FC_PATTERN_T], FONT_FACE_FULL_T);
14
+ const cairoToyFontFaceCreate = bindCairo("cairo_toy_font_face_create", [t.string("full"), t.int32, t.int32], FONT_FACE_FULL_T);
15
+ const cairoFtFontFaceCreateForFtFace = bindCairo("cairo_ft_font_face_create_for_ft_face", [FT_FACE_T, t.int32], FONT_FACE_FULL_T);
16
+ const cairoFtFontFaceUnsetSynthesize = bindCairo("cairo_ft_font_face_unset_synthesize", [FONT_FACE_T, t.int32], t.void);
17
+ /**
18
+ * Styles a FreeType font face synthesizes when the font itself lacks them.
19
+ * @enum
20
+ */
21
+ const FtSynthesize = {
22
+ /** Embolden the glyphs. */
23
+ BOLD: 1,
24
+ /** Slant the glyphs. */
25
+ OBLIQUE: 2,
26
+ };
27
+ const fontFaceClassFor = (handle) => {
28
+ const type = cairoFontFaceGetType(handle);
29
+ if (type === FontType.TOY) {
30
+ return ToyFontFace;
31
+ }
32
+ if (type === FontType.FT) {
33
+ return FtFontFace;
34
+ }
35
+ return FontFace;
36
+ };
37
+ /**
38
+ * A cairo font face (`cairo_font_face_t`): a typeface independent of size and transformation. Font faces come
39
+ * from the `create*` statics or from a context, and wrap as the concrete class their type reports
40
+ * (`instanceof ToyFontFace` after `selectFontFace`).
41
+ */
42
+ class FontFace {
43
+ static {
44
+ registerWrapperClass(this, FONT_FACE_TYPE);
45
+ registerWrapperClassResolver(this, fontFaceClassFor);
46
+ }
47
+ /** Creates a toy font face from a family name, slant and weight. */
48
+ static create(family, slant, weight) {
49
+ return wrapHandle(cairoToyFontFaceCreate(family, slant, weight), ToyFontFace);
50
+ }
51
+ /** Creates a font face for a FreeType `FT_Face` handle, with the given `FT_LOAD_*` flags. */
52
+ static createForFtFace(face, loadFlags) {
53
+ return wrapHandle(cairoFtFontFaceCreateForFtFace(face, loadFlags), FtFontFace);
54
+ }
55
+ /** Creates a font face for a fontconfig `FcPattern` handle. */
56
+ static createForPattern(pattern) {
57
+ return wrapHandle(cairoFtFontFaceCreateForPattern(pattern), FtFontFace);
58
+ }
59
+ /** Returns the error status of the font face, `Status.SUCCESS` when it is usable. */
60
+ status() {
61
+ return cairoFontFaceStatus(getHandle(this));
62
+ }
63
+ /** Returns the backend the font face belongs to. */
64
+ getType() {
65
+ return cairoFontFaceGetType(getHandle(this));
66
+ }
67
+ /** Returns the reference count of the font face. */
68
+ getReferenceCount() {
69
+ return cairoFontFaceGetReferenceCount(getHandle(this));
70
+ }
71
+ }
72
+ /** A toy font face, created with `FontFace.create` or a context's `selectFontFace`. */
73
+ class ToyFontFace extends FontFace {
74
+ /** Returns the family name the font face was created with. */
75
+ getFamily() {
76
+ return cairoToyFontFaceGetFamily(getHandle(this));
77
+ }
78
+ /** Returns the slant the font face was created with. */
79
+ getSlant() {
80
+ return cairoToyFontFaceGetSlant(getHandle(this));
81
+ }
82
+ /** Returns the weight the font face was created with. */
83
+ getWeight() {
84
+ return cairoToyFontFaceGetWeight(getHandle(this));
85
+ }
86
+ }
87
+ /** A FreeType font face, created with `FontFace.createForFtFace` or `FontFace.createForPattern`. */
88
+ class FtFontFace extends FontFace {
89
+ /** Returns the styles currently synthesized for the font face. */
90
+ getSynthesize() {
91
+ return cairoFtFontFaceGetSynthesize(getHandle(this));
92
+ }
93
+ /** Enables synthesizing of the given styles. */
94
+ setSynthesize(synthFlags) {
95
+ cairoFtFontFaceSetSynthesize(getHandle(this), synthFlags);
96
+ }
97
+ /** Disables synthesizing of the given styles. */
98
+ unsetSynthesize(synthFlags) {
99
+ cairoFtFontFaceUnsetSynthesize(getHandle(this), synthFlags);
100
+ }
101
+ }
102
+ export { FontFace, FtFontFace, FtSynthesize, ToyFontFace };
103
+ //# sourceMappingURL=font-face.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-face.js","sourceRoot":"","sources":["../src/font-face.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ExternalObject,\n getHandle,\n type Handle,\n registerWrapperClass,\n registerWrapperClassResolver,\n t,\n wrapHandle,\n type WrapperClassResolver,\n} from \"@gtkx/runtime\";\nimport { type FontSlant, FontType, type FontWeight, type Status } from \"./enums.js\";\nimport { bindCairo, cairoGType, FC_PATTERN_T, FONT_FACE_FULL_T, FONT_FACE_T, FT_FACE_T } from \"./lib.js\";\n\n/** One of the `FtSynthesize` styles a FreeType font face synthesizes. */\ntype FtSynthesize = (typeof FtSynthesize)[keyof typeof FtSynthesize];\n\nconst FONT_FACE_TYPE = cairoGType(\"cairo_gobject_font_face_get_type\");\nconst cairoFontFaceStatus = bindCairo(\"cairo_font_face_status\", [FONT_FACE_T], t.int32);\nconst cairoFontFaceGetType = bindCairo(\"cairo_font_face_get_type\", [FONT_FACE_T], t.int32);\nconst cairoFontFaceGetReferenceCount = bindCairo(\"cairo_font_face_get_reference_count\", [FONT_FACE_T], t.int32);\nconst cairoToyFontFaceGetSlant = bindCairo(\"cairo_toy_font_face_get_slant\", [FONT_FACE_T], t.int32);\nconst cairoToyFontFaceGetWeight = bindCairo(\"cairo_toy_font_face_get_weight\", [FONT_FACE_T], t.int32);\nconst cairoFtFontFaceGetSynthesize = bindCairo(\"cairo_ft_font_face_get_synthesize\", [FONT_FACE_T], t.int32);\nconst cairoFtFontFaceSetSynthesize = bindCairo(\"cairo_ft_font_face_set_synthesize\", [FONT_FACE_T, t.int32], t.void);\nconst cairoToyFontFaceGetFamily = bindCairo(\"cairo_toy_font_face_get_family\", [FONT_FACE_T], t.string(\"borrowed\"));\n\nconst cairoFtFontFaceCreateForPattern = bindCairo(\n \"cairo_ft_font_face_create_for_pattern\",\n [FC_PATTERN_T],\n FONT_FACE_FULL_T,\n);\n\nconst cairoToyFontFaceCreate = bindCairo(\n \"cairo_toy_font_face_create\",\n [t.string(\"full\"), t.int32, t.int32],\n FONT_FACE_FULL_T,\n);\n\nconst cairoFtFontFaceCreateForFtFace = bindCairo(\n \"cairo_ft_font_face_create_for_ft_face\",\n [FT_FACE_T, t.int32],\n FONT_FACE_FULL_T,\n);\n\nconst cairoFtFontFaceUnsetSynthesize = bindCairo(\n \"cairo_ft_font_face_unset_synthesize\",\n [FONT_FACE_T, t.int32],\n t.void,\n);\n\n/**\n * Styles a FreeType font face synthesizes when the font itself lacks them.\n * @enum\n */\nconst FtSynthesize = {\n /** Embolden the glyphs. */\n BOLD: 1,\n /** Slant the glyphs. */\n OBLIQUE: 2,\n} as const;\n\nconst fontFaceClassFor: WrapperClassResolver = (handle) => {\n const type = cairoFontFaceGetType(handle) as FontType;\n\n if (type === FontType.TOY) {\n return ToyFontFace;\n }\n\n if (type === FontType.FT) {\n return FtFontFace;\n }\n\n return FontFace;\n};\n\n/**\n * A cairo font face (`cairo_font_face_t`): a typeface independent of size and transformation. Font faces come\n * from the `create*` statics or from a context, and wrap as the concrete class their type reports\n * (`instanceof ToyFontFace` after `selectFontFace`).\n */\nabstract class FontFace {\n static {\n registerWrapperClass(this, FONT_FACE_TYPE);\n registerWrapperClassResolver(this, fontFaceClassFor);\n }\n\n /** Creates a toy font face from a family name, slant and weight. */\n static create(family: string, slant: FontSlant, weight: FontWeight): ToyFontFace {\n return wrapHandle(cairoToyFontFaceCreate(family, slant, weight) as ExternalObject<Handle>, ToyFontFace);\n }\n\n /** Creates a font face for a FreeType `FT_Face` handle, with the given `FT_LOAD_*` flags. */\n static createForFtFace(face: ExternalObject<Handle>, loadFlags: number): FtFontFace {\n return wrapHandle(cairoFtFontFaceCreateForFtFace(face, loadFlags) as ExternalObject<Handle>, FtFontFace);\n }\n\n /** Creates a font face for a fontconfig `FcPattern` handle. */\n static createForPattern(pattern: ExternalObject<Handle>): FtFontFace {\n return wrapHandle(cairoFtFontFaceCreateForPattern(pattern) as ExternalObject<Handle>, FtFontFace);\n }\n\n /** GType of `CairoFontFace`, the boxed type this class is registered under. */\n declare __type__: bigint;\n\n /** Returns the error status of the font face, `Status.SUCCESS` when it is usable. */\n status(): Status {\n return cairoFontFaceStatus(getHandle(this)) as Status;\n }\n\n /** Returns the backend the font face belongs to. */\n getType(): FontType {\n return cairoFontFaceGetType(getHandle(this)) as FontType;\n }\n\n /** Returns the reference count of the font face. */\n getReferenceCount(): number {\n return cairoFontFaceGetReferenceCount(getHandle(this)) as number;\n }\n}\n\n/** A toy font face, created with `FontFace.create` or a context's `selectFontFace`. */\nclass ToyFontFace extends FontFace {\n /** Returns the family name the font face was created with. */\n getFamily(): string {\n return cairoToyFontFaceGetFamily(getHandle(this)) as string;\n }\n\n /** Returns the slant the font face was created with. */\n getSlant(): FontSlant {\n return cairoToyFontFaceGetSlant(getHandle(this)) as FontSlant;\n }\n\n /** Returns the weight the font face was created with. */\n getWeight(): FontWeight {\n return cairoToyFontFaceGetWeight(getHandle(this)) as FontWeight;\n }\n}\n\n/** A FreeType font face, created with `FontFace.createForFtFace` or `FontFace.createForPattern`. */\nclass FtFontFace extends FontFace {\n /** Returns the styles currently synthesized for the font face. */\n getSynthesize(): FtSynthesize {\n return cairoFtFontFaceGetSynthesize(getHandle(this)) as FtSynthesize;\n }\n\n /** Enables synthesizing of the given styles. */\n setSynthesize(synthFlags: FtSynthesize): void {\n cairoFtFontFaceSetSynthesize(getHandle(this), synthFlags);\n }\n\n /** Disables synthesizing of the given styles. */\n unsetSynthesize(synthFlags: FtSynthesize): void {\n cairoFtFontFaceUnsetSynthesize(getHandle(this), synthFlags);\n }\n}\n\nexport { FontFace, FtFontFace, FtSynthesize, ToyFontFace };\n"]}
@@ -0,0 +1,43 @@
1
+ import type { Antialias, HintMetrics, HintStyle, Status, SubpixelOrder } from "./enums.js";
2
+ /**
3
+ * Cairo font options (`cairo_font_options_t`): the rendering settings applied to text, such as antialiasing,
4
+ * hinting and font variations.
5
+ */
6
+ declare class FontOptions {
7
+ /** Creates a set of font options with all settings at their defaults, the same as `new FontOptions()`. */
8
+ static create(): FontOptions;
9
+ /** GType of `CairoFontOptions`, the boxed type this class is registered under. */
10
+ __type__: bigint;
11
+ /** Creates a set of font options: a copy of `other` when given, otherwise all settings at their defaults. */
12
+ constructor(other?: FontOptions);
13
+ /** Sets how outlines are fitted to the pixel grid. */
14
+ setHintStyle(hintStyle: HintStyle): void;
15
+ /** Returns how outlines are fitted to the pixel grid. */
16
+ getHintStyle(): HintStyle;
17
+ /** Sets the antialiasing mode used for text. */
18
+ setAntialias(antialias: Antialias): void;
19
+ /** Returns the antialiasing mode used for text. */
20
+ getAntialias(): Antialias;
21
+ /** Sets whether font metrics are quantized to integer pixels. */
22
+ setHintMetrics(hintMetrics: HintMetrics): void;
23
+ /** Returns whether font metrics are quantized to integer pixels. */
24
+ getHintMetrics(): HintMetrics;
25
+ /** Sets the order of subpixels on the display, used by subpixel antialiasing. */
26
+ setSubpixelOrder(subpixelOrder: SubpixelOrder): void;
27
+ /** Returns the order of subpixels on the display. */
28
+ getSubpixelOrder(): SubpixelOrder;
29
+ /** Returns whether `other` holds the same settings. */
30
+ equal(other: FontOptions): boolean;
31
+ /** Copies every non-default setting of `other` over this one. */
32
+ merge(other: FontOptions): void;
33
+ /** Returns the error status of the font options, `Status.SUCCESS` when they are usable. */
34
+ status(): Status;
35
+ /** Returns a hash of the settings, equal for options that compare `equal`. */
36
+ hash(): number;
37
+ /** Sets the OpenType font variations to apply, as a comma-separated `axis=value` string. */
38
+ setVariations(variations: string): void;
39
+ /** Returns the OpenType font variations to apply. */
40
+ getVariations(): string;
41
+ }
42
+ export { FontOptions };
43
+ //# sourceMappingURL=font-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-options.d.ts","sourceRoot":"","sources":["../src/font-options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA8C3F;;;GAGG;AACH,cAAM,WAAW;IAKb,0GAA0G;IAC1G,MAAM,CAAC,MAAM,IAAI,WAAW;IAI5B,kFAAkF;IAC1E,QAAQ,EAAE,MAAM,CAAC;IAEzB,6GAA6G;gBACjG,KAAK,CAAC,EAAE,WAAW;IAK/B,sDAAsD;IACtD,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC,yDAAyD;IACzD,YAAY,IAAI,SAAS;IAIzB,gDAAgD;IAChD,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIxC,mDAAmD;IACnD,YAAY,IAAI,SAAS;IAIzB,iEAAiE;IACjE,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C,oEAAoE;IACpE,cAAc,IAAI,WAAW;IAI7B,iFAAiF;IACjF,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAIpD,qDAAqD;IACrD,gBAAgB,IAAI,aAAa;IAIjC,uDAAuD;IACvD,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAIlC,iEAAiE;IACjE,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAI/B,2FAA2F;IAC3F,MAAM,IAAI,MAAM;IAIhB,8EAA8E;IAC9E,IAAI,IAAI,MAAM;IAId,4FAA4F;IAC5F,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,qDAAqD;IACrD,aAAa,IAAI,MAAM;CAG1B;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { getHandle, registerWrapperClass, setHandle, t } from "@gtkx/runtime";
2
+ import { bindCairo, cairoGType, FONT_OPTIONS_FULL_T, FONT_OPTIONS_T } from "./lib.js";
3
+ const FONT_OPTIONS_TYPE = cairoGType("cairo_gobject_font_options_get_type");
4
+ const cairoFontOptionsCreate = bindCairo("cairo_font_options_create", [], FONT_OPTIONS_FULL_T);
5
+ const cairoFontOptionsCopy = bindCairo("cairo_font_options_copy", [FONT_OPTIONS_T], FONT_OPTIONS_FULL_T);
6
+ const cairoFontOptionsSetHintStyle = bindCairo("cairo_font_options_set_hint_style", [FONT_OPTIONS_T, t.int32], t.void);
7
+ const cairoFontOptionsGetHintStyle = bindCairo("cairo_font_options_get_hint_style", [FONT_OPTIONS_T], t.int32);
8
+ const cairoFontOptionsSetAntialias = bindCairo("cairo_font_options_set_antialias", [FONT_OPTIONS_T, t.int32], t.void);
9
+ const cairoFontOptionsGetAntialias = bindCairo("cairo_font_options_get_antialias", [FONT_OPTIONS_T], t.int32);
10
+ const cairoFontOptionsGetHintMetrics = bindCairo("cairo_font_options_get_hint_metrics", [FONT_OPTIONS_T], t.int32);
11
+ const cairoFontOptionsEqual = bindCairo("cairo_font_options_equal", [FONT_OPTIONS_T, FONT_OPTIONS_T], t.boolean);
12
+ const cairoFontOptionsMerge = bindCairo("cairo_font_options_merge", [FONT_OPTIONS_T, FONT_OPTIONS_T], t.void);
13
+ const cairoFontOptionsStatus = bindCairo("cairo_font_options_status", [FONT_OPTIONS_T], t.int32);
14
+ const cairoFontOptionsHash = bindCairo("cairo_font_options_hash", [FONT_OPTIONS_T], t.uint64);
15
+ const cairoFontOptionsGetVariations = bindCairo("cairo_font_options_get_variations", [FONT_OPTIONS_T], t.string("borrowed"));
16
+ const cairoFontOptionsSetVariations = bindCairo("cairo_font_options_set_variations", [FONT_OPTIONS_T, t.string("full")], t.void);
17
+ const cairoFontOptionsSetHintMetrics = bindCairo("cairo_font_options_set_hint_metrics", [FONT_OPTIONS_T, t.int32], t.void);
18
+ const cairoFontOptionsSetSubpixelOrder = bindCairo("cairo_font_options_set_subpixel_order", [FONT_OPTIONS_T, t.int32], t.void);
19
+ const cairoFontOptionsGetSubpixelOrder = bindCairo("cairo_font_options_get_subpixel_order", [FONT_OPTIONS_T], t.int32);
20
+ /**
21
+ * Cairo font options (`cairo_font_options_t`): the rendering settings applied to text, such as antialiasing,
22
+ * hinting and font variations.
23
+ */
24
+ class FontOptions {
25
+ static {
26
+ registerWrapperClass(this, FONT_OPTIONS_TYPE);
27
+ }
28
+ /** Creates a set of font options with all settings at their defaults, the same as `new FontOptions()`. */
29
+ static create() {
30
+ return new FontOptions();
31
+ }
32
+ /** Creates a set of font options: a copy of `other` when given, otherwise all settings at their defaults. */
33
+ constructor(other) {
34
+ const handle = other === undefined ? cairoFontOptionsCreate() : cairoFontOptionsCopy(getHandle(other));
35
+ setHandle(this, handle);
36
+ }
37
+ /** Sets how outlines are fitted to the pixel grid. */
38
+ setHintStyle(hintStyle) {
39
+ cairoFontOptionsSetHintStyle(getHandle(this), hintStyle);
40
+ }
41
+ /** Returns how outlines are fitted to the pixel grid. */
42
+ getHintStyle() {
43
+ return cairoFontOptionsGetHintStyle(getHandle(this));
44
+ }
45
+ /** Sets the antialiasing mode used for text. */
46
+ setAntialias(antialias) {
47
+ cairoFontOptionsSetAntialias(getHandle(this), antialias);
48
+ }
49
+ /** Returns the antialiasing mode used for text. */
50
+ getAntialias() {
51
+ return cairoFontOptionsGetAntialias(getHandle(this));
52
+ }
53
+ /** Sets whether font metrics are quantized to integer pixels. */
54
+ setHintMetrics(hintMetrics) {
55
+ cairoFontOptionsSetHintMetrics(getHandle(this), hintMetrics);
56
+ }
57
+ /** Returns whether font metrics are quantized to integer pixels. */
58
+ getHintMetrics() {
59
+ return cairoFontOptionsGetHintMetrics(getHandle(this));
60
+ }
61
+ /** Sets the order of subpixels on the display, used by subpixel antialiasing. */
62
+ setSubpixelOrder(subpixelOrder) {
63
+ cairoFontOptionsSetSubpixelOrder(getHandle(this), subpixelOrder);
64
+ }
65
+ /** Returns the order of subpixels on the display. */
66
+ getSubpixelOrder() {
67
+ return cairoFontOptionsGetSubpixelOrder(getHandle(this));
68
+ }
69
+ /** Returns whether `other` holds the same settings. */
70
+ equal(other) {
71
+ return cairoFontOptionsEqual(getHandle(this), getHandle(other));
72
+ }
73
+ /** Copies every non-default setting of `other` over this one. */
74
+ merge(other) {
75
+ cairoFontOptionsMerge(getHandle(this), getHandle(other));
76
+ }
77
+ /** Returns the error status of the font options, `Status.SUCCESS` when they are usable. */
78
+ status() {
79
+ return cairoFontOptionsStatus(getHandle(this));
80
+ }
81
+ /** Returns a hash of the settings, equal for options that compare `equal`. */
82
+ hash() {
83
+ return cairoFontOptionsHash(getHandle(this));
84
+ }
85
+ /** Sets the OpenType font variations to apply, as a comma-separated `axis=value` string. */
86
+ setVariations(variations) {
87
+ cairoFontOptionsSetVariations(getHandle(this), variations);
88
+ }
89
+ /** Returns the OpenType font variations to apply. */
90
+ getVariations() {
91
+ return cairoFontOptionsGetVariations(getHandle(this));
92
+ }
93
+ }
94
+ export { FontOptions };
95
+ //# sourceMappingURL=font-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"font-options.js","sourceRoot":"","sources":["../src/font-options.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ExternalObject, getHandle, type Handle, registerWrapperClass, setHandle, t } from \"@gtkx/runtime\";\nimport type { Antialias, HintMetrics, HintStyle, Status, SubpixelOrder } from \"./enums.js\";\nimport { bindCairo, cairoGType, FONT_OPTIONS_FULL_T, FONT_OPTIONS_T } from \"./lib.js\";\n\nconst FONT_OPTIONS_TYPE = cairoGType(\"cairo_gobject_font_options_get_type\");\nconst cairoFontOptionsCreate = bindCairo(\"cairo_font_options_create\", [], FONT_OPTIONS_FULL_T);\nconst cairoFontOptionsCopy = bindCairo(\"cairo_font_options_copy\", [FONT_OPTIONS_T], FONT_OPTIONS_FULL_T);\nconst cairoFontOptionsSetHintStyle = bindCairo(\"cairo_font_options_set_hint_style\", [FONT_OPTIONS_T, t.int32], t.void);\nconst cairoFontOptionsGetHintStyle = bindCairo(\"cairo_font_options_get_hint_style\", [FONT_OPTIONS_T], t.int32);\nconst cairoFontOptionsSetAntialias = bindCairo(\"cairo_font_options_set_antialias\", [FONT_OPTIONS_T, t.int32], t.void);\nconst cairoFontOptionsGetAntialias = bindCairo(\"cairo_font_options_get_antialias\", [FONT_OPTIONS_T], t.int32);\nconst cairoFontOptionsGetHintMetrics = bindCairo(\"cairo_font_options_get_hint_metrics\", [FONT_OPTIONS_T], t.int32);\nconst cairoFontOptionsEqual = bindCairo(\"cairo_font_options_equal\", [FONT_OPTIONS_T, FONT_OPTIONS_T], t.boolean);\nconst cairoFontOptionsMerge = bindCairo(\"cairo_font_options_merge\", [FONT_OPTIONS_T, FONT_OPTIONS_T], t.void);\nconst cairoFontOptionsStatus = bindCairo(\"cairo_font_options_status\", [FONT_OPTIONS_T], t.int32);\nconst cairoFontOptionsHash = bindCairo(\"cairo_font_options_hash\", [FONT_OPTIONS_T], t.uint64);\n\nconst cairoFontOptionsGetVariations = bindCairo(\n \"cairo_font_options_get_variations\",\n [FONT_OPTIONS_T],\n t.string(\"borrowed\"),\n);\n\nconst cairoFontOptionsSetVariations = bindCairo(\n \"cairo_font_options_set_variations\",\n [FONT_OPTIONS_T, t.string(\"full\")],\n t.void,\n);\n\nconst cairoFontOptionsSetHintMetrics = bindCairo(\n \"cairo_font_options_set_hint_metrics\",\n [FONT_OPTIONS_T, t.int32],\n t.void,\n);\n\nconst cairoFontOptionsSetSubpixelOrder = bindCairo(\n \"cairo_font_options_set_subpixel_order\",\n [FONT_OPTIONS_T, t.int32],\n t.void,\n);\n\nconst cairoFontOptionsGetSubpixelOrder = bindCairo(\n \"cairo_font_options_get_subpixel_order\",\n [FONT_OPTIONS_T],\n t.int32,\n);\n\n/**\n * Cairo font options (`cairo_font_options_t`): the rendering settings applied to text, such as antialiasing,\n * hinting and font variations.\n */\nclass FontOptions {\n static {\n registerWrapperClass(this, FONT_OPTIONS_TYPE);\n }\n\n /** Creates a set of font options with all settings at their defaults, the same as `new FontOptions()`. */\n static create(): FontOptions {\n return new FontOptions();\n }\n\n /** GType of `CairoFontOptions`, the boxed type this class is registered under. */\n declare __type__: bigint;\n\n /** Creates a set of font options: a copy of `other` when given, otherwise all settings at their defaults. */\n constructor(other?: FontOptions) {\n const handle = other === undefined ? cairoFontOptionsCreate() : cairoFontOptionsCopy(getHandle(other));\n setHandle(this, handle as ExternalObject<Handle>);\n }\n\n /** Sets how outlines are fitted to the pixel grid. */\n setHintStyle(hintStyle: HintStyle): void {\n cairoFontOptionsSetHintStyle(getHandle(this), hintStyle);\n }\n\n /** Returns how outlines are fitted to the pixel grid. */\n getHintStyle(): HintStyle {\n return cairoFontOptionsGetHintStyle(getHandle(this)) as HintStyle;\n }\n\n /** Sets the antialiasing mode used for text. */\n setAntialias(antialias: Antialias): void {\n cairoFontOptionsSetAntialias(getHandle(this), antialias);\n }\n\n /** Returns the antialiasing mode used for text. */\n getAntialias(): Antialias {\n return cairoFontOptionsGetAntialias(getHandle(this)) as Antialias;\n }\n\n /** Sets whether font metrics are quantized to integer pixels. */\n setHintMetrics(hintMetrics: HintMetrics): void {\n cairoFontOptionsSetHintMetrics(getHandle(this), hintMetrics);\n }\n\n /** Returns whether font metrics are quantized to integer pixels. */\n getHintMetrics(): HintMetrics {\n return cairoFontOptionsGetHintMetrics(getHandle(this)) as HintMetrics;\n }\n\n /** Sets the order of subpixels on the display, used by subpixel antialiasing. */\n setSubpixelOrder(subpixelOrder: SubpixelOrder): void {\n cairoFontOptionsSetSubpixelOrder(getHandle(this), subpixelOrder);\n }\n\n /** Returns the order of subpixels on the display. */\n getSubpixelOrder(): SubpixelOrder {\n return cairoFontOptionsGetSubpixelOrder(getHandle(this)) as SubpixelOrder;\n }\n\n /** Returns whether `other` holds the same settings. */\n equal(other: FontOptions): boolean {\n return cairoFontOptionsEqual(getHandle(this), getHandle(other)) as boolean;\n }\n\n /** Copies every non-default setting of `other` over this one. */\n merge(other: FontOptions): void {\n cairoFontOptionsMerge(getHandle(this), getHandle(other));\n }\n\n /** Returns the error status of the font options, `Status.SUCCESS` when they are usable. */\n status(): Status {\n return cairoFontOptionsStatus(getHandle(this)) as Status;\n }\n\n /** Returns a hash of the settings, equal for options that compare `equal`. */\n hash(): number {\n return cairoFontOptionsHash(getHandle(this)) as number;\n }\n\n /** Sets the OpenType font variations to apply, as a comma-separated `axis=value` string. */\n setVariations(variations: string): void {\n cairoFontOptionsSetVariations(getHandle(this), variations);\n }\n\n /** Returns the OpenType font variations to apply. */\n getVariations(): string {\n return cairoFontOptionsGetVariations(getHandle(this)) as string;\n }\n}\n\nexport { FontOptions };\n"]}
@@ -0,0 +1,29 @@
1
+ /** @public */
2
+ export { Context } from "./context.js";
3
+ /** @public */
4
+ export { Device } from "./device.js";
5
+ /** @public */
6
+ export * from "./enums.js";
7
+ /** @public */
8
+ export { FontFace, FtFontFace, FtSynthesize, ToyFontFace } from "./font-face.js";
9
+ /** @public */
10
+ export { FontOptions } from "./font-options.js";
11
+ /** @public */
12
+ export { Matrix } from "./matrix.js";
13
+ /** @public */
14
+ export { Path } from "./path.js";
15
+ /** @public */
16
+ export { LinearPattern, MeshPattern, Pattern, RadialPattern } from "./pattern.js";
17
+ /** @public */
18
+ export { Region } from "./region.js";
19
+ /** @public */
20
+ export { ScaledFont } from "./scaled-font.js";
21
+ /** @public */
22
+ export * from "./structs.js";
23
+ /** @public */
24
+ export { ImageSurface, RecordingSurface, Surface } from "./surface.js";
25
+ /** @public */
26
+ export type * from "./types.js";
27
+ /** @public */
28
+ export { statusToString, version, versionString } from "./version.js";
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,cAAc;AACd,cAAc,YAAY,CAAC;AAC3B,cAAc;AACd,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjF,cAAc;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,cAAc;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,cAAc;AACd,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClF,cAAc;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,cAAc;AACd,cAAc,cAAc,CAAC;AAC7B,cAAc;AACd,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvE,cAAc;AACd,mBAAmB,YAAY,CAAC;AAChC,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,27 @@
1
+ /** @public */
2
+ export { Context } from "./context.js";
3
+ /** @public */
4
+ export { Device } from "./device.js";
5
+ /** @public */
6
+ export * from "./enums.js";
7
+ /** @public */
8
+ export { FontFace, FtFontFace, FtSynthesize, ToyFontFace } from "./font-face.js";
9
+ /** @public */
10
+ export { FontOptions } from "./font-options.js";
11
+ /** @public */
12
+ export { Matrix } from "./matrix.js";
13
+ /** @public */
14
+ export { Path } from "./path.js";
15
+ /** @public */
16
+ export { LinearPattern, MeshPattern, Pattern, RadialPattern } from "./pattern.js";
17
+ /** @public */
18
+ export { Region } from "./region.js";
19
+ /** @public */
20
+ export { ScaledFont } from "./scaled-font.js";
21
+ /** @public */
22
+ export * from "./structs.js";
23
+ /** @public */
24
+ export { ImageSurface, RecordingSurface, Surface } from "./surface.js";
25
+ /** @public */
26
+ export { statusToString, version, versionString } from "./version.js";
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,cAAc;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,cAAc;AACd,cAAc,YAAY,CAAC;AAC3B,cAAc;AACd,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACjF,cAAc;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,cAAc;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,cAAc;AACd,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,cAAc;AACd,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClF,cAAc;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,cAAc;AACd,cAAc,cAAc,CAAC;AAC7B,cAAc;AACd,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvE,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC","sourcesContent":["/** @public */\nexport { Context } from \"./context.js\";\n/** @public */\nexport { Device } from \"./device.js\";\n/** @public */\nexport * from \"./enums.js\";\n/** @public */\nexport { FontFace, FtFontFace, FtSynthesize, ToyFontFace } from \"./font-face.js\";\n/** @public */\nexport { FontOptions } from \"./font-options.js\";\n/** @public */\nexport { Matrix } from \"./matrix.js\";\n/** @public */\nexport { Path } from \"./path.js\";\n/** @public */\nexport { LinearPattern, MeshPattern, Pattern, RadialPattern } from \"./pattern.js\";\n/** @public */\nexport { Region } from \"./region.js\";\n/** @public */\nexport { ScaledFont } from \"./scaled-font.js\";\n/** @public */\nexport * from \"./structs.js\";\n/** @public */\nexport { ImageSurface, RecordingSurface, Surface } from \"./surface.js\";\n/** @public */\nexport type * from \"./types.js\";\n/** @public */\nexport { statusToString, version, versionString } from \"./version.js\";\n"]}
package/dist/lib.d.ts ADDED
@@ -0,0 +1,36 @@
1
+ import { t } from "@gtkx/runtime";
2
+ type Descriptor = Parameters<typeof t.bind>[3];
3
+ type BoundFunction = ReturnType<typeof t.bind>;
4
+ type BoxedDescriptor = ReturnType<typeof t.boxed>;
5
+ declare const CONTEXT_T: BoxedDescriptor;
6
+ declare const CONTEXT_FULL_T: BoxedDescriptor;
7
+ declare const SURFACE_T: BoxedDescriptor;
8
+ declare const SURFACE_FULL_T: BoxedDescriptor;
9
+ declare const DEVICE_T: BoxedDescriptor;
10
+ declare const PATTERN_T: BoxedDescriptor;
11
+ declare const PATTERN_FULL_T: BoxedDescriptor;
12
+ declare const REGION_T: BoxedDescriptor;
13
+ declare const REGION_FULL_T: BoxedDescriptor;
14
+ declare const FONT_OPTIONS_T: BoxedDescriptor;
15
+ declare const FONT_OPTIONS_FULL_T: BoxedDescriptor;
16
+ declare const FONT_FACE_T: BoxedDescriptor;
17
+ declare const FONT_FACE_FULL_T: BoxedDescriptor;
18
+ declare const SCALED_FONT_T: BoxedDescriptor;
19
+ declare const SCALED_FONT_FULL_T: BoxedDescriptor;
20
+ declare const FC_PATTERN_T: BoxedDescriptor;
21
+ declare const FT_FACE_T: BoxedDescriptor;
22
+ declare const MATRIX_T: BoxedDescriptor;
23
+ declare const RECTANGLE_T: BoxedDescriptor;
24
+ declare const RECTANGLE_INT_T: BoxedDescriptor;
25
+ declare const RECTANGLE_INT_ARRAY_T: BoxedDescriptor;
26
+ declare const RECTANGLE_LIST_T: BoxedDescriptor;
27
+ declare const GLYPH_T: BoxedDescriptor;
28
+ declare const TEXT_CLUSTER_T: BoxedDescriptor;
29
+ declare const TEXT_EXTENTS_T: BoxedDescriptor;
30
+ declare const FONT_EXTENTS_T: BoxedDescriptor;
31
+ declare const PATH_T: BoxedDescriptor;
32
+ declare const DOUBLE_BUFFER_T: BoxedDescriptor;
33
+ declare const bindCairo: (symbol: string, args: Descriptor[], returns: Descriptor) => BoundFunction;
34
+ declare const cairoGType: (typeSymbol: string) => bigint;
35
+ export { bindCairo, type BoundFunction, cairoGType, CONTEXT_FULL_T, CONTEXT_T, DEVICE_T, DOUBLE_BUFFER_T, FC_PATTERN_T, FONT_EXTENTS_T, FONT_FACE_FULL_T, FONT_FACE_T, FONT_OPTIONS_FULL_T, FONT_OPTIONS_T, FT_FACE_T, GLYPH_T, MATRIX_T, PATH_T, PATTERN_FULL_T, PATTERN_T, RECTANGLE_INT_ARRAY_T, RECTANGLE_INT_T, RECTANGLE_LIST_T, RECTANGLE_T, REGION_FULL_T, REGION_T, SCALED_FONT_FULL_T, SCALED_FONT_T, SURFACE_FULL_T, SURFACE_T, TEXT_CLUSTER_T, TEXT_EXTENTS_T, };
36
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,CAAC,EAAE,MAAM,eAAe,CAAC;AAE/C,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAKlD,QAAA,MAAM,SAAS,EAAE,eAIf,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,eAIpB,CAAC;AAEH,QAAA,MAAM,SAAS,EAAE,eAIf,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,eAIpB,CAAC;AAEH,QAAA,MAAM,QAAQ,EAAE,eAId,CAAC;AAEH,QAAA,MAAM,SAAS,EAAE,eAIf,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,eAIpB,CAAC;AAEH,QAAA,MAAM,QAAQ,EAAE,eAId,CAAC;AAEH,QAAA,MAAM,aAAa,EAAE,eAInB,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,eAIpB,CAAC;AAEH,QAAA,MAAM,mBAAmB,EAAE,eAIzB,CAAC;AAEH,QAAA,MAAM,WAAW,EAAE,eAIjB,CAAC;AAEH,QAAA,MAAM,gBAAgB,EAAE,eAItB,CAAC;AAEH,QAAA,MAAM,aAAa,EAAE,eAInB,CAAC;AAEH,QAAA,MAAM,kBAAkB,EAAE,eAIxB,CAAC;AAEH,QAAA,MAAM,YAAY,EAAE,eAA+F,CAAC;AACpH,QAAA,MAAM,SAAS,EAAE,eAA6F,CAAC;AAC/G,QAAA,MAAM,QAAQ,EAAE,eAAoG,CAAC;AAErH,QAAA,MAAM,WAAW,EAAE,eAGjB,CAAC;AAEH,QAAA,MAAM,eAAe,EAAE,eAGrB,CAAC;AAEH,QAAA,MAAM,qBAAqB,EAAE,eAG3B,CAAC;AAEH,QAAA,MAAM,gBAAgB,EAAE,eAGtB,CAAC;AAEH,QAAA,MAAM,OAAO,EAAE,eAAmG,CAAC;AAEnH,QAAA,MAAM,cAAc,EAAE,eAGpB,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,eAGpB,CAAC;AAEH,QAAA,MAAM,cAAc,EAAE,eAGpB,CAAC;AAEH,QAAA,MAAM,MAAM,EAAE,eAIZ,CAAC;AAEH,QAAA,MAAM,eAAe,EAAE,eAA8F,CAAC;AAEtH,QAAA,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,MAAM,UAAU,EAAE,EAAE,SAAS,UAAU,KAAG,aAC7B,CAAC;AAEjD,QAAA,MAAM,UAAU,GAAI,YAAY,MAAM,KAAG,MAAwD,CAAC;AAElG,OAAO,EACH,SAAS,EACT,KAAK,aAAa,EAClB,UAAU,EACV,cAAc,EACd,SAAS,EACT,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,SAAS,EACT,cAAc,EACd,cAAc,GACjB,CAAC"}
package/dist/lib.js ADDED
@@ -0,0 +1,120 @@
1
+ import { resolveType, t } from "@gtkx/runtime";
2
+ const CAIRO_LIBRARY = "libcairo.so.2";
3
+ const CAIRO_GOBJECT_LIBRARY = "libcairo-gobject.so.2";
4
+ const CONTEXT_T = t.boxed("CairoContext", {
5
+ ownership: "borrowed",
6
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
7
+ getTypeFnName: "cairo_gobject_context_get_type",
8
+ });
9
+ const CONTEXT_FULL_T = t.boxed("CairoContext", {
10
+ ownership: "full",
11
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
12
+ getTypeFnName: "cairo_gobject_context_get_type",
13
+ });
14
+ const SURFACE_T = t.boxed("CairoSurface", {
15
+ ownership: "borrowed",
16
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
17
+ getTypeFnName: "cairo_gobject_surface_get_type",
18
+ });
19
+ const SURFACE_FULL_T = t.boxed("CairoSurface", {
20
+ ownership: "full",
21
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
22
+ getTypeFnName: "cairo_gobject_surface_get_type",
23
+ });
24
+ const DEVICE_T = t.boxed("CairoDevice", {
25
+ ownership: "borrowed",
26
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
27
+ getTypeFnName: "cairo_gobject_device_get_type",
28
+ });
29
+ const PATTERN_T = t.boxed("CairoPattern", {
30
+ ownership: "borrowed",
31
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
32
+ getTypeFnName: "cairo_gobject_pattern_get_type",
33
+ });
34
+ const PATTERN_FULL_T = t.boxed("CairoPattern", {
35
+ ownership: "full",
36
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
37
+ getTypeFnName: "cairo_gobject_pattern_get_type",
38
+ });
39
+ const REGION_T = t.boxed("CairoRegion", {
40
+ ownership: "borrowed",
41
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
42
+ getTypeFnName: "cairo_gobject_region_get_type",
43
+ });
44
+ const REGION_FULL_T = t.boxed("CairoRegion", {
45
+ ownership: "full",
46
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
47
+ getTypeFnName: "cairo_gobject_region_get_type",
48
+ });
49
+ const FONT_OPTIONS_T = t.boxed("CairoFontOptions", {
50
+ ownership: "borrowed",
51
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
52
+ getTypeFnName: "cairo_gobject_font_options_get_type",
53
+ });
54
+ const FONT_OPTIONS_FULL_T = t.boxed("CairoFontOptions", {
55
+ ownership: "full",
56
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
57
+ getTypeFnName: "cairo_gobject_font_options_get_type",
58
+ });
59
+ const FONT_FACE_T = t.boxed("CairoFontFace", {
60
+ ownership: "borrowed",
61
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
62
+ getTypeFnName: "cairo_gobject_font_face_get_type",
63
+ });
64
+ const FONT_FACE_FULL_T = t.boxed("CairoFontFace", {
65
+ ownership: "full",
66
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
67
+ getTypeFnName: "cairo_gobject_font_face_get_type",
68
+ });
69
+ const SCALED_FONT_T = t.boxed("CairoScaledFont", {
70
+ ownership: "borrowed",
71
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
72
+ getTypeFnName: "cairo_gobject_scaled_font_get_type",
73
+ });
74
+ const SCALED_FONT_FULL_T = t.boxed("CairoScaledFont", {
75
+ ownership: "full",
76
+ sharedLibrary: CAIRO_GOBJECT_LIBRARY,
77
+ getTypeFnName: "cairo_gobject_scaled_font_get_type",
78
+ });
79
+ const FC_PATTERN_T = t.boxed("FcPattern", { ownership: "borrowed", sharedLibrary: CAIRO_LIBRARY });
80
+ const FT_FACE_T = t.boxed("FT_Face", { ownership: "borrowed", sharedLibrary: CAIRO_LIBRARY });
81
+ const MATRIX_T = t.boxed("cairo_matrix_t", { ownership: "borrowed", sharedLibrary: CAIRO_LIBRARY });
82
+ const RECTANGLE_T = t.boxed("cairo_rectangle_t", {
83
+ ownership: "borrowed",
84
+ sharedLibrary: CAIRO_LIBRARY,
85
+ });
86
+ const RECTANGLE_INT_T = t.boxed("cairo_rectangle_int_t", {
87
+ ownership: "borrowed",
88
+ sharedLibrary: CAIRO_LIBRARY,
89
+ });
90
+ const RECTANGLE_INT_ARRAY_T = t.boxed("cairo_rectangle_int_t[]", {
91
+ ownership: "borrowed",
92
+ sharedLibrary: CAIRO_LIBRARY,
93
+ });
94
+ const RECTANGLE_LIST_T = t.boxed("cairo_rectangle_list_t", {
95
+ ownership: "borrowed",
96
+ sharedLibrary: CAIRO_LIBRARY,
97
+ });
98
+ const GLYPH_T = t.boxed("cairo_glyph_t", { ownership: "borrowed", sharedLibrary: CAIRO_LIBRARY });
99
+ const TEXT_CLUSTER_T = t.boxed("cairo_text_cluster_t", {
100
+ ownership: "borrowed",
101
+ sharedLibrary: CAIRO_LIBRARY,
102
+ });
103
+ const TEXT_EXTENTS_T = t.boxed("cairo_text_extents_t", {
104
+ ownership: "borrowed",
105
+ sharedLibrary: CAIRO_LIBRARY,
106
+ });
107
+ const FONT_EXTENTS_T = t.boxed("cairo_font_extents_t", {
108
+ ownership: "borrowed",
109
+ sharedLibrary: CAIRO_LIBRARY,
110
+ });
111
+ const PATH_T = t.boxed("cairo_path_t", {
112
+ ownership: "full",
113
+ sharedLibrary: CAIRO_LIBRARY,
114
+ freeFnName: "cairo_path_destroy",
115
+ });
116
+ const DOUBLE_BUFFER_T = t.boxed("double[]", { ownership: "borrowed", sharedLibrary: CAIRO_LIBRARY });
117
+ const bindCairo = (symbol, args, returns) => t.bind(CAIRO_LIBRARY, symbol, args, returns);
118
+ const cairoGType = (typeSymbol) => resolveType(CAIRO_GOBJECT_LIBRARY, typeSymbol);
119
+ export { bindCairo, cairoGType, CONTEXT_FULL_T, CONTEXT_T, DEVICE_T, DOUBLE_BUFFER_T, FC_PATTERN_T, FONT_EXTENTS_T, FONT_FACE_FULL_T, FONT_FACE_T, FONT_OPTIONS_FULL_T, FONT_OPTIONS_T, FT_FACE_T, GLYPH_T, MATRIX_T, PATH_T, PATTERN_FULL_T, PATTERN_T, RECTANGLE_INT_ARRAY_T, RECTANGLE_INT_T, RECTANGLE_LIST_T, RECTANGLE_T, REGION_FULL_T, REGION_T, SCALED_FONT_FULL_T, SCALED_FONT_T, SURFACE_FULL_T, SURFACE_T, TEXT_CLUSTER_T, TEXT_EXTENTS_T, };
120
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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","sourcesContent":["import { resolveType, t } from \"@gtkx/runtime\";\n\ntype Descriptor = Parameters<typeof t.bind>[3];\ntype BoundFunction = ReturnType<typeof t.bind>;\ntype BoxedDescriptor = ReturnType<typeof t.boxed>;\n\nconst CAIRO_LIBRARY = \"libcairo.so.2\";\nconst CAIRO_GOBJECT_LIBRARY = \"libcairo-gobject.so.2\";\n\nconst CONTEXT_T: BoxedDescriptor = t.boxed(\"CairoContext\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_context_get_type\",\n});\n\nconst CONTEXT_FULL_T: BoxedDescriptor = t.boxed(\"CairoContext\", {\n ownership: \"full\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_context_get_type\",\n});\n\nconst SURFACE_T: BoxedDescriptor = t.boxed(\"CairoSurface\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_surface_get_type\",\n});\n\nconst SURFACE_FULL_T: BoxedDescriptor = t.boxed(\"CairoSurface\", {\n ownership: \"full\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_surface_get_type\",\n});\n\nconst DEVICE_T: BoxedDescriptor = t.boxed(\"CairoDevice\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_device_get_type\",\n});\n\nconst PATTERN_T: BoxedDescriptor = t.boxed(\"CairoPattern\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_pattern_get_type\",\n});\n\nconst PATTERN_FULL_T: BoxedDescriptor = t.boxed(\"CairoPattern\", {\n ownership: \"full\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_pattern_get_type\",\n});\n\nconst REGION_T: BoxedDescriptor = t.boxed(\"CairoRegion\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_region_get_type\",\n});\n\nconst REGION_FULL_T: BoxedDescriptor = t.boxed(\"CairoRegion\", {\n ownership: \"full\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_region_get_type\",\n});\n\nconst FONT_OPTIONS_T: BoxedDescriptor = t.boxed(\"CairoFontOptions\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_font_options_get_type\",\n});\n\nconst FONT_OPTIONS_FULL_T: BoxedDescriptor = t.boxed(\"CairoFontOptions\", {\n ownership: \"full\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_font_options_get_type\",\n});\n\nconst FONT_FACE_T: BoxedDescriptor = t.boxed(\"CairoFontFace\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_font_face_get_type\",\n});\n\nconst FONT_FACE_FULL_T: BoxedDescriptor = t.boxed(\"CairoFontFace\", {\n ownership: \"full\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_font_face_get_type\",\n});\n\nconst SCALED_FONT_T: BoxedDescriptor = t.boxed(\"CairoScaledFont\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_scaled_font_get_type\",\n});\n\nconst SCALED_FONT_FULL_T: BoxedDescriptor = t.boxed(\"CairoScaledFont\", {\n ownership: \"full\",\n sharedLibrary: CAIRO_GOBJECT_LIBRARY,\n getTypeFnName: \"cairo_gobject_scaled_font_get_type\",\n});\n\nconst FC_PATTERN_T: BoxedDescriptor = t.boxed(\"FcPattern\", { ownership: \"borrowed\", sharedLibrary: CAIRO_LIBRARY });\nconst FT_FACE_T: BoxedDescriptor = t.boxed(\"FT_Face\", { ownership: \"borrowed\", sharedLibrary: CAIRO_LIBRARY });\nconst MATRIX_T: BoxedDescriptor = t.boxed(\"cairo_matrix_t\", { ownership: \"borrowed\", sharedLibrary: CAIRO_LIBRARY });\n\nconst RECTANGLE_T: BoxedDescriptor = t.boxed(\"cairo_rectangle_t\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_LIBRARY,\n});\n\nconst RECTANGLE_INT_T: BoxedDescriptor = t.boxed(\"cairo_rectangle_int_t\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_LIBRARY,\n});\n\nconst RECTANGLE_INT_ARRAY_T: BoxedDescriptor = t.boxed(\"cairo_rectangle_int_t[]\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_LIBRARY,\n});\n\nconst RECTANGLE_LIST_T: BoxedDescriptor = t.boxed(\"cairo_rectangle_list_t\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_LIBRARY,\n});\n\nconst GLYPH_T: BoxedDescriptor = t.boxed(\"cairo_glyph_t\", { ownership: \"borrowed\", sharedLibrary: CAIRO_LIBRARY });\n\nconst TEXT_CLUSTER_T: BoxedDescriptor = t.boxed(\"cairo_text_cluster_t\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_LIBRARY,\n});\n\nconst TEXT_EXTENTS_T: BoxedDescriptor = t.boxed(\"cairo_text_extents_t\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_LIBRARY,\n});\n\nconst FONT_EXTENTS_T: BoxedDescriptor = t.boxed(\"cairo_font_extents_t\", {\n ownership: \"borrowed\",\n sharedLibrary: CAIRO_LIBRARY,\n});\n\nconst PATH_T: BoxedDescriptor = t.boxed(\"cairo_path_t\", {\n ownership: \"full\",\n sharedLibrary: CAIRO_LIBRARY,\n freeFnName: \"cairo_path_destroy\",\n});\n\nconst DOUBLE_BUFFER_T: BoxedDescriptor = t.boxed(\"double[]\", { ownership: \"borrowed\", sharedLibrary: CAIRO_LIBRARY });\n\nconst bindCairo = (symbol: string, args: Descriptor[], returns: Descriptor): BoundFunction =>\n t.bind(CAIRO_LIBRARY, symbol, args, returns);\n\nconst cairoGType = (typeSymbol: string): bigint => resolveType(CAIRO_GOBJECT_LIBRARY, typeSymbol);\n\nexport {\n bindCairo,\n type BoundFunction,\n cairoGType,\n CONTEXT_FULL_T,\n CONTEXT_T,\n DEVICE_T,\n DOUBLE_BUFFER_T,\n FC_PATTERN_T,\n FONT_EXTENTS_T,\n FONT_FACE_FULL_T,\n FONT_FACE_T,\n FONT_OPTIONS_FULL_T,\n FONT_OPTIONS_T,\n FT_FACE_T,\n GLYPH_T,\n MATRIX_T,\n PATH_T,\n PATTERN_FULL_T,\n PATTERN_T,\n RECTANGLE_INT_ARRAY_T,\n RECTANGLE_INT_T,\n RECTANGLE_LIST_T,\n RECTANGLE_T,\n REGION_FULL_T,\n REGION_T,\n SCALED_FONT_FULL_T,\n SCALED_FONT_T,\n SURFACE_FULL_T,\n SURFACE_T,\n TEXT_CLUSTER_T,\n TEXT_EXTENTS_T,\n};\n"]}
@@ -0,0 +1,40 @@
1
+ import { type ExternalObject, type Handle } from "@gtkx/runtime";
2
+ import type { Status } from "./enums.js";
3
+ import type { Distance, Point } from "./types.js";
4
+ type MatrixAllocation = {
5
+ handle: ExternalObject<Handle>;
6
+ matrix: Matrix;
7
+ };
8
+ declare const allocMatrix: () => MatrixAllocation;
9
+ /**
10
+ * An affine transformation (`cairo_matrix_t`) mapping user space to device space:
11
+ * `x' = xx * x + xy * y + x0` and `y' = yx * x + yy * y + y0`.
12
+ */
13
+ declare class Matrix {
14
+ /** Returns the identity transformation. */
15
+ static initIdentity(): Matrix;
16
+ /** Returns a transformation translating by `tx` and `ty`. */
17
+ static initTranslate(tx: number, ty: number): Matrix;
18
+ /** Returns a transformation scaling by `sx` and `sy`. */
19
+ static initScale(sx: number, sy: number): Matrix;
20
+ /** Returns a transformation rotating by `radians`, positive angles turning from the X axis toward the Y axis. */
21
+ static initRotate(radians: number): Matrix;
22
+ /** Returns the product of `a` and `b`: the transformation that applies `a` first, then `b`. */
23
+ static multiply(a: Matrix, b: Matrix): Matrix;
24
+ /** Creates a matrix from its six affine components. */
25
+ constructor(xx: number, yx: number, xy: number, yy: number, x0: number, y0: number);
26
+ /** Applies a translation by `tx` and `ty` before the existing transformation. */
27
+ translate(tx: number, ty: number): void;
28
+ /** Applies a scaling by `sx` and `sy` before the existing transformation. */
29
+ scale(sx: number, sy: number): void;
30
+ /** Applies a rotation by `radians` before the existing transformation. */
31
+ rotate(radians: number): void;
32
+ /** Replaces the matrix with its inverse, returning `Status.INVALID_MATRIX` when it has none. */
33
+ invert(): Status;
34
+ /** Transforms the point `(x, y)`, translation included. */
35
+ transformPoint(x: number, y: number): Point;
36
+ /** Transforms the distance vector `(dx, dy)`, ignoring translation. */
37
+ transformDistance(dx: number, dy: number): Distance;
38
+ }
39
+ export { allocMatrix, Matrix };
40
+ //# sourceMappingURL=matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../src/matrix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,cAAc,EAAa,KAAK,MAAM,EAA4B,MAAM,eAAe,CAAC;AAC7G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGlD,KAAK,gBAAgB,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAgC3E,QAAA,MAAM,WAAW,QAAO,gBAIvB,CAAC;AAEF;;;GAGG;AACH,cAAM,MAAM;IACR,2CAA2C;IAC3C,MAAM,CAAC,YAAY,IAAI,MAAM;IAO7B,6DAA6D;IAC7D,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAOpD,yDAAyD;IACzD,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAOhD,iHAAiH;IACjH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO1C,+FAA+F;IAC/F,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAO7C,uDAAuD;gBAC3C,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAMlF,iFAAiF;IACjF,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAIvC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAInC,0EAA0E;IAC1E,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7B,gGAAgG;IAChG,MAAM,IAAI,MAAM;IAIhB,2DAA2D;IAC3D,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK;IAQ3C,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ;CAOtD;AAED,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC"}