@sudobility/music_drawing 0.0.7 → 0.0.11

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 (50) hide show
  1. package/dist/canvas-renderer.d.ts +5 -1
  2. package/dist/canvas-renderer.d.ts.map +1 -1
  3. package/dist/canvas-renderer.js +54 -25
  4. package/dist/canvas-renderer.js.map +1 -1
  5. package/dist/drawing-context.d.ts +109 -0
  6. package/dist/drawing-context.d.ts.map +1 -0
  7. package/dist/drawing-context.js +23 -0
  8. package/dist/drawing-context.js.map +1 -0
  9. package/dist/icon-canvas.d.ts +2 -1
  10. package/dist/icon-canvas.d.ts.map +1 -1
  11. package/dist/icon-canvas.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/measure-content.d.ts.map +1 -1
  17. package/dist/measure-content.js.map +1 -1
  18. package/dist/skia/css-font.d.ts +24 -0
  19. package/dist/skia/css-font.d.ts.map +1 -0
  20. package/dist/skia/css-font.js +100 -0
  21. package/dist/skia/css-font.js.map +1 -0
  22. package/dist/skia/index.d.ts +17 -0
  23. package/dist/skia/index.d.ts.map +1 -0
  24. package/dist/skia/index.js +14 -0
  25. package/dist/skia/index.js.map +1 -0
  26. package/dist/skia/skia-api.d.ts +133 -0
  27. package/dist/skia/skia-api.d.ts.map +1 -0
  28. package/dist/skia/skia-api.js +28 -0
  29. package/dist/skia/skia-api.js.map +1 -0
  30. package/dist/skia/skia-context.d.ts +58 -0
  31. package/dist/skia/skia-context.d.ts.map +1 -0
  32. package/dist/skia/skia-context.js +394 -0
  33. package/dist/skia/skia-context.js.map +1 -0
  34. package/dist/test/canvas-stub.d.ts +5 -5
  35. package/dist/test/canvas-stub.d.ts.map +1 -1
  36. package/dist/test/canvas-stub.js +3 -4
  37. package/dist/test/canvas-stub.js.map +1 -1
  38. package/dist/test/fake-skia.d.ts +81 -0
  39. package/dist/test/fake-skia.d.ts.map +1 -0
  40. package/dist/test/fake-skia.js +228 -0
  41. package/dist/test/fake-skia.js.map +1 -0
  42. package/dist/test/index.d.ts +18 -0
  43. package/dist/test/index.d.ts.map +1 -0
  44. package/dist/test/index.js +16 -0
  45. package/dist/test/index.js.map +1 -0
  46. package/dist/types.d.ts +23 -0
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/types.js +35 -1
  49. package/dist/types.js.map +1 -1
  50. package/package.json +16 -6
@@ -1 +1 @@
1
- {"version":3,"file":"measure-content.js","sourceRoot":"","sources":["../src/measure-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"measure-content.js","sourceRoot":"","sources":["../src/measure-content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Reading `ctx.font`.
3
+ *
4
+ * The 2D API carries type as a CSS font shorthand string, and Skia wants a
5
+ * family name, a pixel size and a style. A browser resolves the shorthand with
6
+ * `document.createElement('span').style.font` — which is exactly what VexFlow's
7
+ * own `Font.fromCSSString` does, and exactly what is not available here.
8
+ *
9
+ * So this parses the subset that actually reaches the context: the three
10
+ * shorthands `canvas-renderer.ts` sets, and whatever `Font.toCSSString`
11
+ * produces, which is `<style> <weight> <size> <family>`. Anything richer than
12
+ * that (`font-variant`, `font-stretch`, system keywords like `menu`) falls back
13
+ * rather than throwing — a frame should not be lost to an unusual font string.
14
+ */
15
+ /** What Skia needs to pick a typeface and a size. */
16
+ export type ParsedFont = {
17
+ /** A single family name, unquoted. Skia matches one, not a fallback chain. */
18
+ family: string;
19
+ sizePx: number;
20
+ bold: boolean;
21
+ italic: boolean;
22
+ };
23
+ export declare function parseCssFont(font: string): ParsedFont;
24
+ //# sourceMappingURL=css-font.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-font.d.ts","sourceRoot":"","sources":["../../src/skia/css-font.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,qDAAqD;AACrD,MAAM,MAAM,UAAU,GAAG;IACvB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAgDF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA6CrD"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Reading `ctx.font`.
3
+ *
4
+ * The 2D API carries type as a CSS font shorthand string, and Skia wants a
5
+ * family name, a pixel size and a style. A browser resolves the shorthand with
6
+ * `document.createElement('span').style.font` — which is exactly what VexFlow's
7
+ * own `Font.fromCSSString` does, and exactly what is not available here.
8
+ *
9
+ * So this parses the subset that actually reaches the context: the three
10
+ * shorthands `canvas-renderer.ts` sets, and whatever `Font.toCSSString`
11
+ * produces, which is `<style> <weight> <size> <family>`. Anything richer than
12
+ * that (`font-variant`, `font-stretch`, system keywords like `menu`) falls back
13
+ * rather than throwing — a frame should not be lost to an unusual font string.
14
+ */
15
+ /** The CSS initial font size, used when a string cannot be read at all. */
16
+ const DEFAULT_SIZE_PX = 10;
17
+ const DEFAULT_FAMILY = 'sans-serif';
18
+ /** CSS reference pixels per point, and the assumed root font size for em/rem. */
19
+ const PX_PER_PT = 96 / 72;
20
+ const ROOT_FONT_SIZE_PX = 16;
21
+ /** 600 is where the CSS font-matching algorithm starts choosing bold faces. */
22
+ const BOLD_THRESHOLD = 600;
23
+ /**
24
+ * The unit is required: in the shorthand a bare number is a *weight*, so
25
+ * making it optional here reads `600 10px Arial` as a 600-pixel font.
26
+ */
27
+ const SIZE_PATTERN = /^([\d.]+)(px|pt|em|rem|%)(?:\/[\d.]+\w*)?$/;
28
+ function sizeToPx(value, unit) {
29
+ switch (unit) {
30
+ case 'px':
31
+ return value;
32
+ case 'pt':
33
+ return value * PX_PER_PT;
34
+ case 'em':
35
+ case 'rem':
36
+ return value * ROOT_FONT_SIZE_PX;
37
+ case '%':
38
+ return (value / 100) * ROOT_FONT_SIZE_PX;
39
+ default:
40
+ return null;
41
+ }
42
+ }
43
+ /**
44
+ * The first family in the list, unquoted.
45
+ *
46
+ * A browser walks a fallback chain; `SkFontMgr.matchFamilyStyle` takes one
47
+ * name and does its own substitution when it misses, so the rest of the chain
48
+ * has nowhere to go.
49
+ */
50
+ function firstFamily(text) {
51
+ const first = text.split(',')[0]?.trim() ?? '';
52
+ const unquoted = first.replace(/^['"]|['"]$/g, '').trim();
53
+ return unquoted.length > 0 ? unquoted : DEFAULT_FAMILY;
54
+ }
55
+ export function parseCssFont(font) {
56
+ const fallback = {
57
+ family: DEFAULT_FAMILY,
58
+ sizePx: DEFAULT_SIZE_PX,
59
+ bold: false,
60
+ italic: false,
61
+ };
62
+ const tokens = font.trim().split(/\s+/).filter(Boolean);
63
+ if (tokens.length === 0)
64
+ return fallback;
65
+ let bold = false;
66
+ let italic = false;
67
+ let sizePx = null;
68
+ let index = 0;
69
+ // Everything before the size is a style/variant/weight keyword; the size is
70
+ // the first token that parses as one, and the family is all that follows.
71
+ for (; index < tokens.length; index++) {
72
+ const token = tokens[index];
73
+ const size = SIZE_PATTERN.exec(token);
74
+ if (size) {
75
+ const parsed = sizeToPx(Number(size[1]), size[2]);
76
+ if (parsed !== null && Number.isFinite(parsed) && parsed > 0) {
77
+ sizePx = parsed;
78
+ index++;
79
+ }
80
+ break;
81
+ }
82
+ const keyword = token.toLowerCase();
83
+ if (keyword === 'italic' || keyword === 'oblique')
84
+ italic = true;
85
+ else if (keyword === 'bold' || keyword === 'bolder')
86
+ bold = true;
87
+ else if (/^\d+$/.test(keyword))
88
+ bold = Number(keyword) >= BOLD_THRESHOLD;
89
+ }
90
+ if (sizePx === null)
91
+ return fallback;
92
+ const family = tokens.slice(index).join(' ');
93
+ return {
94
+ family: family.length > 0 ? firstFamily(family) : DEFAULT_FAMILY,
95
+ sizePx,
96
+ bold,
97
+ italic,
98
+ };
99
+ }
100
+ //# sourceMappingURL=css-font.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-font.js","sourceRoot":"","sources":["../../src/skia/css-font.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `@sudobility/music_drawing/skia` — React Native support.
3
+ *
4
+ * A `DrawingContext2D` backed by a Skia canvas, so the same renderer that
5
+ * paints the editor and the print view paints a score in a React Native app.
6
+ *
7
+ * It is a separate entry point because nothing web-side should carry it, and it
8
+ * declares no dependency on `@shopify/react-native-skia`: the host passes its
9
+ * own module in. See `skia-api.ts` for why, and `skia-context.ts` for the two
10
+ * models this bridges.
11
+ */
12
+ export { createSkiaContext2D } from './skia-context.js';
13
+ export type { SkiaContextOptions } from './skia-context.js';
14
+ export { parseCssFont } from './css-font.js';
15
+ export type { ParsedFont } from './css-font.js';
16
+ export type { SkiaApi, SkiaCanvas, SkiaFont, SkiaFontMetrics, SkiaFontMgr, SkiaModule, SkiaPaint, SkiaPath, SkiaRect, SkiaTypeface, } from './skia-api.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skia/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,GACb,MAAM,eAAe,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `@sudobility/music_drawing/skia` — React Native support.
3
+ *
4
+ * A `DrawingContext2D` backed by a Skia canvas, so the same renderer that
5
+ * paints the editor and the print view paints a score in a React Native app.
6
+ *
7
+ * It is a separate entry point because nothing web-side should carry it, and it
8
+ * declares no dependency on `@shopify/react-native-skia`: the host passes its
9
+ * own module in. See `skia-api.ts` for why, and `skia-context.ts` for the two
10
+ * models this bridges.
11
+ */
12
+ export { createSkiaContext2D } from './skia-context.js';
13
+ export { parseCssFont } from './css-font.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skia/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * The slice of `@shopify/react-native-skia` this adapter uses, declared
3
+ * structurally.
4
+ *
5
+ * The package is **not** a dependency, not even an optional peer. The host
6
+ * passes its own Skia module in — the same injection this family already uses
7
+ * for `XmlParser` in `music_io` — which keeps `dependencies` at exactly
8
+ * `['vexflow']`, keeps a 1.6 GB native package out of this repo, and still
9
+ * type-checks the real thing: at the host's own call site, its
10
+ * `@shopify/react-native-skia` namespace has to satisfy `SkiaModule`.
11
+ *
12
+ * Two conventions make that work across versions:
13
+ *
14
+ * - **Opaque handles are `unknown`.** A colour, a typeface and a path effect
15
+ * are values this adapter only ever hands back to Skia, so naming their real
16
+ * types would buy nothing and break on a rename.
17
+ * - **Everything is method shorthand, never a function-valued property.**
18
+ * Method parameters are compared bivariantly, so `setStyle(style: number)`
19
+ * accepts Skia's `(style: PaintStyle) => void` — where a property-typed
20
+ * declaration would be checked contravariantly and reject it. Enum arguments
21
+ * arrive as the plain numbers Skia's enums already are.
22
+ *
23
+ * Verified against `@shopify/react-native-skia` 2.2.12. To re-verify after an
24
+ * upgrade, see the recipe in CLAUDE.md — it compiles this file against the real
25
+ * typings in one throwaway program.
26
+ */
27
+ /** `{x, y, width, height}` — Skia's `SkRect`. */
28
+ export type SkiaRect = {
29
+ readonly x: number;
30
+ readonly y: number;
31
+ readonly width: number;
32
+ readonly height: number;
33
+ };
34
+ /** Ascent is negative: it measures upward from the baseline. */
35
+ export type SkiaFontMetrics = {
36
+ readonly ascent: number;
37
+ readonly descent: number;
38
+ };
39
+ export type SkiaFont = {
40
+ measureText(text: string): SkiaRect;
41
+ getMetrics(): SkiaFontMetrics;
42
+ getGlyphIDs(text: string): number[];
43
+ getGlyphWidths(glyphs: number[]): number[];
44
+ };
45
+ export type SkiaPaint = {
46
+ setColor(color: unknown): void;
47
+ /** `PaintStyle.Fill` or `PaintStyle.Stroke`. */
48
+ setStyle(style: number): void;
49
+ setStrokeWidth(width: number): void;
50
+ setStrokeCap(cap: number): void;
51
+ setStrokeJoin(join: number): void;
52
+ setAntiAlias(antiAlias: boolean): void;
53
+ setAlphaf(alpha: number): void;
54
+ getAlphaf(): number;
55
+ setPathEffect(effect: unknown): void;
56
+ setBlendMode(blendMode: number): void;
57
+ };
58
+ /**
59
+ * Skia's path builder. Every method returns the path for chaining, which this
60
+ * adapter ignores — hence the `unknown` returns.
61
+ */
62
+ export type SkiaPath = {
63
+ moveTo(x: number, y: number): unknown;
64
+ lineTo(x: number, y: number): unknown;
65
+ cubicTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): unknown;
66
+ quadTo(x1: number, y1: number, x2: number, y2: number): unknown;
67
+ /** Angles in degrees, clockwise from the positive x-axis. */
68
+ arcToOval(oval: SkiaRect, startAngleInDegrees: number, sweepAngleInDegrees: number, forceMoveTo: boolean): unknown;
69
+ addRect(rect: SkiaRect): unknown;
70
+ close(): unknown;
71
+ };
72
+ export type SkiaCanvas = {
73
+ save(): number;
74
+ restore(): void;
75
+ /** A 9-element row-major 3×3 matrix, composed onto the current one. */
76
+ concat(matrix: number[]): void;
77
+ drawPath(path: SkiaPath, paint: SkiaPaint): void;
78
+ drawRect(rect: SkiaRect, paint: SkiaPaint): void;
79
+ drawText(text: string, x: number, y: number, paint: SkiaPaint, font: SkiaFont): void;
80
+ };
81
+ export type SkiaTypeface = unknown;
82
+ export type SkiaFontMgr = {
83
+ /** Returns a typeface, or null when nothing matches and no fallback applies. */
84
+ matchFamilyStyle(name: string, style: unknown): SkiaTypeface | null;
85
+ };
86
+ /** The `Skia` object itself: Skia's own factory namespace. */
87
+ export type SkiaApi = {
88
+ Paint(): SkiaPaint;
89
+ Path: {
90
+ Make(): SkiaPath;
91
+ };
92
+ Font(typeface?: SkiaTypeface, size?: number): SkiaFont;
93
+ FontMgr: {
94
+ System(): SkiaFontMgr;
95
+ };
96
+ /** Parses a CSS colour string into Skia's own colour representation. */
97
+ Color(color: string): unknown;
98
+ XYWHRect(x: number, y: number, width: number, height: number): SkiaRect;
99
+ PathEffect: {
100
+ MakeDash(intervals: number[], phase?: number): unknown;
101
+ };
102
+ };
103
+ /**
104
+ * What the host injects: the module namespace of
105
+ * `@shopify/react-native-skia`, so `import * as Skia from …` passes straight
106
+ * in. The enums come along because Skia's own methods take them and this
107
+ * adapter has no other way to name `PaintStyle.Fill`.
108
+ */
109
+ export type SkiaModule = {
110
+ Skia: SkiaApi;
111
+ PaintStyle: {
112
+ readonly Fill: number;
113
+ readonly Stroke: number;
114
+ };
115
+ StrokeCap: {
116
+ readonly Butt: number;
117
+ readonly Round: number;
118
+ readonly Square: number;
119
+ };
120
+ StrokeJoin: {
121
+ readonly Bevel: number;
122
+ readonly Miter: number;
123
+ readonly Round: number;
124
+ };
125
+ FontSlant: {
126
+ readonly Upright: number;
127
+ readonly Italic: number;
128
+ };
129
+ BlendMode: {
130
+ readonly Clear: number;
131
+ };
132
+ };
133
+ //# sourceMappingURL=skia-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skia-api.d.ts","sourceRoot":"","sources":["../../src/skia/skia-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The slice of `@shopify/react-native-skia` this adapter uses, declared
3
+ * structurally.
4
+ *
5
+ * The package is **not** a dependency, not even an optional peer. The host
6
+ * passes its own Skia module in — the same injection this family already uses
7
+ * for `XmlParser` in `music_io` — which keeps `dependencies` at exactly
8
+ * `['vexflow']`, keeps a 1.6 GB native package out of this repo, and still
9
+ * type-checks the real thing: at the host's own call site, its
10
+ * `@shopify/react-native-skia` namespace has to satisfy `SkiaModule`.
11
+ *
12
+ * Two conventions make that work across versions:
13
+ *
14
+ * - **Opaque handles are `unknown`.** A colour, a typeface and a path effect
15
+ * are values this adapter only ever hands back to Skia, so naming their real
16
+ * types would buy nothing and break on a rename.
17
+ * - **Everything is method shorthand, never a function-valued property.**
18
+ * Method parameters are compared bivariantly, so `setStyle(style: number)`
19
+ * accepts Skia's `(style: PaintStyle) => void` — where a property-typed
20
+ * declaration would be checked contravariantly and reject it. Enum arguments
21
+ * arrive as the plain numbers Skia's enums already are.
22
+ *
23
+ * Verified against `@shopify/react-native-skia` 2.2.12. To re-verify after an
24
+ * upgrade, see the recipe in CLAUDE.md — it compiles this file against the real
25
+ * typings in one throwaway program.
26
+ */
27
+ export {};
28
+ //# sourceMappingURL=skia-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skia-api.js","sourceRoot":"","sources":["../../src/skia/skia-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * A `DrawingContext2D` backed by a Skia canvas.
3
+ *
4
+ * This is the whole of React Native support: the renderer above it neither
5
+ * knows nor cares which of the two it is painting into. What lives here is the
6
+ * gap between the two models —
7
+ *
8
+ * - **Canvas is a state machine; Skia is not.** `fillStyle`, `lineWidth`, the
9
+ * font and the transform persist on the context until changed, and `save`/
10
+ * `restore` push and pop all of it together. Skia takes a fresh `SkPaint` per
11
+ * draw. So the state lives here, in a stack, and a paint is built from the
12
+ * top of it at each draw.
13
+ * - **`setTransform` is absolute; `concat` is relative.** Skia has no "replace
14
+ * the matrix" call, and the renderer calls `setTransform` twice per frame —
15
+ * once to clear in device space, once to install the zoom-and-scroll
16
+ * transform. Composing there would send the score drifting off the page a
17
+ * frame at a time. The current matrix is therefore tracked here and applied
18
+ * per draw as `save → concat → draw → restore`, which also leaves Skia's own
19
+ * matrix untouched for whatever else the host is drawing.
20
+ * - **Canvas takes a CSS font string; Skia takes a typeface and a size.** See
21
+ * `css-font.ts`; resolved faces are cached, because the renderer sets the
22
+ * same handful of shorthands on every frame.
23
+ */
24
+ import type { DrawingContext2D } from '../drawing-context.js';
25
+ import type { SkiaCanvas, SkiaModule } from './skia-api.js';
26
+ export type SkiaContextOptions = {
27
+ /** The `@shopify/react-native-skia` module namespace: `import * as skia from …`. */
28
+ skia: SkiaModule;
29
+ /** The `SkCanvas` to paint into — from a picture recorder, a surface, or `useCanvasRef`. */
30
+ canvas: SkiaCanvas;
31
+ /**
32
+ * The surface's size in *device* pixels.
33
+ *
34
+ * The renderer reads these to clear the backing store before a frame, so they
35
+ * must match the canvas it was given, and the same `devicePixelRatio` the
36
+ * surface was sized with must be passed in `RenderOptions`.
37
+ */
38
+ width: number;
39
+ height: number;
40
+ };
41
+ /**
42
+ * Wraps a Skia canvas as the 2D drawing context this package paints into.
43
+ *
44
+ * ```ts
45
+ * import * as skia from '@shopify/react-native-skia';
46
+ * import { CanvasScoreRenderer } from '@sudobility/music_drawing';
47
+ * import { createSkiaContext2D } from '@sudobility/music_drawing/skia';
48
+ *
49
+ * const ctx = createSkiaContext2D({ skia, canvas, width, height });
50
+ * new CanvasScoreRenderer().render(score, ctx, options);
51
+ * ```
52
+ *
53
+ * The Skia module is injected rather than imported so that this package
54
+ * depends on nothing but `vexflow`; passing the namespace is what type-checks
55
+ * the host's Skia against what the adapter uses.
56
+ */
57
+ export declare function createSkiaContext2D(options: SkiaContextOptions): DrawingContext2D;
58
+ //# sourceMappingURL=skia-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skia-context.d.ts","sourceRoot":"","sources":["../../src/skia/skia-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EAEV,UAAU,EAGX,MAAM,eAAe,CAAC;AAwEvB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oFAAoF;IACpF,IAAI,EAAE,UAAU,CAAC;IACjB,4FAA4F;IAC5F,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAqaF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,kBAAkB,GAC1B,gBAAgB,CAElB"}