@shopify/react-native-skia 0.1.141 → 0.1.142
Sign up to get free protection for your applications and to get access to all the features.
- package/android/cpp/rnskia-android/RNSkDrawViewImpl.cpp +2 -2
- package/android/cpp/rnskia-android/RNSkDrawViewImpl.h +1 -1
- package/android/cpp/rnskia-android/SkiaOpenGLRenderer.cpp +15 -16
- package/android/cpp/rnskia-android/SkiaOpenGLRenderer.h +2 -2
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaDrawView.java +69 -27
- package/cpp/rnskia/RNSkDrawView.cpp +66 -66
- package/cpp/rnskia/RNSkDrawView.h +22 -6
- package/cpp/rnskia/RNSkJsiViewApi.h +2 -2
- package/cpp/rnskia/values/RNSkComputedValue.h +10 -7
- package/cpp/rnskia/values/RNSkReadonlyValue.h +21 -2
- package/cpp/rnskia/values/RNSkValue.h +1 -0
- package/ios/RNSkia-iOS/RNSkDrawViewImpl.h +1 -1
- package/ios/RNSkia-iOS/RNSkDrawViewImpl.mm +2 -2
- package/ios/RNSkia-iOS/SkiaDrawView.mm +4 -0
- package/lib/commonjs/mock/index.js +3 -1
- package/lib/commonjs/mock/index.js.map +1 -1
- package/lib/commonjs/renderer/DependencyManager.js +1 -1
- package/lib/commonjs/renderer/DependencyManager.js.map +1 -1
- package/lib/commonjs/renderer/processors/Animations/Animations.js +18 -5
- package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/commonjs/skia/core/Data.js +10 -22
- package/lib/commonjs/skia/core/Data.js.map +1 -1
- package/lib/commonjs/skia/core/Font.js +2 -3
- package/lib/commonjs/skia/core/Font.js.map +1 -1
- package/lib/commonjs/skia/core/Image.js.map +1 -1
- package/lib/commonjs/skia/core/SVG.js.map +1 -1
- package/lib/commonjs/skia/core/Typeface.js.map +1 -1
- package/lib/commonjs/skia/types/Data/Data.js +5 -0
- package/lib/commonjs/skia/types/Data/Data.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +9 -7
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.js +7 -5
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRRect.js +8 -0
- package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRect.js +2 -2
- package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
- package/lib/commonjs/values/hooks/useComputedValue.js +6 -2
- package/lib/commonjs/values/hooks/useComputedValue.js.map +1 -1
- package/lib/commonjs/values/index.js +13 -0
- package/lib/commonjs/values/index.js.map +1 -1
- package/lib/commonjs/values/selector.js +24 -0
- package/lib/commonjs/values/selector.js.map +1 -0
- package/lib/commonjs/values/web/RNSkComputedValue.js +8 -0
- package/lib/commonjs/values/web/RNSkComputedValue.js.map +1 -1
- package/lib/commonjs/values/web/RNSkReadonlyValue.js +4 -0
- package/lib/commonjs/values/web/RNSkReadonlyValue.js.map +1 -1
- package/lib/module/mock/index.js +2 -1
- package/lib/module/mock/index.js.map +1 -1
- package/lib/module/renderer/DependencyManager.js +2 -2
- package/lib/module/renderer/DependencyManager.js.map +1 -1
- package/lib/module/renderer/processors/Animations/Animations.js +13 -4
- package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/module/skia/core/Data.js +10 -20
- package/lib/module/skia/core/Data.js.map +1 -1
- package/lib/module/skia/core/Font.js +2 -3
- package/lib/module/skia/core/Font.js.map +1 -1
- package/lib/module/skia/core/Image.js.map +1 -1
- package/lib/module/skia/core/SVG.js.map +1 -1
- package/lib/module/skia/core/Typeface.js.map +1 -1
- package/lib/module/skia/types/Data/Data.js +1 -1
- package/lib/module/skia/types/Data/Data.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.js +8 -7
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.js +6 -5
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkRRect.js +8 -0
- package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRect.js +2 -2
- package/lib/module/skia/web/JsiSkRect.js.map +1 -1
- package/lib/module/values/hooks/useComputedValue.js +7 -3
- package/lib/module/values/hooks/useComputedValue.js.map +1 -1
- package/lib/module/values/index.js +1 -0
- package/lib/module/values/index.js.map +1 -1
- package/lib/module/values/selector.js +15 -0
- package/lib/module/values/selector.js.map +1 -0
- package/lib/module/values/web/RNSkComputedValue.js +8 -0
- package/lib/module/values/web/RNSkComputedValue.js.map +1 -1
- package/lib/module/values/web/RNSkReadonlyValue.js +4 -0
- package/lib/module/values/web/RNSkReadonlyValue.js.map +1 -1
- package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +7 -2
- package/lib/typescript/src/skia/core/Data.d.ts +3 -5
- package/lib/typescript/src/skia/core/Font.d.ts +2 -2
- package/lib/typescript/src/skia/core/Image.d.ts +2 -2
- package/lib/typescript/src/skia/core/SVG.d.ts +2 -2
- package/lib/typescript/src/skia/core/Typeface.d.ts +2 -2
- package/lib/typescript/src/skia/types/Data/Data.d.ts +10 -3
- package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +1 -0
- package/lib/typescript/src/skia/web/JsiSkRect.d.ts +1 -1
- package/lib/typescript/src/values/index.d.ts +1 -0
- package/lib/typescript/src/values/selector.d.ts +14 -0
- package/lib/typescript/src/values/types.d.ts +4 -0
- package/lib/typescript/src/values/web/RNSkComputedValue.d.ts +1 -0
- package/lib/typescript/src/values/web/RNSkReadonlyValue.d.ts +1 -0
- package/package.json +2 -2
- package/src/mock/index.ts +2 -1
- package/src/renderer/DependencyManager.tsx +5 -2
- package/src/renderer/processors/Animations/Animations.ts +27 -5
- package/src/skia/core/Data.ts +20 -51
- package/src/skia/core/Font.ts +4 -5
- package/src/skia/core/Image.ts +2 -2
- package/src/skia/core/SVG.ts +2 -2
- package/src/skia/core/Typeface.ts +2 -2
- package/src/skia/types/Data/Data.ts +11 -1
- package/src/skia/web/JsiSkCanvas.ts +22 -10
- package/src/skia/web/JsiSkPath.ts +14 -5
- package/src/skia/web/JsiSkRRect.ts +11 -0
- package/src/skia/web/JsiSkRect.ts +2 -5
- package/src/values/hooks/useComputedValue.ts +6 -3
- package/src/values/index.ts +1 -0
- package/src/values/selector.ts +24 -0
- package/src/values/types.ts +4 -0
- package/src/values/web/RNSkComputedValue.ts +6 -0
- package/src/values/web/RNSkReadonlyValue.ts +4 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["Stub","constructor","Proxy","get","apply","set","Noop","Skia","vec","x","y","Mock","BaseSkia","
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["Stub","constructor","Proxy","get","apply","set","Noop","Skia","vec","x","y","Mock","BaseSkia","useRawData","useData","useFont","useTypeface","useImage","useSVG","usePicture","rect","width","height","rrect","r","rx","ry","point","add","a","b","sub","neg","dist","Math","hypot","translate","translateX","translateY","bounds","topLeft","topRight","bottomLeft","bottomRight","center","processTransform2d","useSharedValueEffect","Values","ValuesHooks","Selector","timingFunctions","springFunctions","decayFunctions","interpolateFn","interpolatePathFn","interpolateVectorFn","interpolateColors","_value","_inputRange","_outputRange","Float32Array","of","mixColors","_v","_x","_y","ShaderLib","createDrawing","createDeclaration"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport type { Color, Skia as SkiaApi, SkRect, Vector } from \"../skia/types\";\nimport * as Values from \"../values/web\";\nimport * as ValuesHooks from \"../values/hooks\";\nimport { Selector } from \"../values/selector\";\nimport * as BaseSkia from \"../skia/types\";\nimport type * as SkiaExports from \"../skia\";\nimport type * as ExternalExports from \"../external\";\nimport type * as ValueExports from \"../values\";\nimport type * as AnimationExports from \"../animation\";\nimport { useSharedValueEffect } from \"../external/reanimated/useSharedValueEffect\";\nimport * as timingFunctions from \"../animation/timing\";\nimport * as springFunctions from \"../animation/spring\";\nimport * as decayFunctions from \"../animation/decay\";\nimport * as interpolateFn from \"../animation/functions/interpolate\";\nimport * as interpolatePathFn from \"../animation/functions/interpolatePaths\";\nimport * as interpolateVectorFn from \"../animation/functions/interpolateVector\";\nimport { ShaderLib } from \"../renderer/components/shaders/ShaderLib\";\n\nclass Stub {\n constructor() {\n return new Proxy(() => {}, {\n get: () => new Stub(),\n apply: () => new Stub(),\n set: () => true,\n });\n }\n}\n\nconst Noop: () => any = () => {};\n\nexport const Skia: SkiaApi = new Stub() as any;\n\nexport const vec = (x?: number, y?: number) => ({ x: x ?? 0, y: y ?? x ?? 0 });\n\nexport const Mock: typeof SkiaExports &\n typeof ExternalExports &\n typeof ValueExports &\n typeof AnimationExports & {\n createDrawing: () => any;\n createDeclaration: () => any;\n ShaderLib: typeof ShaderLib;\n } = {\n // SkiaExports\n // 1. Skia API. BaseSkia contains the enums, and functions like isPaint etc\n Skia,\n ...BaseSkia,\n // 2. Hooks\n useRawData: Noop,\n useData: Noop,\n useFont: Noop,\n useTypeface: Noop,\n useImage: Noop,\n useSVG: Noop,\n usePicture: Noop,\n // 3. Point/Rect/Transform utilities\n vec,\n rect: (x: number, y: number, width: number, height: number) => ({\n x,\n y,\n width,\n height,\n }),\n rrect: (r: SkRect, rx: number, ry: number) => ({\n rect: r,\n rx,\n ry,\n }),\n point: vec,\n add: (a: Vector, b: Vector) => vec(a.x + b.x, a.y + b.y),\n sub: (a: Vector, b: Vector) => vec(a.x - b.x, a.y - b.y),\n neg: (a: Vector) => vec(-a.x, -a.y),\n dist: (a: Vector, b: Vector) => Math.hypot(a.x - b.x, a.y - b.y),\n translate: ({ x, y }: Vector) =>\n [{ translateX: x }, { translateY: y }] as const,\n\n bounds: Noop,\n topLeft: Noop,\n topRight: Noop,\n bottomLeft: Noop,\n bottomRight: Noop,\n center: Noop,\n processTransform2d: Noop,\n // ExternalExports\n useSharedValueEffect,\n // ValueExports\n ...Values,\n ...ValuesHooks,\n Selector,\n // Animations\n ...timingFunctions,\n ...springFunctions,\n ...decayFunctions,\n ...interpolateFn,\n ...interpolatePathFn,\n ...interpolateVectorFn,\n interpolateColors: (\n _value: number,\n _inputRange: number[],\n _outputRange: Color[]\n ) => Float32Array.of(0, 0, 0, 0),\n mixColors: (_v: number, _x: Color, _y: Color) => Float32Array.of(0, 0, 0, 0),\n ShaderLib,\n createDrawing: Noop,\n createDeclaration: Noop,\n};\n"]}
|
@@ -29,7 +29,7 @@ class DependencyManager {
|
|
29
29
|
}
|
30
30
|
|
31
31
|
subscribeNode(node, props) {
|
32
|
-
const values = Object.values(props).filter(_processors.isValue);
|
32
|
+
const values = Object.values(props).filter(v => (0, _processors.isValue)(v) || (0, _processors.isSelector)(v)).map(v => (0, _processors.isSelector)(v) ? v.value : v);
|
33
33
|
|
34
34
|
if (values.length > 0) {
|
35
35
|
this.subscriptions.set(node, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["DependencyManager.tsx"],"names":["DependencyManager","constructor","ref","Map","unSubscribeNode","node","subscription","subscriptions","get","unsubscribe","delete","subscribeNode","props","values","Object","filter","
|
1
|
+
{"version":3,"sources":["DependencyManager.tsx"],"names":["DependencyManager","constructor","ref","Map","unSubscribeNode","node","subscription","subscriptions","get","unsubscribe","delete","subscribeNode","props","values","Object","filter","v","map","value","length","set","subscribe","current","Error","forEach","registerValues","clear"],"mappings":";;;;;;;AAKA;;;;AAMO,MAAMA,iBAAN,CAAwB;AAO7BC,EAAAA,WAAW,CAACC,GAAD,EAA2B;AAAA;;AAAA,2CAFlC,IAAIC,GAAJ,EAEkC;;AACpC,SAAKD,GAAL,GAAWA,GAAX;AACD;;AAEDE,EAAAA,eAAe,CAACC,IAAD,EAAa;AAC1B,UAAMC,YAAY,GAAG,KAAKC,aAAL,CAAmBC,GAAnB,CAAuBH,IAAvB,CAArB;;AACA,QAAIC,YAAY,IAAIA,YAAY,CAACG,WAAjC,EAA8C;AAC5CH,MAAAA,YAAY,CAACG,WAAb;AACD;;AACD,SAAKF,aAAL,CAAmBG,MAAnB,CAA0BL,IAA1B;AACD;;AAEDM,EAAAA,aAAa,CAACN,IAAD,EAAaO,KAAb,EAA2B;AACtC,UAAMC,MAAM,GAAGC,MAAM,CAACD,MAAP,CAAcD,KAAd,EACZG,MADY,CACJC,CAAD,IAAO,yBAAQA,CAAR,KAAc,4BAAWA,CAAX,CADhB,EAEZC,GAFY,CAEPD,CAAD,IAAQ,4BAAWA,CAAX,IAAgBA,CAAC,CAACE,KAAlB,GAA2BF,CAF3B,CAAf;;AAIA,QAAIH,MAAM,CAACM,MAAP,GAAgB,CAApB,EAAuB;AACrB,WAAKZ,aAAL,CAAmBa,GAAnB,CAAuBf,IAAvB,EAA6B;AAAEQ,QAAAA,MAAF;AAAUJ,QAAAA,WAAW,EAAE;AAAvB,OAA7B;AACD;AACF;;AAEDY,EAAAA,SAAS,GAAG;AACV,QAAI,KAAKnB,GAAL,CAASoB,OAAT,KAAqB,IAAzB,EAA+B;AAC7B,YAAM,IAAIC,KAAJ,CAAU,uBAAV,CAAN;AACD;;AACD,SAAKhB,aAAL,CAAmBiB,OAAnB,CAA4BlB,YAAD,IAAkB;AAC3C,UAAIA,YAAY,CAACG,WAAb,KAA6B,IAAjC,EAAuC;AACrCH,QAAAA,YAAY,CAACG,WAAb,GAA2B,KAAKP,GAAL,CAASoB,OAAT,CAAkBG,cAAlB,CACzBnB,YAAY,CAACO,MADY,CAA3B;AAGD;AACF,KAND;AAOD;;AAEDJ,EAAAA,WAAW,GAAG;AACZ,SAAKF,aAAL,CAAmBiB,OAAnB,CAA2B,QAAqB;AAAA,UAApB;AAAEf,QAAAA;AAAF,OAAoB;;AAC9C,UAAIA,WAAJ,EAAiB;AACfA,QAAAA,WAAW;AACZ;AACF,KAJD;AAKA,SAAKF,aAAL,CAAmBmB,KAAnB;AACD;;AAjD4B","sourcesContent":["import type { RefObject } from \"react\";\n\nimport type { SkiaView } from \"../views\";\nimport type { SkiaValue } from \"../values\";\n\nimport { isSelector, isValue } from \"./processors\";\nimport type { Node } from \"./nodes\";\n\ntype Unsubscribe = () => void;\ntype Props = { [key: string]: unknown };\n\nexport class DependencyManager {\n ref: RefObject<SkiaView>;\n subscriptions: Map<\n Node,\n { values: SkiaValue<unknown>[]; unsubscribe: null | Unsubscribe }\n > = new Map();\n\n constructor(ref: RefObject<SkiaView>) {\n this.ref = ref;\n }\n\n unSubscribeNode(node: Node) {\n const subscription = this.subscriptions.get(node);\n if (subscription && subscription.unsubscribe) {\n subscription.unsubscribe();\n }\n this.subscriptions.delete(node);\n }\n\n subscribeNode(node: Node, props: Props) {\n const values = Object.values(props)\n .filter((v) => isValue(v) || isSelector(v))\n .map((v) => (isSelector(v) ? v.value : (v as SkiaValue<unknown>)));\n\n if (values.length > 0) {\n this.subscriptions.set(node, { values, unsubscribe: null });\n }\n }\n\n subscribe() {\n if (this.ref.current === null) {\n throw new Error(\"Canvas ref is not set\");\n }\n this.subscriptions.forEach((subscription) => {\n if (subscription.unsubscribe === null) {\n subscription.unsubscribe = this.ref.current!.registerValues(\n subscription.values\n );\n }\n });\n }\n\n unsubscribe() {\n this.subscriptions.forEach(({ unsubscribe }) => {\n if (unsubscribe) {\n unsubscribe();\n }\n });\n this.subscriptions.clear();\n }\n}\n"]}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.materialize = exports.isValue = exports.isAnimated = void 0;
|
6
|
+
exports.materialize = exports.isValue = exports.isSelector = exports.isAnimated = void 0;
|
7
7
|
|
8
8
|
var _typeddash = require("../../typeddash");
|
9
9
|
|
@@ -23,6 +23,16 @@ const isValue = value => {
|
|
23
23
|
|
24
24
|
exports.isValue = isValue;
|
25
25
|
|
26
|
+
const isSelector = value => {
|
27
|
+
if (value) {
|
28
|
+
return typeof value === "object" && "selector" in value && "value" in value && value.selector !== undefined && value.value !== undefined;
|
29
|
+
}
|
30
|
+
|
31
|
+
return false;
|
32
|
+
};
|
33
|
+
|
34
|
+
exports.isSelector = isSelector;
|
35
|
+
|
26
36
|
const isAnimated = props => {
|
27
37
|
for (const value of Object.values(props)) {
|
28
38
|
if (isValue(value)) {
|
@@ -39,14 +49,17 @@ const materialize = props => {
|
|
39
49
|
const result = { ...props
|
40
50
|
};
|
41
51
|
(0, _typeddash.mapKeys)(props).forEach(key => {
|
42
|
-
const
|
52
|
+
const prop = props[key];
|
43
53
|
|
44
|
-
if (isValue(
|
45
|
-
result[key] =
|
54
|
+
if (isValue(prop)) {
|
55
|
+
result[key] = prop.current;
|
56
|
+
} else if (isSelector(prop)) {
|
57
|
+
result[key] = prop.selector(prop.value.current);
|
46
58
|
}
|
47
59
|
});
|
48
60
|
return result;
|
49
|
-
};
|
61
|
+
}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
62
|
+
|
50
63
|
|
51
64
|
exports.materialize = materialize;
|
52
65
|
//# sourceMappingURL=Animations.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["Animations.ts"],"names":["isValue","value","undefined","__typename__","isAnimated","props","Object","values","materialize","result","forEach","key","current"],"mappings":";;;;;;;AACA;;AAEO,MAAMA,OAAO,GAAIC,KAAD,IAAiD;AACtE,MAAIA,KAAK,KAAKC,SAAV,IAAuBD,KAAK,KAAK,IAArC,EAA2C;AACzC,WAAO,KAAP;AACD;;AACD,MAAI;AACF,QACE,OAAOA,KAAP,KAAiB,QAAjB,IACA,kBAAkBA,KADlB,IAECA,KAAD,CAAyCE,YAAzC,KAA0D,WAH5D,EAIE;AACA,aAAO,IAAP;AACD;AACF,GARD,CAQE,MAAM,CAAE;;AACV,SAAO,KAAP;AACD,CAdM;;;;AAgBA,MAAMC,UAAU,GAAOC,KAAJ,IAAgC;AACxD,OAAK,
|
1
|
+
{"version":3,"sources":["Animations.ts"],"names":["isValue","value","undefined","__typename__","isSelector","selector","isAnimated","props","Object","values","materialize","result","forEach","key","prop","current"],"mappings":";;;;;;;AACA;;AAEO,MAAMA,OAAO,GAAIC,KAAD,IAAiD;AACtE,MAAIA,KAAK,KAAKC,SAAV,IAAuBD,KAAK,KAAK,IAArC,EAA2C;AACzC,WAAO,KAAP;AACD;;AACD,MAAI;AACF,QACE,OAAOA,KAAP,KAAiB,QAAjB,IACA,kBAAkBA,KADlB,IAECA,KAAD,CAAyCE,YAAzC,KAA0D,WAH5D,EAIE;AACA,aAAO,IAAP;AACD;AACF,GARD,CAQE,MAAM,CAAE;;AACV,SAAO,KAAP;AACD,CAdM;;;;AAgBA,MAAMC,UAAU,GACrBH,KADwB,IAKrB;AACH,MAAIA,KAAJ,EAAW;AACT,WACE,OAAOA,KAAP,KAAiB,QAAjB,IACA,cAAcA,KADd,IAEA,WAAWA,KAFX,IAGCA,KAAD,CAAmCI,QAAnC,KAAgDH,SAHhD,IAICD,KAAD,CAAmCA,KAAnC,KAA6CC,SAL/C;AAOD;;AACD,SAAO,KAAP;AACD,CAhBM;;;;AAkBA,MAAMI,UAAU,GAAOC,KAAJ,IAAgC;AACxD,OAAK,MAAMN,KAAX,IAAoBO,MAAM,CAACC,MAAP,CAAcF,KAAd,CAApB,EAA0C;AACxC,QAAIP,OAAO,CAACC,KAAD,CAAX,EAAoB;AAClB,aAAO,IAAP;AACD;AACF;;AACD,SAAO,KAAP;AACD,CAPM;;;;AASA,MAAMS,WAAW,GAAOH,KAAJ,IAAgC;AACzD,QAAMI,MAAM,GAAG,EAAE,GAAGJ;AAAL,GAAf;AACA,0BAAQA,KAAR,EAAeK,OAAf,CAAwBC,GAAD,IAAS;AAC9B,UAAMC,IAAI,GAAGP,KAAK,CAACM,GAAD,CAAlB;;AACA,QAAIb,OAAO,CAACc,IAAD,CAAX,EAAmB;AACjBH,MAAAA,MAAM,CAACE,GAAD,CAAN,GAAeC,IAAD,CAAmCC,OAAjD;AACD,KAFD,MAEO,IAAIX,UAAU,CAACU,IAAD,CAAd,EAAsB;AAC3BH,MAAAA,MAAM,CAACE,GAAD,CAAN,GAAcC,IAAI,CAACT,QAAL,CAAcS,IAAI,CAACb,KAAL,CAAWc,OAAzB,CAAd;AACD;AACF,GAPD;AAQA,SAAOJ,MAAP;AACD,CAXM,C,CAaP","sourcesContent":["import type { SkiaSelector, SkiaValue } from \"../../../values\";\nimport { mapKeys } from \"../../typeddash\";\n\nexport const isValue = (value: unknown): value is SkiaValue<unknown> => {\n if (value === undefined || value === null) {\n return false;\n }\n try {\n if (\n typeof value === \"object\" &&\n \"__typename__\" in value &&\n (value as unknown as SkiaValue<unknown>).__typename__ === \"RNSkValue\"\n ) {\n return true;\n }\n } catch {}\n return false;\n};\n\nexport const isSelector = <T, R>(\n value: unknown\n): value is {\n selector: (v: T) => R;\n value: SkiaValue<T>;\n} => {\n if (value) {\n return (\n typeof value === \"object\" &&\n \"selector\" in value &&\n \"value\" in value &&\n (value as Record<string, unknown>).selector !== undefined &&\n (value as Record<string, unknown>).value !== undefined\n );\n }\n return false;\n};\n\nexport const isAnimated = <T>(props: AnimatedProps<T>) => {\n for (const value of Object.values(props)) {\n if (isValue(value)) {\n return true;\n }\n }\n return false;\n};\n\nexport const materialize = <T>(props: AnimatedProps<T>) => {\n const result = { ...props };\n mapKeys(props).forEach((key) => {\n const prop = props[key];\n if (isValue(prop)) {\n result[key] = (prop as SkiaValue<T[typeof key]>).current;\n } else if (isSelector(prop)) {\n result[key] = prop.selector(prop.value.current) as T[typeof key];\n }\n });\n return result as T;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnimatedProp<T, P = any> = T | SkiaValue<T> | SkiaSelector<T, P>;\nexport type AnimatedProps<T> = {\n [K in keyof T]: AnimatedProp<T[K]>;\n};\n"]}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.useRawData = exports.
|
6
|
+
exports.useRawData = exports.useData = void 0;
|
7
7
|
|
8
8
|
var _react = require("react");
|
9
9
|
|
@@ -11,8 +11,10 @@ var _reactNative = require("react-native");
|
|
11
11
|
|
12
12
|
var _Skia = require("../Skia");
|
13
13
|
|
14
|
+
var _types = require("../types");
|
15
|
+
|
14
16
|
const resolveAsset = source => {
|
15
|
-
return
|
17
|
+
return (0, _types.isRNModule)(source) ? _reactNative.Image.resolveAssetSource(source).uri : source.default;
|
16
18
|
};
|
17
19
|
|
18
20
|
const factoryWrapper = (data2, factory, onError) => {
|
@@ -26,10 +28,8 @@ const factoryWrapper = (data2, factory, onError) => {
|
|
26
28
|
}
|
27
29
|
};
|
28
30
|
|
29
|
-
const loadDataCollection = (sources, factory, onError) => Promise.all(sources.map(source => loadData(source, factory, onError)));
|
30
|
-
|
31
31
|
const loadData = (source, factory, onError) => {
|
32
|
-
if (source === null) {
|
32
|
+
if (source === null || source === undefined) {
|
33
33
|
return new Promise(resolve => resolve(null));
|
34
34
|
} else if (source instanceof Uint8Array) {
|
35
35
|
return new Promise(resolve => resolve(factoryWrapper(_Skia.Skia.Data.fromBytes(source), factory, onError)));
|
@@ -39,33 +39,21 @@ const loadData = (source, factory, onError) => {
|
|
39
39
|
}
|
40
40
|
};
|
41
41
|
|
42
|
-
const useLoading =
|
43
|
-
let deps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
42
|
+
const useLoading = (source, loader) => {
|
44
43
|
const [data, setData] = (0, _react.useState)(null);
|
45
|
-
const prevSourceRef = (0, _react.useRef)();
|
46
44
|
(0, _react.useEffect)(() => {
|
47
|
-
|
48
|
-
|
49
|
-
loader().then(setData);
|
50
|
-
} else {
|
51
|
-
setData(null);
|
52
|
-
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
53
|
-
|
54
|
-
}, deps);
|
45
|
+
loader().then(setData); // eslint-disable-next-line react-hooks/exhaustive-deps
|
46
|
+
}, [source]);
|
55
47
|
return data;
|
56
48
|
};
|
57
49
|
|
58
|
-
const
|
59
|
-
|
60
|
-
exports.useDataCollection = useDataCollection;
|
61
|
-
|
62
|
-
const useRawData = (source, factory, onError, deps) => useLoading(source, () => loadData(source, factory, onError), deps);
|
50
|
+
const useRawData = (source, factory, onError) => useLoading(source, () => loadData(source, factory, onError));
|
63
51
|
|
64
52
|
exports.useRawData = useRawData;
|
65
53
|
|
66
54
|
const identity = data => data;
|
67
55
|
|
68
|
-
const useData = (source, onError
|
56
|
+
const useData = (source, onError) => useRawData(source, identity, onError);
|
69
57
|
|
70
58
|
exports.useData = useData;
|
71
59
|
//# sourceMappingURL=Data.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["Data.ts"],"names":["resolveAsset","source","
|
1
|
+
{"version":3,"sources":["Data.ts"],"names":["resolveAsset","source","Image","resolveAssetSource","uri","default","factoryWrapper","data2","factory","onError","factoryResult","Error","loadData","undefined","Promise","resolve","Uint8Array","Skia","Data","fromBytes","fromURI","then","d","useLoading","loader","data","setData","useRawData","identity","useData"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAGA,MAAMA,YAAY,GAAIC,MAAD,IAAwB;AAC3C,SAAO,uBAAWA,MAAX,IACHC,mBAAMC,kBAAN,CAAyBF,MAAzB,EAAiCG,GAD9B,GAEHH,MAAM,CAACI,OAFX;AAGD,CAJD;;AAMA,MAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,OAFqB,EAGrBC,OAHqB,KAIlB;AACH,QAAMC,aAAa,GAAGF,OAAO,CAACD,KAAD,CAA7B;;AACA,MAAIG,aAAa,KAAK,IAAtB,EAA4B;AAC1BD,IAAAA,OAAO,IAAIA,OAAO,CAAC,IAAIE,KAAJ,CAAU,qBAAV,CAAD,CAAlB;AACA,WAAO,IAAP;AACD,GAHD,MAGO;AACL,WAAOD,aAAP;AACD;AACF,CAZD;;AAcA,MAAME,QAAQ,GAAG,CACfX,MADe,EAEfO,OAFe,EAGfC,OAHe,KAIO;AACtB,MAAIR,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAKY,SAAlC,EAA6C;AAC3C,WAAO,IAAIC,OAAJ,CAAaC,OAAD,IAAaA,OAAO,CAAC,IAAD,CAAhC,CAAP;AACD,GAFD,MAEO,IAAId,MAAM,YAAYe,UAAtB,EAAkC;AACvC,WAAO,IAAIF,OAAJ,CAAaC,OAAD,IACjBA,OAAO,CAACT,cAAc,CAACW,WAAKC,IAAL,CAAUC,SAAV,CAAoBlB,MAApB,CAAD,EAA8BO,OAA9B,EAAuCC,OAAvC,CAAf,CADF,CAAP;AAGD,GAJM,MAIA;AACL,UAAML,GAAG,GAAG,OAAOH,MAAP,KAAkB,QAAlB,GAA6BA,MAA7B,GAAsCD,YAAY,CAACC,MAAD,CAA9D;AACA,WAAOgB,WAAKC,IAAL,CAAUE,OAAV,CAAkBhB,GAAlB,EAAuBiB,IAAvB,CAA6BC,CAAD,IACjChB,cAAc,CAACgB,CAAD,EAAId,OAAJ,EAAaC,OAAb,CADT,CAAP;AAGD;AACF,CAjBD;;AAkBA,MAAMc,UAAU,GAAG,CACjBtB,MADiB,EAEjBuB,MAFiB,KAGd;AACH,QAAM,CAACC,IAAD,EAAOC,OAAP,IAAkB,qBAAmB,IAAnB,CAAxB;AACA,wBAAU,MAAM;AACdF,IAAAA,MAAM,GAAGH,IAAT,CAAcK,OAAd,EADc,CAEd;AACD,GAHD,EAGG,CAACzB,MAAD,CAHH;AAIA,SAAOwB,IAAP;AACD,CAVD;;AAYO,MAAME,UAAU,GAAG,CACxB1B,MADwB,EAExBO,OAFwB,EAGxBC,OAHwB,KAIrBc,UAAU,CAACtB,MAAD,EAAS,MAAMW,QAAQ,CAACX,MAAD,EAASO,OAAT,EAAkBC,OAAlB,CAAvB,CAJR;;;;AAMP,MAAMmB,QAAQ,GAAIH,IAAD,IAAkBA,IAAnC;;AAEO,MAAMI,OAAO,GAAG,CACrB5B,MADqB,EAErBQ,OAFqB,KAGlBkB,UAAU,CAAC1B,MAAD,EAAS2B,QAAT,EAAmBnB,OAAnB,CAHR","sourcesContent":["import { useEffect, useState } from \"react\";\nimport { Image } from \"react-native\";\n\nimport { Skia } from \"../Skia\";\nimport { isRNModule } from \"../types\";\nimport type { SkData, DataModule, DataSourceParam } from \"../types\";\n\nconst resolveAsset = (source: DataModule) => {\n return isRNModule(source)\n ? Image.resolveAssetSource(source).uri\n : source.default;\n};\n\nconst factoryWrapper = <T>(\n data2: SkData,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => {\n const factoryResult = factory(data2);\n if (factoryResult === null) {\n onError && onError(new Error(\"Could not load data\"));\n return null;\n } else {\n return factoryResult;\n }\n};\n\nconst loadData = <T>(\n source: DataSourceParam,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n): Promise<T | null> => {\n if (source === null || source === undefined) {\n return new Promise((resolve) => resolve(null));\n } else if (source instanceof Uint8Array) {\n return new Promise((resolve) =>\n resolve(factoryWrapper(Skia.Data.fromBytes(source), factory, onError))\n );\n } else {\n const uri = typeof source === \"string\" ? source : resolveAsset(source);\n return Skia.Data.fromURI(uri).then((d) =>\n factoryWrapper(d, factory, onError)\n );\n }\n};\nconst useLoading = <T>(\n source: DataSourceParam,\n loader: () => Promise<T | null>\n) => {\n const [data, setData] = useState<T | null>(null);\n useEffect(() => {\n loader().then(setData);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [source]);\n return data;\n};\n\nexport const useRawData = <T>(\n source: DataSourceParam,\n factory: (data: SkData) => T,\n onError?: (err: Error) => void\n) => useLoading(source, () => loadData(source, factory, onError));\n\nconst identity = (data: SkData) => data;\n\nexport const useData = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, identity, onError);\n"]}
|
@@ -25,9 +25,8 @@ const useFont = (font, size, onError) => {
|
|
25
25
|
return _Skia.Skia.Font(typeface);
|
26
26
|
} else {
|
27
27
|
return null;
|
28
|
-
}
|
29
|
-
|
30
|
-
}, [typeface]);
|
28
|
+
}
|
29
|
+
}, [size, typeface]);
|
31
30
|
};
|
32
31
|
|
33
32
|
exports.useFont = useFont;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["Font.ts"],"names":["useFont","font","size","onError","typeface","Skia","Font"],"mappings":";;;;;;;AACA;;AAEA;;AAGA;;AANA;;AAQA;AACA;AACA;AACO,MAAMA,OAAO,GAAG,CACrBC,IADqB,EAErBC,IAFqB,EAGrBC,OAHqB,
|
1
|
+
{"version":3,"sources":["Font.ts"],"names":["useFont","font","size","onError","typeface","Skia","Font"],"mappings":";;;;;;;AACA;;AAEA;;AAGA;;AANA;;AAQA;AACA;AACA;AACO,MAAMA,OAAO,GAAG,CACrBC,IADqB,EAErBC,IAFqB,EAGrBC,OAHqB,KAIlB;AACH,QAAMC,QAAQ,GAAG,2BAAYH,IAAZ,EAAkBE,OAAlB,CAAjB;AACA,SAAO,oBAAQ,MAAM;AACnB,QAAIC,QAAQ,IAAIF,IAAhB,EAAsB;AACpB,aAAOG,WAAKC,IAAL,CAAUF,QAAV,EAAoBF,IAApB,CAAP;AACD,KAFD,MAEO,IAAIE,QAAQ,IAAI,CAACF,IAAjB,EAAuB;AAC5B,aAAOG,WAAKC,IAAL,CAAUF,QAAV,CAAP;AACD,KAFM,MAEA;AACL,aAAO,IAAP;AACD;AACF,GARM,EAQJ,CAACF,IAAD,EAAOE,QAAP,CARI,CAAP;AASD,CAfM","sourcesContent":["/*global SkiaApi*/\nimport { useMemo } from \"react\";\n\nimport { Skia } from \"../Skia\";\nimport type { DataSourceParam } from \"../types\";\n\nimport { useTypeface } from \"./Typeface\";\n\n/**\n * Returns a Skia Font object\n * */\nexport const useFont = (\n font: DataSourceParam,\n size?: number,\n onError?: (err: Error) => void\n) => {\n const typeface = useTypeface(font, onError);\n return useMemo(() => {\n if (typeface && size) {\n return Skia.Font(typeface, size);\n } else if (typeface && !size) {\n return Skia.Font(typeface);\n } else {\n return null;\n }\n }, [size, typeface]);\n};\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["Image.ts"],"names":["imgFactory","Skia","Image","MakeImageFromEncoded","bind","useImage","source","onError"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,UAAU,GAAGC,WAAKC,KAAL,CAAWC,oBAAX,CAAgCC,IAAhC,CAAqCH,WAAKC,KAA1C,CAAnB;AAEA;AACA;AACA;;;AACO,MAAMG,QAAQ,GAAG,CACtBC,MADsB,EAEtBC,OAFsB,KAGnB,sBAAWD,MAAX,EAAmBN,UAAnB,EAA+BO,OAA/B,CAHE","sourcesContent":["import { Skia } from \"../Skia\";\nimport type {
|
1
|
+
{"version":3,"sources":["Image.ts"],"names":["imgFactory","Skia","Image","MakeImageFromEncoded","bind","useImage","source","onError"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,UAAU,GAAGC,WAAKC,KAAL,CAAWC,oBAAX,CAAgCC,IAAhC,CAAqCH,WAAKC,KAA1C,CAAnB;AAEA;AACA;AACA;;;AACO,MAAMG,QAAQ,GAAG,CACtBC,MADsB,EAEtBC,OAFsB,KAGnB,sBAAWD,MAAX,EAAmBN,UAAnB,EAA+BO,OAA/B,CAHE","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSourceParam } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst imgFactory = Skia.Image.MakeImageFromEncoded.bind(Skia.Image);\n\n/**\n * Returns a Skia Image object\n * */\nexport const useImage = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, imgFactory, onError);\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["SVG.ts"],"names":["svgFactory","Skia","SVG","MakeFromData","bind","useSVG","source","onError"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,UAAU,GAAGC,WAAKC,GAAL,CAASC,YAAT,CAAsBC,IAAtB,CAA2BH,WAAKC,GAAhC,CAAnB;;AAEO,MAAMG,MAAM,GAAG,CACpBC,MADoB,EAEpBC,OAFoB,KAGjB,sBAAWD,MAAX,EAAmBN,UAAnB,EAA+BO,OAA/B,CAHE","sourcesContent":["import { Skia } from \"../Skia\";\nimport type {
|
1
|
+
{"version":3,"sources":["SVG.ts"],"names":["svgFactory","Skia","SVG","MakeFromData","bind","useSVG","source","onError"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,UAAU,GAAGC,WAAKC,GAAL,CAASC,YAAT,CAAsBC,IAAtB,CAA2BH,WAAKC,GAAhC,CAAnB;;AAEO,MAAMG,MAAM,GAAG,CACpBC,MADoB,EAEpBC,OAFoB,KAGjB,sBAAWD,MAAX,EAAmBN,UAAnB,EAA+BO,OAA/B,CAHE","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSourceParam } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst svgFactory = Skia.SVG.MakeFromData.bind(Skia.SVG);\n\nexport const useSVG = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, svgFactory, onError);\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["Typeface.ts"],"names":["tfFactory","Skia","Typeface","MakeFreeTypeFaceFromData","bind","useTypeface","source","onError"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,SAAS,GAAGC,WAAKC,QAAL,CAAcC,wBAAd,CAAuCC,IAAvC,CAA4CH,WAAKC,QAAjD,CAAlB;AAEA;AACA;AACA;;;AACO,MAAMG,WAAW,GAAG,CACzBC,MADyB,EAEzBC,OAFyB,KAGtB,sBAAWD,MAAX,EAAmBN,SAAnB,EAA8BO,OAA9B,CAHE","sourcesContent":["import { Skia } from \"../Skia\";\nimport type {
|
1
|
+
{"version":3,"sources":["Typeface.ts"],"names":["tfFactory","Skia","Typeface","MakeFreeTypeFaceFromData","bind","useTypeface","source","onError"],"mappings":";;;;;;;AAAA;;AAGA;;AAEA,MAAMA,SAAS,GAAGC,WAAKC,QAAL,CAAcC,wBAAd,CAAuCC,IAAvC,CAA4CH,WAAKC,QAAjD,CAAlB;AAEA;AACA;AACA;;;AACO,MAAMG,WAAW,GAAG,CACzBC,MADyB,EAEzBC,OAFyB,KAGtB,sBAAWD,MAAX,EAAmBN,SAAnB,EAA8BO,OAA9B,CAHE","sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSourceParam } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst tfFactory = Skia.Typeface.MakeFreeTypeFaceFromData.bind(Skia.Typeface);\n\n/**\n * Returns a Skia Typeface object\n * */\nexport const useTypeface = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, tfFactory, onError);\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
1
|
+
{"version":3,"sources":["Data.ts"],"names":["isRNModule","mod"],"mappings":";;;;;;;AAaO,MAAMA,UAAU,GAAIC,GAAD,IACxB,OAAOA,GAAP,KAAe,QADV","sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\n\nexport type SkData = SkJSIInstance<\"Data\">;\n\ntype RNModule = number;\ntype ESModule = {\n __esModule: true;\n default: string;\n};\nexport type DataModule = RNModule | ESModule;\nexport type DataSource = DataModule | string | Uint8Array;\nexport type DataSourceParam = DataSource | null | undefined;\n\nexport const isRNModule = (mod: DataModule): mod is RNModule =>\n typeof mod === \"number\";\n"]}
|
@@ -9,13 +9,15 @@ var _Host = require("./Host");
|
|
9
9
|
|
10
10
|
var _JsiSkRect = require("./JsiSkRect");
|
11
11
|
|
12
|
+
var _JsiSkRRect = require("./JsiSkRRect");
|
13
|
+
|
12
14
|
class JsiSkCanvas extends _Host.HostObject {
|
13
15
|
constructor(CanvasKit, ref) {
|
14
16
|
super(CanvasKit, ref, "Canvas");
|
15
17
|
}
|
16
18
|
|
17
19
|
drawRect(rect, paint) {
|
18
|
-
this.ref.drawRect(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect)
|
20
|
+
this.ref.drawRect(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect), (0, _Host.toValue)(paint));
|
19
21
|
}
|
20
22
|
|
21
23
|
drawImage(image, x, y, paint) {
|
@@ -23,7 +25,7 @@ class JsiSkCanvas extends _Host.HostObject {
|
|
23
25
|
}
|
24
26
|
|
25
27
|
drawImageRect(img, src, dest, paint, fastSample) {
|
26
|
-
this.ref.drawImageRect((0, _Host.toValue)(img), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, src)
|
28
|
+
this.ref.drawImageRect((0, _Host.toValue)(img), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, src), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, dest), (0, _Host.toValue)(paint), fastSample);
|
27
29
|
}
|
28
30
|
|
29
31
|
drawImageCubic(img, left, top, B, C, paint) {
|
@@ -39,11 +41,11 @@ class JsiSkCanvas extends _Host.HostObject {
|
|
39
41
|
}
|
40
42
|
|
41
43
|
drawImageRectCubic(img, src, dest, B, C, paint) {
|
42
|
-
this.ref.drawImageRectCubic((0, _Host.toValue)(img), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, src)
|
44
|
+
this.ref.drawImageRectCubic((0, _Host.toValue)(img), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, src), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, dest), B, C, (0, _Host.toOptionalValue)(paint));
|
43
45
|
}
|
44
46
|
|
45
47
|
drawImageRectOptions(img, src, dest, fm, mm, paint) {
|
46
|
-
this.ref.drawImageRectOptions((0, _Host.toValue)(img), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, src)
|
48
|
+
this.ref.drawImageRectOptions((0, _Host.toValue)(img), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, src), _JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, dest), (0, _Host.ckEnum)(fm), (0, _Host.ckEnum)(mm), (0, _Host.toOptionalValue)(paint));
|
47
49
|
}
|
48
50
|
|
49
51
|
drawPaint(paint) {
|
@@ -91,7 +93,7 @@ class JsiSkCanvas extends _Host.HostObject {
|
|
91
93
|
}
|
92
94
|
|
93
95
|
drawRRect(rrect, paint) {
|
94
|
-
this.ref.drawRRect((
|
96
|
+
this.ref.drawRRect(_JsiSkRRect.JsiSkRRect.fromValue(this.CanvasKit, rrect), (0, _Host.toValue)(paint));
|
95
97
|
}
|
96
98
|
|
97
99
|
drawDRRect(outer, inner, paint) {
|
@@ -163,11 +165,11 @@ class JsiSkCanvas extends _Host.HostObject {
|
|
163
165
|
}
|
164
166
|
|
165
167
|
clipRect(rect, op, doAntiAlias) {
|
166
|
-
this.ref.clipRect((
|
168
|
+
this.ref.clipRect(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect), (0, _Host.ckEnum)(op), doAntiAlias);
|
167
169
|
}
|
168
170
|
|
169
171
|
clipRRect(rrect, op, doAntiAlias) {
|
170
|
-
this.ref.clipRRect((
|
172
|
+
this.ref.clipRRect(_JsiSkRRect.JsiSkRRect.fromValue(this.CanvasKit, rrect), (0, _Host.ckEnum)(op), doAntiAlias);
|
171
173
|
}
|
172
174
|
|
173
175
|
concat(m) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkCanvas.ts"],"names":["JsiSkCanvas","HostObject","constructor","CanvasKit","ref","drawRect","rect","paint","JsiSkRect","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","restoreToCount","saveCount","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","p","drawSvg","_svgDom","_width","_height","Error","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","undefined","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","drawPicture","skp"],"mappings":"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","sourcesContent":["import type { Canvas, Image, CanvasKit, Paint } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n SkRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n} from \"../types\";\n\nimport {\n ckEnum,\n HostObject,\n toValue,\n toUndefinedableValue,\n toOptionalValue,\n} from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect).ref,\n toValue<Paint>(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(toValue<Image>(image), x, y, toOptionalValue(paint));\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n toValue<Paint>(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n toValue(img),\n left,\n top,\n B,\n C,\n toOptionalValue(paint)\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n toValue(img),\n left,\n top,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n toValue(img),\n toValue(center),\n toValue(dest),\n ckEnum(filter),\n toOptionalValue(paint)\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n B,\n C,\n toOptionalValue(paint)\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src).ref,\n JsiSkRect.fromValue(this.CanvasKit, dest).ref,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(toValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, toValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, toValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(toValue(verts), ckEnum(mode), toValue(paint));\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n toOptionalValue(texs),\n mode ? ckEnum(mode) : null,\n toUndefinedableValue(paint)\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n ckEnum(mode),\n points.map(({ x, y }) => [x, y]).flat(),\n toValue(paint)\n );\n }\n\n drawArc(\n oval: SkRect,\n startAngle: number,\n sweepAngle: number,\n useCenter: boolean,\n paint: SkPaint\n ) {\n this.ref.drawArc(\n toValue(oval),\n startAngle,\n sweepAngle,\n useCenter,\n toValue(paint)\n );\n }\n\n drawRRect(rrect: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(toValue(rrect), toValue(paint));\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(toValue(outer), toValue(inner), toValue(paint));\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(toValue(oval), toValue(paint));\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(toValue(path), toValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(str, x, y, toValue(paint), toValue(font));\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(toValue(blob), x, y, toValue(paint));\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n toValue(font),\n toValue(paint)\n );\n }\n\n drawSvg(_svgDom: SkSVG, _width?: number, _height?: number) {\n throw new Error(\"drawSvg is not implemented on React Native Web\");\n }\n\n save() {\n return this.ref.save();\n }\n\n saveLayer(\n paint?: SkPaint,\n bounds?: SkRect | null,\n backdrop?: SkImageFilter | null,\n flags?: SaveLayerFlag\n ) {\n return this.ref.saveLayer(\n toUndefinedableValue(paint),\n toOptionalValue(bounds),\n toOptionalValue(backdrop),\n flags\n );\n }\n\n restore() {\n this.ref.restore();\n }\n\n rotate(rotationInDegrees: number, rx: number, ry: number) {\n this.ref.rotate(rotationInDegrees, rx, ry);\n }\n\n scale(sx: number, sy: number) {\n this.ref.scale(sx, sy);\n }\n\n skew(sx: number, sy: number) {\n this.ref.skew(sx, sy);\n }\n\n translate(dx: number, dy: number) {\n this.ref.translate(dx, dy);\n }\n\n drawColor(color: SkColor, blendMode?: BlendMode) {\n this.ref.drawColor(color, blendMode ? ckEnum(blendMode) : undefined);\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(toValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(toValue(rect), ckEnum(op), doAntiAlias);\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(toValue(rrect), ckEnum(op), doAntiAlias);\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(toValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(toValue(skp));\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["JsiSkCanvas.ts"],"names":["JsiSkCanvas","HostObject","constructor","CanvasKit","ref","drawRect","rect","paint","JsiSkRect","fromValue","drawImage","image","x","y","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","drawImageNine","center","filter","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","drawPatch","cubics","colors","texs","map","flat","restoreToCount","saveCount","drawPoints","points","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","JsiSkRRect","drawDRRect","outer","inner","drawOval","drawPath","path","drawText","str","font","drawTextBlob","blob","drawGlyphs","glyphs","positions","p","drawSvg","_svgDom","_width","_height","Error","save","saveLayer","bounds","backdrop","flags","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","undefined","clear","clipPath","op","doAntiAlias","clipRect","clipRRect","concat","m","drawPicture","skp"],"mappings":"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","sourcesContent":["import type { Canvas, Image, CanvasKit, Paint } from \"canvaskit-wasm\";\n\nimport type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n SkRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n} from \"../types\";\n\nimport {\n ckEnum,\n HostObject,\n toValue,\n toUndefinedableValue,\n toOptionalValue,\n} from \"./Host\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\n\nexport class JsiSkCanvas\n extends HostObject<Canvas, \"Canvas\">\n implements SkCanvas\n{\n constructor(CanvasKit: CanvasKit, ref: Canvas) {\n super(CanvasKit, ref, \"Canvas\");\n }\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n toValue<Paint>(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(toValue<Image>(image), x, y, toOptionalValue(paint));\n }\n\n drawImageRect(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n paint: SkPaint,\n fastSample?: boolean\n ) {\n this.ref.drawImageRect(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n toValue<Paint>(paint),\n fastSample\n );\n }\n\n drawImageCubic(\n img: SkImage,\n left: number,\n top: number,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageCubic(\n toValue(img),\n left,\n top,\n B,\n C,\n toOptionalValue(paint)\n );\n }\n\n drawImageOptions(\n img: SkImage,\n left: number,\n top: number,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageOptions(\n toValue(img),\n left,\n top,\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawImageNine(\n img: SkImage,\n center: SkRect,\n dest: SkRect,\n filter: FilterMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageNine(\n toValue(img),\n toValue(center),\n toValue(dest),\n ckEnum(filter),\n toOptionalValue(paint)\n );\n }\n\n drawImageRectCubic(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n B: number,\n C: number,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectCubic(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n toOptionalValue(paint)\n );\n }\n\n drawImageRectOptions(\n img: SkImage,\n src: SkRect,\n dest: SkRect,\n fm: FilterMode,\n mm: MipmapMode,\n paint?: SkPaint | null\n ) {\n this.ref.drawImageRectOptions(\n toValue<Image>(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n ckEnum(fm),\n ckEnum(mm),\n toOptionalValue(paint)\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(toValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, toValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, toValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(toValue(verts), ckEnum(mode), toValue(paint));\n }\n\n drawPatch(\n cubics: SkPoint[],\n colors?: SkColor[] | null,\n texs?: SkPoint[] | null,\n mode?: BlendMode | null,\n paint?: SkPaint\n ) {\n this.ref.drawPatch(\n cubics.map(({ x, y }) => [x, y]).flat(),\n colors,\n toOptionalValue(texs),\n mode ? ckEnum(mode) : null,\n toUndefinedableValue(paint)\n );\n }\n\n restoreToCount(saveCount: number) {\n this.ref.restoreToCount(saveCount);\n }\n\n drawPoints(mode: PointMode, points: SkPoint[], paint: SkPaint) {\n this.ref.drawPoints(\n ckEnum(mode),\n points.map(({ x, y }) => [x, y]).flat(),\n toValue(paint)\n );\n }\n\n drawArc(\n oval: SkRect,\n startAngle: number,\n sweepAngle: number,\n useCenter: boolean,\n paint: SkPaint\n ) {\n this.ref.drawArc(\n toValue(oval),\n startAngle,\n sweepAngle,\n useCenter,\n toValue(paint)\n );\n }\n\n drawRRect(rrect: SkRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n toValue(paint)\n );\n }\n\n drawDRRect(outer: SkRRect, inner: SkRRect, paint: SkPaint) {\n this.ref.drawDRRect(toValue(outer), toValue(inner), toValue(paint));\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(toValue(oval), toValue(paint));\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(toValue(path), toValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(str, x, y, toValue(paint), toValue(font));\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(toValue(blob), x, y, toValue(paint));\n }\n\n drawGlyphs(\n glyphs: number[],\n positions: SkPoint[],\n x: number,\n y: number,\n font: SkFont,\n paint: SkPaint\n ) {\n this.ref.drawGlyphs(\n glyphs,\n positions.map((p) => [p.x, p.y]).flat(),\n x,\n y,\n toValue(font),\n toValue(paint)\n );\n }\n\n drawSvg(_svgDom: SkSVG, _width?: number, _height?: number) {\n throw new Error(\"drawSvg is not implemented on React Native Web\");\n }\n\n save() {\n return this.ref.save();\n }\n\n saveLayer(\n paint?: SkPaint,\n bounds?: SkRect | null,\n backdrop?: SkImageFilter | null,\n flags?: SaveLayerFlag\n ) {\n return this.ref.saveLayer(\n toUndefinedableValue(paint),\n toOptionalValue(bounds),\n toOptionalValue(backdrop),\n flags\n );\n }\n\n restore() {\n this.ref.restore();\n }\n\n rotate(rotationInDegrees: number, rx: number, ry: number) {\n this.ref.rotate(rotationInDegrees, rx, ry);\n }\n\n scale(sx: number, sy: number) {\n this.ref.scale(sx, sy);\n }\n\n skew(sx: number, sy: number) {\n this.ref.skew(sx, sy);\n }\n\n translate(dx: number, dy: number) {\n this.ref.translate(dx, dy);\n }\n\n drawColor(color: SkColor, blendMode?: BlendMode) {\n this.ref.drawColor(color, blendMode ? ckEnum(blendMode) : undefined);\n }\n\n clear(color: SkColor) {\n this.ref.clear(color);\n }\n\n clipPath(path: SkPath, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipPath(toValue(path), ckEnum(op), doAntiAlias);\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: SkRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n ckEnum(op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix) {\n this.ref.concat(toValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(toValue(skp));\n }\n}\n"]}
|
@@ -13,6 +13,8 @@ var _JsiSkPoint = require("./JsiSkPoint");
|
|
13
13
|
|
14
14
|
var _JsiSkRect = require("./JsiSkRect");
|
15
15
|
|
16
|
+
var _JsiSkRRect = require("./JsiSkRRect");
|
17
|
+
|
16
18
|
const CommandCount = {
|
17
19
|
[_types.PathVerb.Move]: 3,
|
18
20
|
[_types.PathVerb.Line]: 3,
|
@@ -44,12 +46,12 @@ class JsiSkPath extends _Host.HostObject {
|
|
44
46
|
}
|
45
47
|
|
46
48
|
addArc(oval, startAngleInDegrees, sweepAngleInDegrees) {
|
47
|
-
this.ref.addArc((
|
49
|
+
this.ref.addArc(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, oval), startAngleInDegrees, sweepAngleInDegrees);
|
48
50
|
return this;
|
49
51
|
}
|
50
52
|
|
51
53
|
addOval(oval, isCCW, startIndex) {
|
52
|
-
this.ref.addOval((
|
54
|
+
this.ref.addOval(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, oval), isCCW, startIndex);
|
53
55
|
return this;
|
54
56
|
}
|
55
57
|
|
@@ -149,7 +151,7 @@ class JsiSkPath extends _Host.HostObject {
|
|
149
151
|
}
|
150
152
|
|
151
153
|
arcToOval(oval, startAngleInDegrees, sweepAngleInDegrees, forceMoveTo) {
|
152
|
-
this.ref.arcToOval((
|
154
|
+
this.ref.arcToOval(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, oval), startAngleInDegrees, sweepAngleInDegrees, forceMoveTo);
|
153
155
|
return this;
|
154
156
|
}
|
155
157
|
|
@@ -202,11 +204,11 @@ class JsiSkPath extends _Host.HostObject {
|
|
202
204
|
}
|
203
205
|
|
204
206
|
addRect(rect, isCCW) {
|
205
|
-
this.ref.addRect((
|
207
|
+
this.ref.addRect(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);
|
206
208
|
}
|
207
209
|
|
208
210
|
addRRect(rrect, isCCW) {
|
209
|
-
this.ref.addRRect((
|
211
|
+
this.ref.addRRect(_JsiSkRRect.JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);
|
210
212
|
return this;
|
211
213
|
}
|
212
214
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["JsiSkPath.ts"],"names":["CommandCount","PathVerb","Move","Line","Quad","Conic","Cubic","Close","areCmdsInterpolatable","cmd1","cmd2","length","i","JsiSkPath","HostObject","constructor","CanvasKit","ref","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","cap","reset","rewind","computeTightBounds","JsiSkRect","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","getPoint","index","JsiSkPoint","isEmpty","isVolatile","addCircle","r","LTRBRect","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","interpolate","end","t","toCmds","interpolated","forEach","cmd","interpolatedCmd","push","c","j","c2","Path","MakeFromCmds","flat","isInterpolatable","path2","cmds","reduce","acc","current"],"mappings":"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","sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum, toValue } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nconst areCmdsInterpolatable = (cmd1: PathCommand[], cmd2: PathCommand[]) => {\n if (cmd1.length !== cmd2.length) {\n return false;\n }\n for (let i = 0; i < cmd1.length; i++) {\n if (cmd1[i][0] !== cmd2[i][0]) {\n return false;\n } else if (cmd1[i][0] === PathVerb.Conic && cmd1[i][5] !== cmd2[i][5]) {\n return false;\n }\n }\n return true;\n};\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(toValue(oval), startAngleInDegrees, sweepAngleInDegrees);\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(toValue(oval), isCCW, startIndex);\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => toValue(p)),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n toValue(oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(toValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(toValue(rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(toValue(rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n // We leave the comment below to remind us that this is not implemented in CanvasKit\n // throw new NotImplementedOnRNWeb();\n this.ref.addOval(this.CanvasKit.LTRBRect(x - r, y - r, x + r, y + r));\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(toValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(startT: number, stopT: number, isComplement: boolean) {\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(toValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = end.toCmds();\n if (!areCmdsInterpolatable(cmd1, cmd2)) {\n return null;\n }\n const interpolated: PathCommand[] = [];\n cmd1.forEach((cmd, i) => {\n const interpolatedCmd = [cmd[0]];\n interpolated.push(interpolatedCmd);\n cmd.forEach((c, j) => {\n if (j === 0) {\n return;\n }\n if (interpolatedCmd[0] === PathVerb.Conic && j === 5) {\n interpolatedCmd.push(c);\n } else {\n const c2 = cmd2[i][j];\n interpolatedCmd.push(c2 + (c - c2) * t);\n }\n });\n });\n const path = this.CanvasKit.Path.MakeFromCmds(interpolated.flat());\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = path2.toCmds();\n return areCmdsInterpolatable(cmd1, cmd2);\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"]}
|
1
|
+
{"version":3,"sources":["JsiSkPath.ts"],"names":["CommandCount","PathVerb","Move","Line","Quad","Conic","Cubic","Close","areCmdsInterpolatable","cmd1","cmd2","length","i","JsiSkPath","HostObject","constructor","CanvasKit","ref","addArc","oval","startAngleInDegrees","sweepAngleInDegrees","JsiSkRect","fromValue","addOval","isCCW","startIndex","countPoints","addPoly","points","close","map","p","moveTo","x","y","lineTo","makeAsWinding","result","offset","dx","dy","rArcTo","rx","ry","xAxisRotateInDegrees","useSmallArc","rConicTo","dx1","dy1","dx2","dy2","w","rCubicTo","cpx1","cpy1","cpx2","cpy2","rMoveTo","rLineTo","rQuadTo","x1","y1","x2","y2","setFillType","fill","setIsVolatile","volatile","stroke","opts","undefined","width","miter_limit","precision","join","cap","reset","rewind","computeTightBounds","arcToOval","forceMoveTo","arcToRotated","arcToTangent","radius","conicTo","contains","copy","cubicTo","dash","on","off","phase","equals","other","getBounds","getFillType","value","quadTo","addRect","rect","addRRect","rrect","JsiSkRRect","getPoint","index","JsiSkPoint","isEmpty","isVolatile","addCircle","r","LTRBRect","getLastPt","op","path","simplify","toSVGString","trim","startT","stopT","isComplement","transform","m3","interpolate","end","t","toCmds","interpolated","forEach","cmd","interpolatedCmd","push","c","j","c2","Path","MakeFromCmds","flat","isInterpolatable","path2","cmds","reduce","acc","current"],"mappings":";;;;;;;AAEA;;AAaA;;AACA;;AACA;;AACA;;AAEA,MAAMA,YAAY,GAAG;AACnB,GAACC,gBAASC,IAAV,GAAiB,CADE;AAEnB,GAACD,gBAASE,IAAV,GAAiB,CAFE;AAGnB,GAACF,gBAASG,IAAV,GAAiB,CAHE;AAInB,GAACH,gBAASI,KAAV,GAAkB,CAJC;AAKnB,GAACJ,gBAASK,KAAV,GAAkB,CALC;AAMnB,GAACL,gBAASM,KAAV,GAAkB;AANC,CAArB;;AASA,MAAMC,qBAAqB,GAAG,CAACC,IAAD,EAAsBC,IAAtB,KAA8C;AAC1E,MAAID,IAAI,CAACE,MAAL,KAAgBD,IAAI,CAACC,MAAzB,EAAiC;AAC/B,WAAO,KAAP;AACD;;AACD,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,IAAI,CAACE,MAAzB,EAAiCC,CAAC,EAAlC,EAAsC;AACpC,QAAIH,IAAI,CAACG,CAAD,CAAJ,CAAQ,CAAR,MAAeF,IAAI,CAACE,CAAD,CAAJ,CAAQ,CAAR,CAAnB,EAA+B;AAC7B,aAAO,KAAP;AACD,KAFD,MAEO,IAAIH,IAAI,CAACG,CAAD,CAAJ,CAAQ,CAAR,MAAeX,gBAASI,KAAxB,IAAiCI,IAAI,CAACG,CAAD,CAAJ,CAAQ,CAAR,MAAeF,IAAI,CAACE,CAAD,CAAJ,CAAQ,CAAR,CAApD,EAAgE;AACrE,aAAO,KAAP;AACD;AACF;;AACD,SAAO,IAAP;AACD,CAZD;;AAcO,MAAMC,SAAN,SAAwBC,gBAAxB,CAAmE;AACxEC,EAAAA,WAAW,CAACC,SAAD,EAAuBC,GAAvB,EAAkC;AAC3C,UAAMD,SAAN,EAAiBC,GAAjB,EAAsB,MAAtB;AACD;;AAEDC,EAAAA,MAAM,CACJC,IADI,EAEJC,mBAFI,EAGJC,mBAHI,EAIJ;AACA,SAAKJ,GAAL,CAASC,MAAT,CACEI,qBAAUC,SAAV,CAAoB,KAAKP,SAAzB,EAAoCG,IAApC,CADF,EAEEC,mBAFF,EAGEC,mBAHF;AAKA,WAAO,IAAP;AACD;;AAEDG,EAAAA,OAAO,CAACL,IAAD,EAAeM,KAAf,EAAgCC,UAAhC,EAAqD;AAC1D,SAAKT,GAAL,CAASO,OAAT,CACEF,qBAAUC,SAAV,CAAoB,KAAKP,SAAzB,EAAoCG,IAApC,CADF,EAEEM,KAFF,EAGEC,UAHF;AAKA,WAAO,IAAP;AACD;;AAEDC,EAAAA,WAAW,GAAG;AACZ,WAAO,KAAKV,GAAL,CAASU,WAAT,EAAP;AACD;;AAEDC,EAAAA,OAAO,CAACC,MAAD,EAAoBC,KAApB,EAAoC;AACzC,SAAKb,GAAL,CAASW,OAAT,CACEC,MAAM,CAACE,GAAP,CAAYC,CAAD,IAAO,mBAAQA,CAAR,CAAlB,CADF,EAEEF,KAFF;AAIA,WAAO,IAAP;AACD;;AAEDG,EAAAA,MAAM,CAACC,CAAD,EAAYC,CAAZ,EAAuB;AAC3B,SAAKlB,GAAL,CAASgB,MAAT,CAAgBC,CAAhB,EAAmBC,CAAnB;AACA,WAAO,IAAP;AACD;;AAEDC,EAAAA,MAAM,CAACF,CAAD,EAAYC,CAAZ,EAAuB;AAC3B,SAAKlB,GAAL,CAASmB,MAAT,CAAgBF,CAAhB,EAAmBC,CAAnB;AACA,WAAO,IAAP;AACD;;AAEDE,EAAAA,aAAa,GAAG;AACd,UAAMC,MAAM,GAAG,KAAKrB,GAAL,CAASoB,aAAT,EAAf;AACA,WAAOC,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;AACD;;AAEDC,EAAAA,MAAM,CAACC,EAAD,EAAaC,EAAb,EAAyB;AAC7B,SAAKxB,GAAL,CAASsB,MAAT,CAAgBC,EAAhB,EAAoBC,EAApB;AACA,WAAO,IAAP;AACD;;AAEDC,EAAAA,MAAM,CACJC,EADI,EAEJC,EAFI,EAGJC,oBAHI,EAIJC,WAJI,EAKJrB,KALI,EAMJe,EANI,EAOJC,EAPI,EAQJ;AACA,SAAKxB,GAAL,CAASyB,MAAT,CAAgBC,EAAhB,EAAoBC,EAApB,EAAwBC,oBAAxB,EAA8CC,WAA9C,EAA2DrB,KAA3D,EAAkEe,EAAlE,EAAsEC,EAAtE;AACA,WAAO,IAAP;AACD;;AAEDM,EAAAA,QAAQ,CAACC,GAAD,EAAcC,GAAd,EAA2BC,GAA3B,EAAwCC,GAAxC,EAAqDC,CAArD,EAAgE;AACtE,SAAKnC,GAAL,CAAS8B,QAAT,CAAkBC,GAAlB,EAAuBC,GAAvB,EAA4BC,GAA5B,EAAiCC,GAAjC,EAAsCC,CAAtC;AACA,WAAO,IAAP;AACD;;AAEDC,EAAAA,QAAQ,CACNC,IADM,EAENC,IAFM,EAGNC,IAHM,EAINC,IAJM,EAKNvB,CALM,EAMNC,CANM,EAON;AACA,SAAKlB,GAAL,CAASoC,QAAT,CAAkBC,IAAlB,EAAwBC,IAAxB,EAA8BC,IAA9B,EAAoCC,IAApC,EAA0CvB,CAA1C,EAA6CC,CAA7C;AACA,WAAO,IAAP;AACD;;AAEDuB,EAAAA,OAAO,CAACxB,CAAD,EAAYC,CAAZ,EAAuB;AAC5B,SAAKlB,GAAL,CAASyC,OAAT,CAAiBxB,CAAjB,EAAoBC,CAApB;AACA,WAAO,IAAP;AACD;;AAEDwB,EAAAA,OAAO,CAACzB,CAAD,EAAYC,CAAZ,EAAuB;AAC5B,SAAKlB,GAAL,CAAS0C,OAAT,CAAiBzB,CAAjB,EAAoBC,CAApB;AACA,WAAO,IAAP;AACD;;AAEDyB,EAAAA,OAAO,CAACC,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiD;AACtD,SAAK/C,GAAL,CAAS2C,OAAT,CAAiBC,EAAjB,EAAqBC,EAArB,EAAyBC,EAAzB,EAA6BC,EAA7B;AACA,WAAO,IAAP;AACD;;AAEDC,EAAAA,WAAW,CAACC,IAAD,EAAiB;AAC1B,SAAKjD,GAAL,CAASgD,WAAT,CAAqB,kBAAOC,IAAP,CAArB;AACD;;AAEDC,EAAAA,aAAa,CAACC,QAAD,EAAoB;AAC/B,SAAKnD,GAAL,CAASkD,aAAT,CAAuBC,QAAvB;AACD;;AAEDC,EAAAA,MAAM,CAACC,IAAD,EAAoB;AACxB,UAAMhC,MAAM,GAAG,KAAKrB,GAAL,CAASoD,MAAT,CACbC,IAAI,KAAKC,SAAT,GACIA,SADJ,GAEI;AACEC,MAAAA,KAAK,EAAEF,IAAI,CAACE,KADd;AAEE;AACAC,MAAAA,WAAW,EAAEH,IAAI,CAACE,KAHpB;AAIEE,MAAAA,SAAS,EAAEJ,IAAI,CAACE,KAJlB;AAKEG,MAAAA,IAAI,EAAE,mBAAQL,IAAI,CAACK,IAAb,CALR;AAMEC,MAAAA,GAAG,EAAE,mBAAQN,IAAI,CAACM,GAAb;AANP,KAHS,CAAf;AAYA,WAAOtC,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;AACD;;AAEDR,EAAAA,KAAK,GAAG;AACN,SAAKb,GAAL,CAASa,KAAT;AACD;;AAED+C,EAAAA,KAAK,GAAG;AACN,SAAK5D,GAAL,CAAS4D,KAAT;AACD;;AAEDC,EAAAA,MAAM,GAAG;AACP,SAAK7D,GAAL,CAAS6D,MAAT;AACD;;AAEDC,EAAAA,kBAAkB,GAAW;AAC3B,WAAO,IAAIzD,oBAAJ,CAAc,KAAKN,SAAnB,EAA8B,KAAKC,GAAL,CAAS8D,kBAAT,EAA9B,CAAP;AACD;;AAEDC,EAAAA,SAAS,CACP7D,IADO,EAEPC,mBAFO,EAGPC,mBAHO,EAIP4D,WAJO,EAKP;AACA,SAAKhE,GAAL,CAAS+D,SAAT,CACE1D,qBAAUC,SAAV,CAAoB,KAAKP,SAAzB,EAAoCG,IAApC,CADF,EAEEC,mBAFF,EAGEC,mBAHF,EAIE4D,WAJF;AAMA,WAAO,IAAP;AACD;;AAEDC,EAAAA,YAAY,CACVvC,EADU,EAEVC,EAFU,EAGVC,oBAHU,EAIVC,WAJU,EAKVrB,KALU,EAMVS,CANU,EAOVC,CAPU,EAQV;AACA,SAAKlB,GAAL,CAASiE,YAAT,CACEvC,EADF,EAEEC,EAFF,EAGEC,oBAHF,EAIEC,WAJF,EAKErB,KALF,EAMES,CANF,EAOEC,CAPF;AASA,WAAO,IAAP;AACD;;AAEDgD,EAAAA,YAAY,CAACtB,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiDoB,MAAjD,EAAiE;AAC3E,SAAKnE,GAAL,CAASkE,YAAT,CAAsBtB,EAAtB,EAA0BC,EAA1B,EAA8BC,EAA9B,EAAkCC,EAAlC,EAAsCoB,MAAtC;AACA,WAAO,IAAP;AACD;;AAEDC,EAAAA,OAAO,CAACxB,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiDZ,CAAjD,EAA4D;AACjE,SAAKnC,GAAL,CAASoE,OAAT,CAAiBxB,EAAjB,EAAqBC,EAArB,EAAyBC,EAAzB,EAA6BC,EAA7B,EAAiCZ,CAAjC;AACA,WAAO,IAAP;AACD;;AAEDkC,EAAAA,QAAQ,CAACpD,CAAD,EAAYC,CAAZ,EAAuB;AAC7B,WAAO,KAAKlB,GAAL,CAASqE,QAAT,CAAkBpD,CAAlB,EAAqBC,CAArB,CAAP;AACD;;AAEDoD,EAAAA,IAAI,GAAG;AACL,WAAO,IAAI1E,SAAJ,CAAc,KAAKG,SAAnB,EAA8B,KAAKC,GAAL,CAASsE,IAAT,EAA9B,CAAP;AACD;;AAEDC,EAAAA,OAAO,CACLlC,IADK,EAELC,IAFK,EAGLC,IAHK,EAILC,IAJK,EAKLvB,CALK,EAMLC,CANK,EAOL;AACA,SAAKlB,GAAL,CAASuE,OAAT,CAAiBlC,IAAjB,EAAuBC,IAAvB,EAA6BC,IAA7B,EAAmCC,IAAnC,EAAyCvB,CAAzC,EAA4CC,CAA5C;AACA,WAAO,IAAP;AACD;;AAEDsD,EAAAA,IAAI,CAACC,EAAD,EAAaC,GAAb,EAA0BC,KAA1B,EAAyC;AAC3C,WAAO,KAAK3E,GAAL,CAASwE,IAAT,CAAcC,EAAd,EAAkBC,GAAlB,EAAuBC,KAAvB,CAAP;AACD;;AAEDC,EAAAA,MAAM,CAACC,KAAD,EAAgB;AACpB,WAAO,KAAK7E,GAAL,CAAS4E,MAAT,CAAgB,mBAAQC,KAAR,CAAhB,CAAP;AACD;;AAEDC,EAAAA,SAAS,GAAG;AACV,WAAO,IAAIzE,oBAAJ,CAAc,KAAKN,SAAnB,EAA8B,KAAKC,GAAL,CAAS8E,SAAT,EAA9B,CAAP;AACD;;AAEDC,EAAAA,WAAW,GAAG;AACZ,WAAO,KAAK/E,GAAL,CAAS+E,WAAT,GAAuBC,KAA9B;AACD;;AAEDC,EAAAA,MAAM,CAACrC,EAAD,EAAaC,EAAb,EAAyBC,EAAzB,EAAqCC,EAArC,EAAiD;AACrD,SAAK/C,GAAL,CAASiF,MAAT,CAAgBrC,EAAhB,EAAoBC,EAApB,EAAwBC,EAAxB,EAA4BC,EAA5B;AACD;;AAEDmC,EAAAA,OAAO,CAACC,IAAD,EAAe3E,KAAf,EAAgC;AACrC,SAAKR,GAAL,CAASkF,OAAT,CAAiB7E,qBAAUC,SAAV,CAAoB,KAAKP,SAAzB,EAAoCoF,IAApC,CAAjB,EAA4D3E,KAA5D;AACD;;AAED4E,EAAAA,QAAQ,CAACC,KAAD,EAAiB7E,KAAjB,EAAkC;AACxC,SAAKR,GAAL,CAASoF,QAAT,CAAkBE,uBAAWhF,SAAX,CAAqB,KAAKP,SAA1B,EAAqCsF,KAArC,CAAlB,EAA+D7E,KAA/D;AACA,WAAO,IAAP;AACD;;AAED+E,EAAAA,QAAQ,CAACC,KAAD,EAAgB;AACtB,WAAO,IAAIC,sBAAJ,CAAe,KAAK1F,SAApB,EAA+B,KAAKC,GAAL,CAASuF,QAAT,CAAkBC,KAAlB,CAA/B,CAAP;AACD;;AAEDE,EAAAA,OAAO,GAAG;AACR,WAAO,KAAK1F,GAAL,CAAS0F,OAAT,EAAP;AACD;;AAEDC,EAAAA,UAAU,GAAG;AACX,WAAO,KAAK3F,GAAL,CAAS2F,UAAT,EAAP;AACD;;AAEDC,EAAAA,SAAS,CAAC3E,CAAD,EAAYC,CAAZ,EAAuB2E,CAAvB,EAAkC;AACzC;AACA;AACA,SAAK7F,GAAL,CAASO,OAAT,CAAiB,KAAKR,SAAL,CAAe+F,QAAf,CAAwB7E,CAAC,GAAG4E,CAA5B,EAA+B3E,CAAC,GAAG2E,CAAnC,EAAsC5E,CAAC,GAAG4E,CAA1C,EAA6C3E,CAAC,GAAG2E,CAAjD,CAAjB;AACA,WAAO,IAAP;AACD;;AAEDE,EAAAA,SAAS,GAAG;AACV,WAAO,IAAIN,sBAAJ,CACL,KAAK1F,SADA,EAEL,KAAKC,GAAL,CAASuF,QAAT,CAAkB,KAAKvF,GAAL,CAASU,WAAT,KAAyB,CAA3C,CAFK,CAAP;AAID;;AAEDsF,EAAAA,EAAE,CAACC,IAAD,EAAeD,EAAf,EAA2B;AAC3B,WAAO,KAAKhG,GAAL,CAASgG,EAAT,CAAY,mBAAQC,IAAR,CAAZ,EAA2B,kBAAOD,EAAP,CAA3B,CAAP;AACD;;AAEDE,EAAAA,QAAQ,GAAG;AACT,WAAO,KAAKlG,GAAL,CAASkG,QAAT,EAAP;AACD;;AAEDC,EAAAA,WAAW,GAAG;AACZ,WAAO,KAAKnG,GAAL,CAASmG,WAAT,EAAP;AACD;;AAEDC,EAAAA,IAAI,CAACC,MAAD,EAAiBC,KAAjB,EAAgCC,YAAhC,EAAuD;AACzD,UAAMlF,MAAM,GAAG,KAAKrB,GAAL,CAASoG,IAAT,CAAcC,MAAd,EAAsBC,KAAtB,EAA6BC,YAA7B,CAAf;AACA,WAAOlF,MAAM,KAAK,IAAX,GAAkBA,MAAlB,GAA2B,IAAlC;AACD;;AAEDmF,EAAAA,SAAS,CAACC,EAAD,EAAe;AACtB,SAAKzG,GAAL,CAASwG,SAAT,CAAmB,mBAAQC,EAAR,CAAnB;AACD;;AAEDC,EAAAA,WAAW,CAACC,GAAD,EAAcC,CAAd,EAAyB;AAClC;AACA;AACA,UAAMpH,IAAI,GAAG,KAAKqH,MAAL,EAAb;AACA,UAAMpH,IAAI,GAAGkH,GAAG,CAACE,MAAJ,EAAb;;AACA,QAAI,CAACtH,qBAAqB,CAACC,IAAD,EAAOC,IAAP,CAA1B,EAAwC;AACtC,aAAO,IAAP;AACD;;AACD,UAAMqH,YAA2B,GAAG,EAApC;AACAtH,IAAAA,IAAI,CAACuH,OAAL,CAAa,CAACC,GAAD,EAAMrH,CAAN,KAAY;AACvB,YAAMsH,eAAe,GAAG,CAACD,GAAG,CAAC,CAAD,CAAJ,CAAxB;AACAF,MAAAA,YAAY,CAACI,IAAb,CAAkBD,eAAlB;AACAD,MAAAA,GAAG,CAACD,OAAJ,CAAY,CAACI,CAAD,EAAIC,CAAJ,KAAU;AACpB,YAAIA,CAAC,KAAK,CAAV,EAAa;AACX;AACD;;AACD,YAAIH,eAAe,CAAC,CAAD,CAAf,KAAuBjI,gBAASI,KAAhC,IAAyCgI,CAAC,KAAK,CAAnD,EAAsD;AACpDH,UAAAA,eAAe,CAACC,IAAhB,CAAqBC,CAArB;AACD,SAFD,MAEO;AACL,gBAAME,EAAE,GAAG5H,IAAI,CAACE,CAAD,CAAJ,CAAQyH,CAAR,CAAX;AACAH,UAAAA,eAAe,CAACC,IAAhB,CAAqBG,EAAE,GAAG,CAACF,CAAC,GAAGE,EAAL,IAAWT,CAArC;AACD;AACF,OAVD;AAWD,KAdD;AAeA,UAAMX,IAAI,GAAG,KAAKlG,SAAL,CAAeuH,IAAf,CAAoBC,YAApB,CAAiCT,YAAY,CAACU,IAAb,EAAjC,CAAb;;AACA,QAAIvB,IAAI,KAAK,IAAb,EAAmB;AACjB,aAAO,IAAP;AACD;;AACD,WAAO,IAAIrG,SAAJ,CAAc,KAAKG,SAAnB,EAA8BkG,IAA9B,CAAP;AACD;;AAEDwB,EAAAA,gBAAgB,CAACC,KAAD,EAAyB;AACvC;AACA;AACA,UAAMlI,IAAI,GAAG,KAAKqH,MAAL,EAAb;AACA,UAAMpH,IAAI,GAAGiI,KAAK,CAACb,MAAN,EAAb;AACA,WAAOtH,qBAAqB,CAACC,IAAD,EAAOC,IAAP,CAA5B;AACD;;AAEDoH,EAAAA,MAAM,GAAG;AACP,UAAMc,IAAI,GAAG,KAAK3H,GAAL,CAAS6G,MAAT,EAAb;AACA,UAAMxF,MAAM,GAAGsG,IAAI,CAACC,MAAL,CAA2B,CAACC,GAAD,EAAMb,GAAN,EAAWrH,CAAX,KAAiB;AACzD,UAAIA,CAAC,KAAK,CAAV,EAAa;AACXkI,QAAAA,GAAG,CAACX,IAAJ,CAAS,EAAT;AACD;;AACD,YAAMY,OAAO,GAAGD,GAAG,CAACA,GAAG,CAACnI,MAAJ,GAAa,CAAd,CAAnB;;AACA,UAAIoI,OAAO,CAACpI,MAAR,KAAmB,CAAvB,EAA0B;AACxBoI,QAAAA,OAAO,CAACZ,IAAR,CAAaF,GAAb;AACA,cAAMtH,MAAM,GAAGX,YAAY,CAAC+I,OAAO,CAAC,CAAD,CAAR,CAA3B;;AACA,YAAIA,OAAO,CAACpI,MAAR,KAAmBA,MAAnB,IAA6BC,CAAC,KAAKgI,IAAI,CAACjI,MAAL,GAAc,CAArD,EAAwD;AACtDmI,UAAAA,GAAG,CAACX,IAAJ,CAAS,EAAT;AACD;AACF,OAND,MAMO;AACL,cAAMxH,MAAM,GAAGX,YAAY,CAAC+I,OAAO,CAAC,CAAD,CAAR,CAA3B;;AACA,YAAIA,OAAO,CAACpI,MAAR,GAAiBA,MAArB,EAA6B;AAC3BoI,UAAAA,OAAO,CAACZ,IAAR,CAAaF,GAAb;AACD;;AACD,YAAIc,OAAO,CAACpI,MAAR,KAAmBA,MAAnB,IAA6BC,CAAC,KAAKgI,IAAI,CAACjI,MAAL,GAAc,CAArD,EAAwD;AACtDmI,UAAAA,GAAG,CAACX,IAAJ,CAAS,EAAT;AACD;AACF;;AACD,aAAOW,GAAP;AACD,KArBc,EAqBZ,EArBY,CAAf;AAsBA,WAAOxG,MAAP;AACD;;AA9VuE","sourcesContent":["import type { CanvasKit, Path } from \"canvaskit-wasm\";\n\nimport { PathVerb } from \"../types\";\nimport type {\n FillType,\n PathCommand,\n PathOp,\n SkMatrix,\n SkPath,\n SkPoint,\n SkRect,\n SkRRect,\n StrokeOpts,\n} from \"../types\";\n\nimport { ckEnum, HostObject, optEnum, toValue } from \"./Host\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\n\nconst CommandCount = {\n [PathVerb.Move]: 3,\n [PathVerb.Line]: 3,\n [PathVerb.Quad]: 5,\n [PathVerb.Conic]: 6,\n [PathVerb.Cubic]: 7,\n [PathVerb.Close]: 1,\n};\n\nconst areCmdsInterpolatable = (cmd1: PathCommand[], cmd2: PathCommand[]) => {\n if (cmd1.length !== cmd2.length) {\n return false;\n }\n for (let i = 0; i < cmd1.length; i++) {\n if (cmd1[i][0] !== cmd2[i][0]) {\n return false;\n } else if (cmd1[i][0] === PathVerb.Conic && cmd1[i][5] !== cmd2[i][5]) {\n return false;\n }\n }\n return true;\n};\n\nexport class JsiSkPath extends HostObject<Path, \"Path\"> implements SkPath {\n constructor(CanvasKit: CanvasKit, ref: Path) {\n super(CanvasKit, ref, \"Path\");\n }\n\n addArc(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number\n ) {\n this.ref.addArc(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees\n );\n return this;\n }\n\n addOval(oval: SkRect, isCCW?: boolean, startIndex?: number) {\n this.ref.addOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n isCCW,\n startIndex\n );\n return this;\n }\n\n countPoints() {\n return this.ref.countPoints();\n }\n\n addPoly(points: SkPoint[], close: boolean) {\n this.ref.addPoly(\n points.map((p) => toValue(p)),\n close\n );\n return this;\n }\n\n moveTo(x: number, y: number) {\n this.ref.moveTo(x, y);\n return this;\n }\n\n lineTo(x: number, y: number) {\n this.ref.lineTo(x, y);\n return this;\n }\n\n makeAsWinding() {\n const result = this.ref.makeAsWinding();\n return result === null ? result : this;\n }\n\n offset(dx: number, dy: number) {\n this.ref.offset(dx, dy);\n return this;\n }\n\n rArcTo(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n dx: number,\n dy: number\n ) {\n this.ref.rArcTo(rx, ry, xAxisRotateInDegrees, useSmallArc, isCCW, dx, dy);\n return this;\n }\n\n rConicTo(dx1: number, dy1: number, dx2: number, dy2: number, w: number) {\n this.ref.rConicTo(dx1, dy1, dx2, dy2, w);\n return this;\n }\n\n rCubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.rCubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n rMoveTo(x: number, y: number) {\n this.ref.rMoveTo(x, y);\n return this;\n }\n\n rLineTo(x: number, y: number) {\n this.ref.rLineTo(x, y);\n return this;\n }\n\n rQuadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.rQuadTo(x1, y1, x2, y2);\n return this;\n }\n\n setFillType(fill: FillType) {\n this.ref.setFillType(ckEnum(fill));\n }\n\n setIsVolatile(volatile: boolean) {\n this.ref.setIsVolatile(volatile);\n }\n\n stroke(opts?: StrokeOpts) {\n const result = this.ref.stroke(\n opts === undefined\n ? undefined\n : {\n width: opts.width,\n // eslint-disable-next-line camelcase\n miter_limit: opts.width,\n precision: opts.width,\n join: optEnum(opts.join),\n cap: optEnum(opts.cap),\n }\n );\n return result === null ? result : this;\n }\n\n close() {\n this.ref.close();\n }\n\n reset() {\n this.ref.reset();\n }\n\n rewind() {\n this.ref.rewind();\n }\n\n computeTightBounds(): SkRect {\n return new JsiSkRect(this.CanvasKit, this.ref.computeTightBounds());\n }\n\n arcToOval(\n oval: SkRect,\n startAngleInDegrees: number,\n sweepAngleInDegrees: number,\n forceMoveTo: boolean\n ) {\n this.ref.arcToOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngleInDegrees,\n sweepAngleInDegrees,\n forceMoveTo\n );\n return this;\n }\n\n arcToRotated(\n rx: number,\n ry: number,\n xAxisRotateInDegrees: number,\n useSmallArc: boolean,\n isCCW: boolean,\n x: number,\n y: number\n ) {\n this.ref.arcToRotated(\n rx,\n ry,\n xAxisRotateInDegrees,\n useSmallArc,\n isCCW,\n x,\n y\n );\n return this;\n }\n\n arcToTangent(x1: number, y1: number, x2: number, y2: number, radius: number) {\n this.ref.arcToTangent(x1, y1, x2, y2, radius);\n return this;\n }\n\n conicTo(x1: number, y1: number, x2: number, y2: number, w: number) {\n this.ref.conicTo(x1, y1, x2, y2, w);\n return this;\n }\n\n contains(x: number, y: number) {\n return this.ref.contains(x, y);\n }\n\n copy() {\n return new JsiSkPath(this.CanvasKit, this.ref.copy());\n }\n\n cubicTo(\n cpx1: number,\n cpy1: number,\n cpx2: number,\n cpy2: number,\n x: number,\n y: number\n ) {\n this.ref.cubicTo(cpx1, cpy1, cpx2, cpy2, x, y);\n return this;\n }\n\n dash(on: number, off: number, phase: number) {\n return this.ref.dash(on, off, phase);\n }\n\n equals(other: SkPath) {\n return this.ref.equals(toValue(other));\n }\n\n getBounds() {\n return new JsiSkRect(this.CanvasKit, this.ref.getBounds());\n }\n\n getFillType() {\n return this.ref.getFillType().value;\n }\n\n quadTo(x1: number, y1: number, x2: number, y2: number) {\n this.ref.quadTo(x1, y1, x2, y2);\n }\n\n addRect(rect: SkRect, isCCW?: boolean) {\n this.ref.addRect(JsiSkRect.fromValue(this.CanvasKit, rect), isCCW);\n }\n\n addRRect(rrect: SkRRect, isCCW?: boolean) {\n this.ref.addRRect(JsiSkRRect.fromValue(this.CanvasKit, rrect), isCCW);\n return this;\n }\n\n getPoint(index: number) {\n return new JsiSkPoint(this.CanvasKit, this.ref.getPoint(index));\n }\n\n isEmpty() {\n return this.ref.isEmpty();\n }\n\n isVolatile() {\n return this.ref.isVolatile();\n }\n\n addCircle(x: number, y: number, r: number) {\n // We leave the comment below to remind us that this is not implemented in CanvasKit\n // throw new NotImplementedOnRNWeb();\n this.ref.addOval(this.CanvasKit.LTRBRect(x - r, y - r, x + r, y + r));\n return this;\n }\n\n getLastPt() {\n return new JsiSkPoint(\n this.CanvasKit,\n this.ref.getPoint(this.ref.countPoints() - 1)\n );\n }\n\n op(path: SkPath, op: PathOp) {\n return this.ref.op(toValue(path), ckEnum(op));\n }\n\n simplify() {\n return this.ref.simplify();\n }\n\n toSVGString() {\n return this.ref.toSVGString();\n }\n\n trim(startT: number, stopT: number, isComplement: boolean) {\n const result = this.ref.trim(startT, stopT, isComplement);\n return result === null ? result : this;\n }\n\n transform(m3: SkMatrix) {\n this.ref.transform(toValue(m3));\n }\n\n interpolate(end: SkPath, t: number) {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = end.toCmds();\n if (!areCmdsInterpolatable(cmd1, cmd2)) {\n return null;\n }\n const interpolated: PathCommand[] = [];\n cmd1.forEach((cmd, i) => {\n const interpolatedCmd = [cmd[0]];\n interpolated.push(interpolatedCmd);\n cmd.forEach((c, j) => {\n if (j === 0) {\n return;\n }\n if (interpolatedCmd[0] === PathVerb.Conic && j === 5) {\n interpolatedCmd.push(c);\n } else {\n const c2 = cmd2[i][j];\n interpolatedCmd.push(c2 + (c - c2) * t);\n }\n });\n });\n const path = this.CanvasKit.Path.MakeFromCmds(interpolated.flat());\n if (path === null) {\n return null;\n }\n return new JsiSkPath(this.CanvasKit, path);\n }\n\n isInterpolatable(path2: SkPath): boolean {\n // Do not remove the comment below. We use it to track missing APIs in CanvasKit\n // throw new NotImplementedOnRNWeb();\n const cmd1 = this.toCmds();\n const cmd2 = path2.toCmds();\n return areCmdsInterpolatable(cmd1, cmd2);\n }\n\n toCmds() {\n const cmds = this.ref.toCmds();\n const result = cmds.reduce<PathCommand[]>((acc, cmd, i) => {\n if (i === 0) {\n acc.push([]);\n }\n const current = acc[acc.length - 1];\n if (current.length === 0) {\n current.push(cmd);\n const length = CommandCount[current[0] as PathVerb];\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n } else {\n const length = CommandCount[current[0] as PathVerb];\n if (current.length < length) {\n current.push(cmd);\n }\n if (current.length === length && i !== cmds.length - 1) {\n acc.push([]);\n }\n }\n return acc;\n }, []);\n return result;\n }\n}\n"]}
|