@shopify/react-native-skia 1.3.6 → 1.3.8
Sign up to get free protection for your applications and to get access to all the features.
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +14 -7
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseViewManager.java +1 -2
- package/cpp/api/JsiSkTypefaceFontProvider.h +14 -4
- package/lib/commonjs/dom/nodes/Node.d.ts +2 -3
- package/lib/commonjs/dom/nodes/Node.js +1 -2
- package/lib/commonjs/dom/nodes/Node.js.map +1 -1
- package/lib/commonjs/dom/nodes/PaintNode.js +1 -1
- package/lib/commonjs/dom/nodes/PaintNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/Box.js +1 -1
- package/lib/commonjs/dom/nodes/drawings/Box.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/BlendNode.js +1 -1
- package/lib/commonjs/dom/nodes/paint/BlendNode.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/ColorFilters.js +1 -1
- package/lib/commonjs/dom/nodes/paint/ColorFilters.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/ImageFilters.js +1 -1
- package/lib/commonjs/dom/nodes/paint/ImageFilters.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/MaskFilters.js +1 -1
- package/lib/commonjs/dom/nodes/paint/MaskFilters.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/PathEffects.js +1 -1
- package/lib/commonjs/dom/nodes/paint/PathEffects.js.map +1 -1
- package/lib/commonjs/dom/nodes/paint/Shaders.js +1 -1
- package/lib/commonjs/dom/nodes/paint/Shaders.js.map +1 -1
- package/lib/commonjs/dom/types/Node.d.ts +1 -2
- package/lib/commonjs/dom/types/Node.js.map +1 -1
- package/lib/commonjs/dom/types/NodeType.d.ts +0 -9
- package/lib/commonjs/dom/types/NodeType.js +1 -11
- package/lib/commonjs/dom/types/NodeType.js.map +1 -1
- package/lib/commonjs/external/reanimated/useVideo.js +0 -2
- package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
- package/lib/commonjs/external/reanimated/useVideoLoading.js +6 -4
- package/lib/commonjs/external/reanimated/useVideoLoading.js.map +1 -1
- package/lib/commonjs/skia/core/SVG.web.d.ts +2 -0
- package/lib/commonjs/skia/core/SVG.web.js +22 -0
- package/lib/commonjs/skia/core/SVG.web.js.map +1 -0
- package/lib/commonjs/skia/types/Font/FontMgr.d.ts +1 -1
- package/lib/commonjs/skia/types/Font/FontMgr.js.map +1 -1
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js +1 -1
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +3 -2
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkSVG.d.ts +9 -0
- package/lib/commonjs/skia/web/JsiSkSVG.js +28 -0
- package/lib/commonjs/skia/web/JsiSkSVG.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkSVGFactory.d.ts +4 -3
- package/lib/commonjs/skia/web/JsiSkSVGFactory.js +40 -4
- package/lib/commonjs/skia/web/JsiSkSVGFactory.js.map +1 -1
- package/lib/module/dom/nodes/Node.d.ts +2 -3
- package/lib/module/dom/nodes/Node.js +1 -2
- package/lib/module/dom/nodes/Node.js.map +1 -1
- package/lib/module/dom/nodes/PaintNode.js +2 -2
- package/lib/module/dom/nodes/PaintNode.js.map +1 -1
- package/lib/module/dom/nodes/drawings/Box.js +2 -2
- package/lib/module/dom/nodes/drawings/Box.js.map +1 -1
- package/lib/module/dom/nodes/paint/BlendNode.js +2 -2
- package/lib/module/dom/nodes/paint/BlendNode.js.map +1 -1
- package/lib/module/dom/nodes/paint/ColorFilters.js +2 -2
- package/lib/module/dom/nodes/paint/ColorFilters.js.map +1 -1
- package/lib/module/dom/nodes/paint/ImageFilters.js +2 -2
- package/lib/module/dom/nodes/paint/ImageFilters.js.map +1 -1
- package/lib/module/dom/nodes/paint/MaskFilters.js +2 -2
- package/lib/module/dom/nodes/paint/MaskFilters.js.map +1 -1
- package/lib/module/dom/nodes/paint/PathEffects.js +2 -2
- package/lib/module/dom/nodes/paint/PathEffects.js.map +1 -1
- package/lib/module/dom/nodes/paint/Shaders.js +2 -2
- package/lib/module/dom/nodes/paint/Shaders.js.map +1 -1
- package/lib/module/dom/types/Node.d.ts +1 -2
- package/lib/module/dom/types/Node.js.map +1 -1
- package/lib/module/dom/types/NodeType.d.ts +0 -9
- package/lib/module/dom/types/NodeType.js +0 -10
- package/lib/module/dom/types/NodeType.js.map +1 -1
- package/lib/module/external/reanimated/useVideo.js +0 -2
- package/lib/module/external/reanimated/useVideo.js.map +1 -1
- package/lib/module/external/reanimated/useVideoLoading.js +7 -5
- package/lib/module/external/reanimated/useVideoLoading.js.map +1 -1
- package/lib/module/skia/core/SVG.web.d.ts +2 -0
- package/lib/module/skia/core/SVG.web.js +15 -0
- package/lib/module/skia/core/SVG.web.js.map +1 -0
- package/lib/module/skia/types/Font/FontMgr.d.ts +1 -1
- package/lib/module/skia/types/Font/FontMgr.js.map +1 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js +1 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.d.ts +1 -1
- package/lib/module/skia/web/JsiSkCanvas.js +3 -2
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkSVG.d.ts +9 -0
- package/lib/module/skia/web/JsiSkSVG.js +21 -0
- package/lib/module/skia/web/JsiSkSVG.js.map +1 -0
- package/lib/module/skia/web/JsiSkSVGFactory.d.ts +4 -3
- package/lib/module/skia/web/JsiSkSVGFactory.js +41 -5
- package/lib/module/skia/web/JsiSkSVGFactory.js.map +1 -1
- package/lib/typescript/src/dom/nodes/Node.d.ts +2 -3
- package/lib/typescript/src/dom/types/Node.d.ts +1 -2
- package/lib/typescript/src/dom/types/NodeType.d.ts +0 -9
- package/lib/typescript/src/skia/core/SVG.web.d.ts +2 -0
- package/lib/typescript/src/skia/types/Font/FontMgr.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkSVG.d.ts +9 -0
- package/lib/typescript/src/skia/web/JsiSkSVGFactory.d.ts +4 -3
- package/package.json +2 -2
- package/src/dom/nodes/Node.ts +2 -12
- package/src/dom/nodes/PaintNode.ts +2 -2
- package/src/dom/nodes/drawings/Box.ts +2 -2
- package/src/dom/nodes/paint/BlendNode.ts +2 -2
- package/src/dom/nodes/paint/ColorFilters.ts +2 -2
- package/src/dom/nodes/paint/ImageFilters.ts +2 -2
- package/src/dom/nodes/paint/MaskFilters.ts +2 -2
- package/src/dom/nodes/paint/PathEffects.ts +2 -2
- package/src/dom/nodes/paint/Shaders.ts +2 -2
- package/src/dom/types/Node.ts +2 -2
- package/src/dom/types/NodeType.ts +0 -10
- package/src/external/reanimated/useVideo.ts +0 -2
- package/src/external/reanimated/useVideoLoading.ts +11 -8
- package/src/skia/core/SVG.web.ts +29 -0
- package/src/skia/types/Font/FontMgr.ts +1 -1
- package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +1 -1
- package/src/skia/web/JsiSkCanvas.ts +6 -2
- package/src/skia/web/JsiSkSVG.ts +27 -0
- package/src/skia/web/JsiSkSVGFactory.ts +47 -6
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_types","require","_Node","_types2","_datatypes","ShaderDeclaration","JsiDeclarationNode","constructor","ctx","type","props","DeclarationType","Shader","exports","ShaderNode","NodeType","decorate","decorateChildren","source","uniforms","transform","m3","Skia","Matrix","processTransformProps","shader","makeShaderWithChildren","processUniforms","shaders","popAll","push","ImageShaderNode","ImageShader","fit","image","tx","ty","fm","mm","imageShaderProps","rct","getRect","rects","fitRects","x","y","width","height","sx","sy","rect2rect","src","dst","translate","translateX","translateY","scale","scaleX","scaleY","lm","concat","makeShaderOptions","TileMode","enumKey","FilterMode","MipmapMode","ColorNode","ColorShader","color","MakeColor","Color","TurbulenceNode","Turbulence","freqX","freqY","octaves","seed","tileWidth","tileHeight","MakeTurbulence","FractalNoiseNode","FractalNoise","MakeFractalNoise","LinearGradientNode","LinearGradient","start","end","colors","positions","mode","localMatrix","flags","processGradientProps","MakeLinearGradient","RadialGradientNode","RadialGradient","c","r","MakeRadialGradient","SweepGradientNode","SweepGradient","MakeSweepGradient","TwoPointConicalGradientNode","TwoPointConicalGradient","startR","endR","MakeTwoPointConicalGradient"],"sources":["Shaders.ts"],"sourcesContent":["import {\n processUniforms,\n FilterMode,\n MipmapMode,\n TileMode,\n} from \"../../../skia/types\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport type {\n ColorProps,\n DeclarationContext,\n FractalNoiseProps,\n ImageShaderProps,\n LinearGradientProps,\n RadialGradientProps,\n ShaderProps,\n SweepGradientProps,\n TurbulenceProps,\n TwoPointConicalGradientProps,\n} from \"../../types\";\nimport { DeclarationType, NodeType } from \"../../types\";\nimport {\n enumKey,\n fitRects,\n getRect,\n processGradientProps,\n processTransformProps,\n rect2rect,\n} from \"../datatypes\";\n\nexport abstract class ShaderDeclaration<P> extends JsiDeclarationNode<P> {\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, DeclarationType.Shader, type, props);\n }\n}\n\nexport class ShaderNode extends ShaderDeclaration<ShaderProps> {\n constructor(ctx: NodeContext, props: ShaderProps) {\n super(ctx, NodeType.Shader, props);\n }\n\n decorate(ctx: DeclarationContext) {\n this.decorateChildren(ctx);\n const { source, uniforms, ...transform } = this.props;\n const m3 = this.Skia.Matrix();\n processTransformProps(m3, transform);\n const shader = source.makeShaderWithChildren(\n processUniforms(source, uniforms),\n ctx.shaders.popAll(),\n m3\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class ImageShaderNode extends ShaderDeclaration<ImageShaderProps> {\n constructor(ctx: NodeContext, props: ImageShaderProps) {\n super(ctx, NodeType.ImageShader, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { fit, image, tx, ty, fm, mm, ...imageShaderProps } = this.props;\n if (!image) {\n return;\n }\n\n const rct = getRect(this.Skia, imageShaderProps);\n const m3 = this.Skia.Matrix();\n if (rct) {\n const rects = fitRects(\n fit,\n { x: 0, y: 0, width: image.width(), height: image.height() },\n rct\n );\n const [x, y, sx, sy] = rect2rect(rects.src, rects.dst);\n m3.translate(x.translateX, y.translateY);\n m3.scale(sx.scaleX, sy.scaleY);\n }\n const lm = this.Skia.Matrix();\n lm.concat(m3);\n processTransformProps(lm, imageShaderProps);\n const shader = image.makeShaderOptions(\n TileMode[enumKey(tx)],\n TileMode[enumKey(ty)],\n FilterMode[enumKey(fm)],\n MipmapMode[enumKey(mm)],\n lm\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class ColorNode extends ShaderDeclaration<ColorProps> {\n constructor(ctx: NodeContext, props: ColorProps) {\n super(ctx, NodeType.ColorShader, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { color } = this.props;\n const shader = this.Skia.Shader.MakeColor(this.Skia.Color(color));\n ctx.shaders.push(shader);\n }\n}\n\nexport class TurbulenceNode extends ShaderDeclaration<TurbulenceProps> {\n constructor(ctx: NodeContext, props: TurbulenceProps) {\n super(ctx, NodeType.Turbulence, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = this.props;\n const shader = this.Skia.Shader.MakeTurbulence(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class FractalNoiseNode extends ShaderDeclaration<FractalNoiseProps> {\n constructor(ctx: NodeContext, props: FractalNoiseProps) {\n super(ctx, NodeType.FractalNoise, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = this.props;\n const shader = this.Skia.Shader.MakeFractalNoise(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class LinearGradientNode extends ShaderDeclaration<LinearGradientProps> {\n constructor(ctx: NodeContext, props: LinearGradientProps) {\n super(ctx, NodeType.LinearGradient, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n const shader = this.Skia.Shader.MakeLinearGradient(\n start,\n end,\n colors,\n positions ?? null,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class RadialGradientNode extends ShaderDeclaration<RadialGradientProps> {\n constructor(ctx: NodeContext, props: RadialGradientProps) {\n super(ctx, NodeType.RadialGradient, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { c, r } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n const shader = this.Skia.Shader.MakeRadialGradient(\n c,\n r,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class SweepGradientNode extends ShaderDeclaration<SweepGradientProps> {\n constructor(ctx: NodeContext, props: SweepGradientProps) {\n super(ctx, NodeType.SweepGradient, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { c, start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n const shader = this.Skia.Shader.MakeSweepGradient(\n c.x,\n c.y,\n colors,\n positions,\n mode,\n localMatrix,\n flags,\n start,\n end\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class TwoPointConicalGradientNode extends ShaderDeclaration<TwoPointConicalGradientProps> {\n constructor(ctx: NodeContext, props: TwoPointConicalGradientProps) {\n super(ctx, NodeType.TwoPointConicalGradient, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { startR, endR, start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n const shader = this.Skia.Shader.MakeTwoPointConicalGradient(\n start,\n startR,\n end,\n endR,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_types","require","_Node","_types2","_datatypes","ShaderDeclaration","JsiDeclarationNode","constructor","ctx","type","props","exports","ShaderNode","NodeType","Shader","decorate","decorateChildren","source","uniforms","transform","m3","Skia","Matrix","processTransformProps","shader","makeShaderWithChildren","processUniforms","shaders","popAll","push","ImageShaderNode","ImageShader","fit","image","tx","ty","fm","mm","imageShaderProps","rct","getRect","rects","fitRects","x","y","width","height","sx","sy","rect2rect","src","dst","translate","translateX","translateY","scale","scaleX","scaleY","lm","concat","makeShaderOptions","TileMode","enumKey","FilterMode","MipmapMode","ColorNode","ColorShader","color","MakeColor","Color","TurbulenceNode","Turbulence","freqX","freqY","octaves","seed","tileWidth","tileHeight","MakeTurbulence","FractalNoiseNode","FractalNoise","MakeFractalNoise","LinearGradientNode","LinearGradient","start","end","colors","positions","mode","localMatrix","flags","processGradientProps","MakeLinearGradient","RadialGradientNode","RadialGradient","c","r","MakeRadialGradient","SweepGradientNode","SweepGradient","MakeSweepGradient","TwoPointConicalGradientNode","TwoPointConicalGradient","startR","endR","MakeTwoPointConicalGradient"],"sources":["Shaders.ts"],"sourcesContent":["import {\n processUniforms,\n FilterMode,\n MipmapMode,\n TileMode,\n} from \"../../../skia/types\";\nimport type { NodeContext } from \"../Node\";\nimport { JsiDeclarationNode } from \"../Node\";\nimport type {\n ColorProps,\n DeclarationContext,\n FractalNoiseProps,\n ImageShaderProps,\n LinearGradientProps,\n RadialGradientProps,\n ShaderProps,\n SweepGradientProps,\n TurbulenceProps,\n TwoPointConicalGradientProps,\n} from \"../../types\";\nimport { NodeType } from \"../../types\";\nimport {\n enumKey,\n fitRects,\n getRect,\n processGradientProps,\n processTransformProps,\n rect2rect,\n} from \"../datatypes\";\n\nexport abstract class ShaderDeclaration<P> extends JsiDeclarationNode<P> {\n constructor(ctx: NodeContext, type: NodeType, props: P) {\n super(ctx, type, props);\n }\n}\n\nexport class ShaderNode extends ShaderDeclaration<ShaderProps> {\n constructor(ctx: NodeContext, props: ShaderProps) {\n super(ctx, NodeType.Shader, props);\n }\n\n decorate(ctx: DeclarationContext) {\n this.decorateChildren(ctx);\n const { source, uniforms, ...transform } = this.props;\n const m3 = this.Skia.Matrix();\n processTransformProps(m3, transform);\n const shader = source.makeShaderWithChildren(\n processUniforms(source, uniforms),\n ctx.shaders.popAll(),\n m3\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class ImageShaderNode extends ShaderDeclaration<ImageShaderProps> {\n constructor(ctx: NodeContext, props: ImageShaderProps) {\n super(ctx, NodeType.ImageShader, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { fit, image, tx, ty, fm, mm, ...imageShaderProps } = this.props;\n if (!image) {\n return;\n }\n\n const rct = getRect(this.Skia, imageShaderProps);\n const m3 = this.Skia.Matrix();\n if (rct) {\n const rects = fitRects(\n fit,\n { x: 0, y: 0, width: image.width(), height: image.height() },\n rct\n );\n const [x, y, sx, sy] = rect2rect(rects.src, rects.dst);\n m3.translate(x.translateX, y.translateY);\n m3.scale(sx.scaleX, sy.scaleY);\n }\n const lm = this.Skia.Matrix();\n lm.concat(m3);\n processTransformProps(lm, imageShaderProps);\n const shader = image.makeShaderOptions(\n TileMode[enumKey(tx)],\n TileMode[enumKey(ty)],\n FilterMode[enumKey(fm)],\n MipmapMode[enumKey(mm)],\n lm\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class ColorNode extends ShaderDeclaration<ColorProps> {\n constructor(ctx: NodeContext, props: ColorProps) {\n super(ctx, NodeType.ColorShader, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { color } = this.props;\n const shader = this.Skia.Shader.MakeColor(this.Skia.Color(color));\n ctx.shaders.push(shader);\n }\n}\n\nexport class TurbulenceNode extends ShaderDeclaration<TurbulenceProps> {\n constructor(ctx: NodeContext, props: TurbulenceProps) {\n super(ctx, NodeType.Turbulence, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = this.props;\n const shader = this.Skia.Shader.MakeTurbulence(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class FractalNoiseNode extends ShaderDeclaration<FractalNoiseProps> {\n constructor(ctx: NodeContext, props: FractalNoiseProps) {\n super(ctx, NodeType.FractalNoise, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = this.props;\n const shader = this.Skia.Shader.MakeFractalNoise(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class LinearGradientNode extends ShaderDeclaration<LinearGradientProps> {\n constructor(ctx: NodeContext, props: LinearGradientProps) {\n super(ctx, NodeType.LinearGradient, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n const shader = this.Skia.Shader.MakeLinearGradient(\n start,\n end,\n colors,\n positions ?? null,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class RadialGradientNode extends ShaderDeclaration<RadialGradientProps> {\n constructor(ctx: NodeContext, props: RadialGradientProps) {\n super(ctx, NodeType.RadialGradient, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { c, r } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n const shader = this.Skia.Shader.MakeRadialGradient(\n c,\n r,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class SweepGradientNode extends ShaderDeclaration<SweepGradientProps> {\n constructor(ctx: NodeContext, props: SweepGradientProps) {\n super(ctx, NodeType.SweepGradient, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { c, start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n const shader = this.Skia.Shader.MakeSweepGradient(\n c.x,\n c.y,\n colors,\n positions,\n mode,\n localMatrix,\n flags,\n start,\n end\n );\n ctx.shaders.push(shader);\n }\n}\n\nexport class TwoPointConicalGradientNode extends ShaderDeclaration<TwoPointConicalGradientProps> {\n constructor(ctx: NodeContext, props: TwoPointConicalGradientProps) {\n super(ctx, NodeType.TwoPointConicalGradient, props);\n }\n\n decorate(ctx: DeclarationContext) {\n const { startR, endR, start, end } = this.props;\n const { colors, positions, mode, localMatrix, flags } =\n processGradientProps(this.Skia, this.props);\n const shader = this.Skia.Shader.MakeTwoPointConicalGradient(\n start,\n startR,\n end,\n endR,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n }\n}\n"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { GroupProps } from "./Common";
|
2
|
-
import type {
|
2
|
+
import type { NodeType } from "./NodeType";
|
3
3
|
import type { DeclarationContext } from "./DeclarationContext";
|
4
4
|
import type { DrawingContext } from "./DrawingContext";
|
5
5
|
export interface Node<P> {
|
@@ -14,7 +14,6 @@ export interface Node<P> {
|
|
14
14
|
}
|
15
15
|
export type Invalidate = () => void;
|
16
16
|
export interface DeclarationNode<P> extends Node<P> {
|
17
|
-
declarationType: DeclarationType;
|
18
17
|
decorate(ctx: DeclarationContext): void;
|
19
18
|
setInvalidate(invalidate: Invalidate): void;
|
20
19
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["Node.ts"],"sourcesContent":["import type { GroupProps } from \"./Common\";\nimport type {
|
1
|
+
{"version":3,"names":[],"sources":["Node.ts"],"sourcesContent":["import type { GroupProps } from \"./Common\";\nimport type { NodeType } from \"./NodeType\";\nimport type { DeclarationContext } from \"./DeclarationContext\";\nimport type { DrawingContext } from \"./DrawingContext\";\n\nexport interface Node<P> {\n type: NodeType;\n\n setProps(props: P): void;\n setProp<K extends keyof P>(name: K, v: P[K]): boolean;\n getProps(): P;\n\n children(): Node<unknown>[];\n addChild(child: Node<unknown>): void;\n removeChild(child: Node<unknown>): void;\n insertChildBefore(child: Node<unknown>, before: Node<unknown>): void;\n}\n\nexport type Invalidate = () => void;\n\nexport interface DeclarationNode<P> extends Node<P> {\n //declarationType: DeclarationType;\n decorate(ctx: DeclarationContext): void;\n\n setInvalidate(invalidate: Invalidate): void;\n}\n\nexport interface RenderNode<P extends GroupProps> extends Node<P> {\n render(ctx: DrawingContext): void;\n}\n"],"mappings":""}
|
@@ -57,12 +57,3 @@ export declare const enum NodeType {
|
|
57
57
|
Atlas = "skAtlas",
|
58
58
|
Paragraph = "skParagraph"
|
59
59
|
}
|
60
|
-
export declare const enum DeclarationType {
|
61
|
-
Paint = 0,
|
62
|
-
Shader = 1,
|
63
|
-
ImageFilter = 2,
|
64
|
-
ColorFilter = 3,
|
65
|
-
PathEffect = 4,
|
66
|
-
MaskFilter = 5,
|
67
|
-
Unknown = 6
|
68
|
-
}
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.NodeType =
|
6
|
+
exports.NodeType = void 0;
|
7
7
|
let NodeType = exports.NodeType = /*#__PURE__*/function (NodeType) {
|
8
8
|
NodeType["Layer"] = "skLayer";
|
9
9
|
NodeType["Shader"] = "skShader";
|
@@ -64,14 +64,4 @@ let NodeType = exports.NodeType = /*#__PURE__*/function (NodeType) {
|
|
64
64
|
NodeType["Paragraph"] = "skParagraph";
|
65
65
|
return NodeType;
|
66
66
|
}({});
|
67
|
-
let DeclarationType = exports.DeclarationType = /*#__PURE__*/function (DeclarationType) {
|
68
|
-
DeclarationType[DeclarationType["Paint"] = 0] = "Paint";
|
69
|
-
DeclarationType[DeclarationType["Shader"] = 1] = "Shader";
|
70
|
-
DeclarationType[DeclarationType["ImageFilter"] = 2] = "ImageFilter";
|
71
|
-
DeclarationType[DeclarationType["ColorFilter"] = 3] = "ColorFilter";
|
72
|
-
DeclarationType[DeclarationType["PathEffect"] = 4] = "PathEffect";
|
73
|
-
DeclarationType[DeclarationType["MaskFilter"] = 5] = "MaskFilter";
|
74
|
-
DeclarationType[DeclarationType["Unknown"] = 6] = "Unknown";
|
75
|
-
return DeclarationType;
|
76
|
-
}({});
|
77
67
|
//# sourceMappingURL=NodeType.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["NodeType","exports"
|
1
|
+
{"version":3,"names":["NodeType","exports"],"sources":["NodeType.ts"],"sourcesContent":["export const enum NodeType {\n // Shaders\n Layer = \"skLayer\",\n Shader = \"skShader\",\n ImageShader = \"skImageShader\",\n ColorShader = \"skColorShader\",\n Turbulence = \"skTurbulence\",\n FractalNoise = \"skFractalNoise\",\n LinearGradient = \"skLinearGradient\",\n RadialGradient = \"skRadialGradient\",\n SweepGradient = \"skSweepGradient\",\n TwoPointConicalGradient = \"skTwoPointConicalGradient\",\n\n // Mask Filters\n BlurMaskFilter = \"skBlurMaskFilter\",\n\n // Path Effects\n DiscretePathEffect = \"skDiscretePathEffect\",\n DashPathEffect = \"skDashPathEffect\",\n Path1DPathEffect = \"skPath1DPathEffect\",\n Path2DPathEffect = \"skPath2DPathEffect\",\n CornerPathEffect = \"skCornerPathEffect\",\n SumPathEffect = \"skSumPathEffect\",\n Line2DPathEffect = \"skLine2DPathEffect\",\n\n // Color Filters\n MatrixColorFilter = \"skMatrixColorFilter\",\n BlendColorFilter = \"skBlendColorFilter\",\n LinearToSRGBGammaColorFilter = \"skLinearToSRGBGammaColorFilter\",\n SRGBToLinearGammaColorFilter = \"skSRGBToLinearGammaColorFilter\",\n LumaColorFilter = \"skLumaColorFilter\",\n LerpColorFilter = \"skLerpColorFilter\",\n\n // Image Filters\n OffsetImageFilter = \"skOffsetImageFilter\",\n DisplacementMapImageFilter = \"skDisplacementMapImageFilter\",\n BlurImageFilter = \"skBlurImageFilter\",\n DropShadowImageFilter = \"skDropShadowImageFilter\",\n MorphologyImageFilter = \"skMorphologyImageFilter\",\n BlendImageFilter = \"skBlendImageFilter\",\n RuntimeShaderImageFilter = \"skRuntimeShaderImageFilter\",\n\n // Mixed\n Blend = \"skBlend\",\n BackdropFilter = \"skBackdropFilter\",\n Box = \"skBox\",\n BoxShadow = \"skBoxShadow\",\n\n // Drawings\n Group = \"skGroup\",\n Paint = \"skPaint\",\n Circle = \"skCircle\",\n Fill = \"skFill\",\n Image = \"skImage\",\n Points = \"skPoints\",\n Path = \"skPath\",\n Rect = \"skRect\",\n RRect = \"skRRect\",\n Oval = \"skOval\",\n Line = \"skLine\",\n Patch = \"skPatch\",\n Vertices = \"skVertices\",\n DiffRect = \"skDiffRect\",\n Text = \"skText\",\n TextPath = \"skTextPath\",\n TextBlob = \"skTextBlob\",\n Glyphs = \"skGlyphs\",\n Picture = \"skPicture\",\n ImageSVG = \"skImageSVG\",\n Atlas = \"skAtlas\",\n\n // Paragraph\n Paragraph = \"skParagraph\",\n}\n"],"mappings":";;;;;;IAAkBA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA"}
|
@@ -30,7 +30,6 @@ const setFrame = (video, currentFrame) => {
|
|
30
30
|
currentFrame.value.dispose();
|
31
31
|
}
|
32
32
|
currentFrame.value = img;
|
33
|
-
} else {
|
34
33
|
copyFrameOnAndroid(currentFrame);
|
35
34
|
}
|
36
35
|
};
|
@@ -94,7 +93,6 @@ const useVideo = (source, userOptions) => {
|
|
94
93
|
});
|
95
94
|
_ReanimatedProxy.default.useAnimatedReaction(() => seek.value, value => {
|
96
95
|
if (value !== null) {
|
97
|
-
copyFrameOnAndroid(currentFrame);
|
98
96
|
video === null || video === void 0 || video.seek(value);
|
99
97
|
currentTime.value = value;
|
100
98
|
seek.value = null;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","require","_Platform","_ReanimatedProxy","_interopRequireDefault","_useVideoLoading","obj","__esModule","default","copyFrameOnAndroid","currentFrame","Platform","OS","tex","value","makeNonTextureImage","dispose","setFrame","video","img","nextImage","defaultOptions","looping","paused","seek","currentTime","volume","useOption","defaultValue","Rea","useSharedValue","isSharedValue","disposeVideo","useVideo","source","userOptions","_userOptions$paused","_userOptions$looping","_userOptions$seek","_userOptions$volume","useVideoLoading","isPaused","lastTimestamp","duration","useMemo","_video$duration","framerate","_video$framerate","size","_video$size","width","height","rotation","_video$rotation","frameDuration","currentFrameDuration","Math","floor","useAnimatedReaction","pause","play","setVolume","useFrameCallback","frameInfo","currentTimestamp","timestamp","delta","isOver","useEffect","runOnUI","exports"],"sources":["useVideo.ts"],"sourcesContent":["import type { SharedValue, FrameInfo } from \"react-native-reanimated\";\nimport { useEffect, useMemo } from \"react\";\n\nimport type { SkImage, Video } from \"../../skia/types\";\nimport { Platform } from \"../../Platform\";\n\nimport Rea from \"./ReanimatedProxy\";\nimport { useVideoLoading } from \"./useVideoLoading\";\n\ntype Animated<T> = SharedValue<T> | T;\n\ninterface PlaybackOptions {\n looping: Animated<boolean>;\n paused: Animated<boolean>;\n seek: Animated<number | null>;\n volume: Animated<number>;\n}\n\nconst copyFrameOnAndroid = (currentFrame: SharedValue<SkImage | null>) => {\n \"worklet\";\n // on android we need to copy the texture before it's invalidated\n if (Platform.OS === \"android\") {\n const tex = currentFrame.value;\n if (tex) {\n currentFrame.value = tex.makeNonTextureImage();\n tex.dispose();\n }\n }\n};\n\nconst setFrame = (video: Video, currentFrame: SharedValue<SkImage | null>) => {\n \"worklet\";\n const img = video.nextImage();\n if (img) {\n if (currentFrame.value) {\n currentFrame.value.dispose();\n }\n currentFrame.value = img;\n } else {\n copyFrameOnAndroid(currentFrame);\n }\n};\n\nconst defaultOptions = {\n looping: true,\n paused: false,\n seek: null,\n currentTime: 0,\n volume: 0,\n};\n\nconst useOption = <T>(value: Animated<T>) => {\n \"worklet\";\n // TODO: only create defaultValue is needed (via makeMutable)\n const defaultValue = Rea.useSharedValue(\n Rea.isSharedValue(value) ? value.value : value\n );\n return Rea.isSharedValue(value) ? value : defaultValue;\n};\n\nconst disposeVideo = (video: Video | null) => {\n \"worklet\";\n video?.dispose();\n};\n\nexport const useVideo = (\n source: string | null,\n userOptions?: Partial<PlaybackOptions>\n) => {\n const video = useVideoLoading(source);\n const isPaused = useOption(userOptions?.paused ?? defaultOptions.paused);\n const looping = useOption(userOptions?.looping ?? defaultOptions.looping);\n const seek = useOption(userOptions?.seek ?? defaultOptions.seek);\n const volume = useOption(userOptions?.volume ?? defaultOptions.volume);\n const currentFrame = Rea.useSharedValue<null | SkImage>(null);\n const currentTime = Rea.useSharedValue(0);\n const lastTimestamp = Rea.useSharedValue(-1);\n const duration = useMemo(() => video?.duration() ?? 0, [video]);\n const framerate = useMemo(\n () => (Platform.OS === \"web\" ? -1 : video?.framerate() ?? 0),\n [video]\n );\n const size = useMemo(() => video?.size() ?? { width: 0, height: 0 }, [video]);\n const rotation = useMemo(() => video?.rotation() ?? 0, [video]);\n const frameDuration = 1000 / framerate;\n const currentFrameDuration = Math.floor(frameDuration);\n Rea.useAnimatedReaction(\n () => isPaused.value,\n (paused) => {\n if (paused) {\n video?.pause();\n } else {\n lastTimestamp.value = -1;\n video?.play();\n }\n }\n );\n Rea.useAnimatedReaction(\n () => seek.value,\n (value) => {\n if (value !== null) {\n copyFrameOnAndroid(currentFrame);\n video?.seek(value);\n currentTime.value = value;\n seek.value = null;\n }\n }\n );\n Rea.useAnimatedReaction(\n () => volume.value,\n (value) => {\n video?.setVolume(value);\n }\n );\n Rea.useFrameCallback((frameInfo: FrameInfo) => {\n \"worklet\";\n if (!video) {\n return;\n }\n if (isPaused.value) {\n return;\n }\n const currentTimestamp = frameInfo.timestamp;\n if (lastTimestamp.value === -1) {\n lastTimestamp.value = currentTimestamp;\n }\n const delta = currentTimestamp - lastTimestamp.value;\n\n const isOver = currentTime.value + delta > duration;\n if (isOver && looping.value) {\n seek.value = 0;\n currentTime.value = seek.value;\n lastTimestamp.value = currentTimestamp;\n }\n // On Web the framerate is uknown.\n // This could be optimized by using requestVideoFrameCallback (Chrome only)\n if ((delta >= currentFrameDuration && !isOver) || Platform.OS === \"web\") {\n setFrame(video, currentFrame);\n currentTime.value += delta;\n lastTimestamp.value = currentTimestamp;\n }\n });\n\n useEffect(() => {\n return () => {\n // TODO: should video simply be a shared value instead?\n Rea.runOnUI(disposeVideo)(video);\n };\n }, [video]);\n\n return {\n currentFrame,\n currentTime,\n duration,\n framerate,\n rotation,\n size,\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAAoD,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAWpD,MAAMG,kBAAkB,GAAIC,YAAyC,IAAK;EACxE,SAAS;;EACT;EACA,IAAIC,kBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;IAC7B,MAAMC,GAAG,GAAGH,YAAY,CAACI,KAAK;IAC9B,IAAID,GAAG,EAAE;MACPH,YAAY,CAACI,KAAK,GAAGD,GAAG,CAACE,mBAAmB,CAAC,CAAC;MAC9CF,GAAG,CAACG,OAAO,CAAC,CAAC;IACf;EACF;AACF,CAAC;AAED,MAAMC,QAAQ,GAAGA,CAACC,KAAY,EAAER,YAAyC,KAAK;EAC5E,SAAS;;EACT,MAAMS,GAAG,GAAGD,KAAK,CAACE,SAAS,CAAC,CAAC;EAC7B,IAAID,GAAG,EAAE;IACP,IAAIT,YAAY,CAACI,KAAK,EAAE;MACtBJ,YAAY,CAACI,KAAK,CAACE,OAAO,CAAC,CAAC;IAC9B;IACAN,YAAY,CAACI,KAAK,GAAGK,GAAG;EAC1B,CAAC,MAAM;IACLV,kBAAkB,CAACC,YAAY,CAAC;EAClC;AACF,CAAC;AAED,MAAMW,cAAc,GAAG;EACrBC,OAAO,EAAE,IAAI;EACbC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,IAAI;EACVC,WAAW,EAAE,CAAC;EACdC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,SAAS,GAAOb,KAAkB,IAAK;EAC3C,SAAS;;EACT;EACA,MAAMc,YAAY,GAAGC,wBAAG,CAACC,cAAc,CACrCD,wBAAG,CAACE,aAAa,CAACjB,KAAK,CAAC,GAAGA,KAAK,CAACA,KAAK,GAAGA,KAC3C,CAAC;EACD,OAAOe,wBAAG,CAACE,aAAa,CAACjB,KAAK,CAAC,GAAGA,KAAK,GAAGc,YAAY;AACxD,CAAC;AAED,MAAMI,YAAY,GAAId,KAAmB,IAAK;EAC5C,SAAS;;EACTA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEF,OAAO,CAAC,CAAC;AAClB,CAAC;AAEM,MAAMiB,QAAQ,GAAGA,CACtBC,MAAqB,EACrBC,WAAsC,KACnC;EAAA,IAAAC,mBAAA,EAAAC,oBAAA,EAAAC,iBAAA,EAAAC,mBAAA;EACH,MAAMrB,KAAK,GAAG,IAAAsB,gCAAe,EAACN,MAAM,CAAC;EACrC,MAAMO,QAAQ,GAAGd,SAAS,EAAAS,mBAAA,GAACD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEZ,MAAM,cAAAa,mBAAA,cAAAA,mBAAA,GAAIf,cAAc,CAACE,MAAM,CAAC;EACxE,MAAMD,OAAO,GAAGK,SAAS,EAAAU,oBAAA,GAACF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEb,OAAO,cAAAe,oBAAA,cAAAA,oBAAA,GAAIhB,cAAc,CAACC,OAAO,CAAC;EACzE,MAAME,IAAI,GAAGG,SAAS,EAAAW,iBAAA,GAACH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEX,IAAI,cAAAc,iBAAA,cAAAA,iBAAA,GAAIjB,cAAc,CAACG,IAAI,CAAC;EAChE,MAAME,MAAM,GAAGC,SAAS,EAAAY,mBAAA,GAACJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAET,MAAM,cAAAa,mBAAA,cAAAA,mBAAA,GAAIlB,cAAc,CAACK,MAAM,CAAC;EACtE,MAAMhB,YAAY,GAAGmB,wBAAG,CAACC,cAAc,CAAiB,IAAI,CAAC;EAC7D,MAAML,WAAW,GAAGI,wBAAG,CAACC,cAAc,CAAC,CAAC,CAAC;EACzC,MAAMY,aAAa,GAAGb,wBAAG,CAACC,cAAc,CAAC,CAAC,CAAC,CAAC;EAC5C,MAAMa,QAAQ,GAAG,IAAAC,cAAO,EAAC;IAAA,IAAAC,eAAA;IAAA,QAAAA,eAAA,GAAM3B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyB,QAAQ,CAAC,CAAC,cAAAE,eAAA,cAAAA,eAAA,GAAI,CAAC;EAAA,GAAE,CAAC3B,KAAK,CAAC,CAAC;EAC/D,MAAM4B,SAAS,GAAG,IAAAF,cAAO,EACvB;IAAA,IAAAG,gBAAA;IAAA,OAAOpC,kBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,CAAC,CAAC,IAAAmC,gBAAA,GAAG7B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE4B,SAAS,CAAC,CAAC,cAAAC,gBAAA,cAAAA,gBAAA,GAAI,CAAC;EAAA,CAAC,EAC5D,CAAC7B,KAAK,CACR,CAAC;EACD,MAAM8B,IAAI,GAAG,IAAAJ,cAAO,EAAC;IAAA,IAAAK,WAAA;IAAA,QAAAA,WAAA,GAAM/B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE8B,IAAI,CAAC,CAAC,cAAAC,WAAA,cAAAA,WAAA,GAAI;MAAEC,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;EAAA,GAAE,CAACjC,KAAK,CAAC,CAAC;EAC7E,MAAMkC,QAAQ,GAAG,IAAAR,cAAO,EAAC;IAAA,IAAAS,eAAA;IAAA,QAAAA,eAAA,GAAMnC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkC,QAAQ,CAAC,CAAC,cAAAC,eAAA,cAAAA,eAAA,GAAI,CAAC;EAAA,GAAE,CAACnC,KAAK,CAAC,CAAC;EAC/D,MAAMoC,aAAa,GAAG,IAAI,GAAGR,SAAS;EACtC,MAAMS,oBAAoB,GAAGC,IAAI,CAACC,KAAK,CAACH,aAAa,CAAC;EACtDzB,wBAAG,CAAC6B,mBAAmB,CACrB,MAAMjB,QAAQ,CAAC3B,KAAK,EACnBS,MAAM,IAAK;IACV,IAAIA,MAAM,EAAE;MACVL,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEyC,KAAK,CAAC,CAAC;IAChB,CAAC,MAAM;MACLjB,aAAa,CAAC5B,KAAK,GAAG,CAAC,CAAC;MACxBI,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE0C,IAAI,CAAC,CAAC;IACf;EACF,CACF,CAAC;EACD/B,wBAAG,CAAC6B,mBAAmB,CACrB,MAAMlC,IAAI,CAACV,KAAK,EACfA,KAAK,IAAK;IACT,IAAIA,KAAK,KAAK,IAAI,EAAE;MAClBL,kBAAkB,CAACC,YAAY,CAAC;MAChCQ,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEM,IAAI,CAACV,KAAK,CAAC;MAClBW,WAAW,CAACX,KAAK,GAAGA,KAAK;MACzBU,IAAI,CAACV,KAAK,GAAG,IAAI;IACnB;EACF,CACF,CAAC;EACDe,wBAAG,CAAC6B,mBAAmB,CACrB,MAAMhC,MAAM,CAACZ,KAAK,EACjBA,KAAK,IAAK;IACTI,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE2C,SAAS,CAAC/C,KAAK,CAAC;EACzB,CACF,CAAC;EACDe,wBAAG,CAACiC,gBAAgB,CAAEC,SAAoB,IAAK;IAC7C,SAAS;;IACT,IAAI,CAAC7C,KAAK,EAAE;MACV;IACF;IACA,IAAIuB,QAAQ,CAAC3B,KAAK,EAAE;MAClB;IACF;IACA,MAAMkD,gBAAgB,GAAGD,SAAS,CAACE,SAAS;IAC5C,IAAIvB,aAAa,CAAC5B,KAAK,KAAK,CAAC,CAAC,EAAE;MAC9B4B,aAAa,CAAC5B,KAAK,GAAGkD,gBAAgB;IACxC;IACA,MAAME,KAAK,GAAGF,gBAAgB,GAAGtB,aAAa,CAAC5B,KAAK;IAEpD,MAAMqD,MAAM,GAAG1C,WAAW,CAACX,KAAK,GAAGoD,KAAK,GAAGvB,QAAQ;IACnD,IAAIwB,MAAM,IAAI7C,OAAO,CAACR,KAAK,EAAE;MAC3BU,IAAI,CAACV,KAAK,GAAG,CAAC;MACdW,WAAW,CAACX,KAAK,GAAGU,IAAI,CAACV,KAAK;MAC9B4B,aAAa,CAAC5B,KAAK,GAAGkD,gBAAgB;IACxC;IACA;IACA;IACA,IAAKE,KAAK,IAAIX,oBAAoB,IAAI,CAACY,MAAM,IAAKxD,kBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACvEK,QAAQ,CAACC,KAAK,EAAER,YAAY,CAAC;MAC7Be,WAAW,CAACX,KAAK,IAAIoD,KAAK;MAC1BxB,aAAa,CAAC5B,KAAK,GAAGkD,gBAAgB;IACxC;EACF,CAAC,CAAC;EAEF,IAAAI,gBAAS,EAAC,MAAM;IACd,OAAO,MAAM;MACX;MACAvC,wBAAG,CAACwC,OAAO,CAACrC,YAAY,CAAC,CAACd,KAAK,CAAC;IAClC,CAAC;EACH,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAO;IACLR,YAAY;IACZe,WAAW;IACXkB,QAAQ;IACRG,SAAS;IACTM,QAAQ;IACRJ;EACF,CAAC;AACH,CAAC;AAACsB,OAAA,CAAArC,QAAA,GAAAA,QAAA"}
|
1
|
+
{"version":3,"names":["_react","require","_Platform","_ReanimatedProxy","_interopRequireDefault","_useVideoLoading","obj","__esModule","default","copyFrameOnAndroid","currentFrame","Platform","OS","tex","value","makeNonTextureImage","dispose","setFrame","video","img","nextImage","defaultOptions","looping","paused","seek","currentTime","volume","useOption","defaultValue","Rea","useSharedValue","isSharedValue","disposeVideo","useVideo","source","userOptions","_userOptions$paused","_userOptions$looping","_userOptions$seek","_userOptions$volume","useVideoLoading","isPaused","lastTimestamp","duration","useMemo","_video$duration","framerate","_video$framerate","size","_video$size","width","height","rotation","_video$rotation","frameDuration","currentFrameDuration","Math","floor","useAnimatedReaction","pause","play","setVolume","useFrameCallback","frameInfo","currentTimestamp","timestamp","delta","isOver","useEffect","runOnUI","exports"],"sources":["useVideo.ts"],"sourcesContent":["import type { SharedValue, FrameInfo } from \"react-native-reanimated\";\nimport { useEffect, useMemo } from \"react\";\n\nimport type { SkImage, Video } from \"../../skia/types\";\nimport { Platform } from \"../../Platform\";\n\nimport Rea from \"./ReanimatedProxy\";\nimport { useVideoLoading } from \"./useVideoLoading\";\n\ntype Animated<T> = SharedValue<T> | T;\n\ninterface PlaybackOptions {\n looping: Animated<boolean>;\n paused: Animated<boolean>;\n seek: Animated<number | null>;\n volume: Animated<number>;\n}\n\nconst copyFrameOnAndroid = (currentFrame: SharedValue<SkImage | null>) => {\n \"worklet\";\n // on android we need to copy the texture before it's invalidated\n if (Platform.OS === \"android\") {\n const tex = currentFrame.value;\n if (tex) {\n currentFrame.value = tex.makeNonTextureImage();\n tex.dispose();\n }\n }\n};\n\nconst setFrame = (video: Video, currentFrame: SharedValue<SkImage | null>) => {\n \"worklet\";\n const img = video.nextImage();\n if (img) {\n if (currentFrame.value) {\n currentFrame.value.dispose();\n }\n currentFrame.value = img;\n copyFrameOnAndroid(currentFrame);\n }\n};\n\nconst defaultOptions = {\n looping: true,\n paused: false,\n seek: null,\n currentTime: 0,\n volume: 0,\n};\n\nconst useOption = <T>(value: Animated<T>) => {\n \"worklet\";\n // TODO: only create defaultValue is needed (via makeMutable)\n const defaultValue = Rea.useSharedValue(\n Rea.isSharedValue(value) ? value.value : value\n );\n return Rea.isSharedValue(value) ? value : defaultValue;\n};\n\nconst disposeVideo = (video: Video | null) => {\n \"worklet\";\n video?.dispose();\n};\n\nexport const useVideo = (\n source: string | null,\n userOptions?: Partial<PlaybackOptions>\n) => {\n const video = useVideoLoading(source);\n const isPaused = useOption(userOptions?.paused ?? defaultOptions.paused);\n const looping = useOption(userOptions?.looping ?? defaultOptions.looping);\n const seek = useOption(userOptions?.seek ?? defaultOptions.seek);\n const volume = useOption(userOptions?.volume ?? defaultOptions.volume);\n const currentFrame = Rea.useSharedValue<null | SkImage>(null);\n const currentTime = Rea.useSharedValue(0);\n const lastTimestamp = Rea.useSharedValue(-1);\n const duration = useMemo(() => video?.duration() ?? 0, [video]);\n const framerate = useMemo(\n () => (Platform.OS === \"web\" ? -1 : video?.framerate() ?? 0),\n [video]\n );\n const size = useMemo(() => video?.size() ?? { width: 0, height: 0 }, [video]);\n const rotation = useMemo(() => video?.rotation() ?? 0, [video]);\n const frameDuration = 1000 / framerate;\n const currentFrameDuration = Math.floor(frameDuration);\n Rea.useAnimatedReaction(\n () => isPaused.value,\n (paused) => {\n if (paused) {\n video?.pause();\n } else {\n lastTimestamp.value = -1;\n video?.play();\n }\n }\n );\n Rea.useAnimatedReaction(\n () => seek.value,\n (value) => {\n if (value !== null) {\n video?.seek(value);\n currentTime.value = value;\n seek.value = null;\n }\n }\n );\n Rea.useAnimatedReaction(\n () => volume.value,\n (value) => {\n video?.setVolume(value);\n }\n );\n Rea.useFrameCallback((frameInfo: FrameInfo) => {\n \"worklet\";\n if (!video) {\n return;\n }\n if (isPaused.value) {\n return;\n }\n const currentTimestamp = frameInfo.timestamp;\n if (lastTimestamp.value === -1) {\n lastTimestamp.value = currentTimestamp;\n }\n const delta = currentTimestamp - lastTimestamp.value;\n\n const isOver = currentTime.value + delta > duration;\n if (isOver && looping.value) {\n seek.value = 0;\n currentTime.value = seek.value;\n lastTimestamp.value = currentTimestamp;\n }\n // On Web the framerate is uknown.\n // This could be optimized by using requestVideoFrameCallback (Chrome only)\n if ((delta >= currentFrameDuration && !isOver) || Platform.OS === \"web\") {\n setFrame(video, currentFrame);\n currentTime.value += delta;\n lastTimestamp.value = currentTimestamp;\n }\n });\n\n useEffect(() => {\n return () => {\n // TODO: should video simply be a shared value instead?\n Rea.runOnUI(disposeVideo)(video);\n };\n }, [video]);\n\n return {\n currentFrame,\n currentTime,\n duration,\n framerate,\n rotation,\n size,\n };\n};\n"],"mappings":"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"}
|
@@ -10,19 +10,21 @@ var _ReanimatedProxy = _interopRequireDefault(require("./ReanimatedProxy"));
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
11
11
|
const runtime = _ReanimatedProxy.default.createWorkletRuntime("video-metadata-runtime");
|
12
12
|
const useVideoLoading = source => {
|
13
|
-
const
|
13
|
+
const {
|
14
|
+
runOnJS
|
15
|
+
} = _ReanimatedProxy.default;
|
14
16
|
const [video, setVideo] = (0, _react.useState)(null);
|
15
|
-
const cb = src => {
|
17
|
+
const cb = (0, _react.useCallback)(src => {
|
16
18
|
"worklet";
|
17
19
|
|
18
20
|
const vid = _skia.Skia.Video(src);
|
19
21
|
runOnJS(setVideo)(vid);
|
20
|
-
};
|
22
|
+
}, [runOnJS]);
|
21
23
|
(0, _react.useEffect)(() => {
|
22
24
|
if (source) {
|
23
25
|
_ReanimatedProxy.default.runOnRuntime(runtime, cb)(source);
|
24
26
|
}
|
25
|
-
}, [source]);
|
27
|
+
}, [cb, source]);
|
26
28
|
return video;
|
27
29
|
};
|
28
30
|
exports.useVideoLoading = useVideoLoading;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","require","_skia","_ReanimatedProxy","_interopRequireDefault","obj","__esModule","default","runtime","Rea","createWorkletRuntime","useVideoLoading","source","runOnJS","video","setVideo","useState","cb","src","vid","Skia","Video","useEffect","runOnRuntime","exports"],"sources":["useVideoLoading.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport type { Video } from \"../../skia/types\";\nimport { Skia } from \"../../skia\";\n\nimport Rea from \"./ReanimatedProxy\";\n\nconst runtime = Rea.createWorkletRuntime(\"video-metadata-runtime\");\n\ntype VideoSource = string | null;\n\nexport const useVideoLoading = (source: VideoSource) => {\n const runOnJS = Rea
|
1
|
+
{"version":3,"names":["_react","require","_skia","_ReanimatedProxy","_interopRequireDefault","obj","__esModule","default","runtime","Rea","createWorkletRuntime","useVideoLoading","source","runOnJS","video","setVideo","useState","cb","useCallback","src","vid","Skia","Video","useEffect","runOnRuntime","exports"],"sources":["useVideoLoading.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\n\nimport type { Video } from \"../../skia/types\";\nimport { Skia } from \"../../skia\";\n\nimport Rea from \"./ReanimatedProxy\";\n\nconst runtime = Rea.createWorkletRuntime(\"video-metadata-runtime\");\n\ntype VideoSource = string | null;\n\nexport const useVideoLoading = (source: VideoSource) => {\n const { runOnJS } = Rea;\n const [video, setVideo] = useState<Video | null>(null);\n const cb = useCallback(\n (src: string) => {\n \"worklet\";\n const vid = Skia.Video(src) as Video;\n runOnJS(setVideo)(vid);\n },\n [runOnJS]\n );\n useEffect(() => {\n if (source) {\n Rea.runOnRuntime(runtime, cb)(source);\n }\n }, [cb, source]);\n return video;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAoC,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpC,MAAMG,OAAO,GAAGC,wBAAG,CAACC,oBAAoB,CAAC,wBAAwB,CAAC;AAI3D,MAAMC,eAAe,GAAIC,MAAmB,IAAK;EACtD,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,wBAAG;EACvB,MAAM,CAACK,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAe,IAAI,CAAC;EACtD,MAAMC,EAAE,GAAG,IAAAC,kBAAW,EACnBC,GAAW,IAAK;IACf,SAAS;;IACT,MAAMC,GAAG,GAAGC,UAAI,CAACC,KAAK,CAACH,GAAG,CAAU;IACpCN,OAAO,CAACE,QAAQ,CAAC,CAACK,GAAG,CAAC;EACxB,CAAC,EACD,CAACP,OAAO,CACV,CAAC;EACD,IAAAU,gBAAS,EAAC,MAAM;IACd,IAAIX,MAAM,EAAE;MACVH,wBAAG,CAACe,YAAY,CAAChB,OAAO,EAAES,EAAE,CAAC,CAACL,MAAM,CAAC;IACvC;EACF,CAAC,EAAE,CAACK,EAAE,EAAEL,MAAM,CAAC,CAAC;EAChB,OAAOE,KAAK;AACd,CAAC;AAACW,OAAA,CAAAd,eAAA,GAAAA,eAAA"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.useSVG = void 0;
|
7
|
+
var _Skia = require("../Skia");
|
8
|
+
const useSVG = (source, onError) => {
|
9
|
+
if (source === null || source === undefined) {
|
10
|
+
throw new Error(`Invalid svg data source. Got: ${source}`);
|
11
|
+
}
|
12
|
+
if (typeof source !== "object" || source instanceof Uint8Array || typeof source.default !== "string") {
|
13
|
+
throw new Error(`Invalid svg data source. Make sure that the source resolves to a string. Got: ${JSON.stringify(source, null, 2)}`);
|
14
|
+
}
|
15
|
+
const svg = _Skia.Skia.SVG.MakeFromString(source.default);
|
16
|
+
if (svg === null && onError !== undefined) {
|
17
|
+
onError(new Error("Failed to create SVG from source."));
|
18
|
+
}
|
19
|
+
return svg;
|
20
|
+
};
|
21
|
+
exports.useSVG = useSVG;
|
22
|
+
//# sourceMappingURL=SVG.web.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_Skia","require","useSVG","source","onError","undefined","Error","Uint8Array","default","JSON","stringify","svg","Skia","SVG","MakeFromString","exports"],"sources":["SVG.web.ts"],"sourcesContent":["import { Skia } from \"../Skia\";\nimport type { DataSourceParam } from \"../types\";\n\nexport const useSVG = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => {\n if (source === null || source === undefined) {\n throw new Error(`Invalid svg data source. Got: ${source}`);\n }\n if (\n typeof source !== \"object\" ||\n source instanceof Uint8Array ||\n typeof source.default !== \"string\"\n ) {\n throw new Error(\n `Invalid svg data source. Make sure that the source resolves to a string. Got: ${JSON.stringify(\n source,\n null,\n 2\n )}`\n );\n }\n const svg = Skia.SVG.MakeFromString(source.default);\n if (svg === null && onError !== undefined) {\n onError(new Error(\"Failed to create SVG from source.\"));\n }\n return svg;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGO,MAAMC,MAAM,GAAGA,CACpBC,MAAuB,EACvBC,OAA8B,KAC3B;EACH,IAAID,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAKE,SAAS,EAAE;IAC3C,MAAM,IAAIC,KAAK,CAAE,iCAAgCH,MAAO,EAAC,CAAC;EAC5D;EACA,IACE,OAAOA,MAAM,KAAK,QAAQ,IAC1BA,MAAM,YAAYI,UAAU,IAC5B,OAAOJ,MAAM,CAACK,OAAO,KAAK,QAAQ,EAClC;IACA,MAAM,IAAIF,KAAK,CACZ,iFAAgFG,IAAI,CAACC,SAAS,CAC7FP,MAAM,EACN,IAAI,EACJ,CACF,CAAE,EACJ,CAAC;EACH;EACA,MAAMQ,GAAG,GAAGC,UAAI,CAACC,GAAG,CAACC,cAAc,CAACX,MAAM,CAACK,OAAO,CAAC;EACnD,IAAIG,GAAG,KAAK,IAAI,IAAIP,OAAO,KAAKC,SAAS,EAAE;IACzCD,OAAO,CAAC,IAAIE,KAAK,CAAC,mCAAmC,CAAC,CAAC;EACzD;EACA,OAAOK,GAAG;AACZ,CAAC;AAACI,OAAA,CAAAb,MAAA,GAAAA,MAAA"}
|
@@ -4,5 +4,5 @@ import type { FontStyle } from "./Font";
|
|
4
4
|
export interface SkFontMgr extends SkJSIInstance<"FontMgr"> {
|
5
5
|
countFamilies(): number;
|
6
6
|
getFamilyName(index: number): string;
|
7
|
-
matchFamilyStyle(name
|
7
|
+
matchFamilyStyle(name: string, style: FontStyle): SkTypeface;
|
8
8
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["FontMgr.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkTypeface } from \"../Typeface\";\n\nimport type { FontStyle } from \"./Font\";\n\nexport interface SkFontMgr extends SkJSIInstance<\"FontMgr\"> {\n countFamilies(): number;\n getFamilyName(index: number): string;\n matchFamilyStyle(name
|
1
|
+
{"version":3,"names":[],"sources":["FontMgr.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkTypeface } from \"../Typeface\";\n\nimport type { FontStyle } from \"./Font\";\n\nexport interface SkFontMgr extends SkJSIInstance<\"FontMgr\"> {\n countFamilies(): number;\n getFamilyName(index: number): string;\n matchFamilyStyle(name: string, style: FontStyle): SkTypeface;\n}\n"],"mappings":""}
|
@@ -8,7 +8,7 @@ class CanvasKitWebGLBuffer {}
|
|
8
8
|
exports.CanvasKitWebGLBuffer = CanvasKitWebGLBuffer;
|
9
9
|
const isNativeBufferAddr = buffer => buffer instanceof BigInt;
|
10
10
|
exports.isNativeBufferAddr = isNativeBufferAddr;
|
11
|
-
const isNativeBufferWeb = buffer => buffer instanceof HTMLVideoElement || buffer instanceof HTMLCanvasElement || buffer instanceof ImageBitmap || buffer instanceof OffscreenCanvas || buffer instanceof VideoFrame || buffer instanceof HTMLImageElement || buffer instanceof SVGImageElement || buffer instanceof CanvasKitWebGLBuffer;
|
11
|
+
const isNativeBufferWeb = buffer => buffer instanceof HTMLVideoElement || buffer instanceof HTMLCanvasElement || buffer instanceof ImageBitmap || buffer instanceof OffscreenCanvas || typeof VideoFrame !== "undefined" && buffer instanceof VideoFrame || buffer instanceof HTMLImageElement || buffer instanceof SVGImageElement || buffer instanceof CanvasKitWebGLBuffer;
|
12
12
|
exports.isNativeBufferWeb = isNativeBufferWeb;
|
13
13
|
const isNativeBufferNode = buffer => buffer instanceof ArrayBuffer;
|
14
14
|
exports.isNativeBufferNode = isNativeBufferNode;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["CanvasKitWebGLBuffer","exports","isNativeBufferAddr","buffer","BigInt","isNativeBufferWeb","HTMLVideoElement","HTMLCanvasElement","ImageBitmap","OffscreenCanvas","VideoFrame","HTMLImageElement","SVGImageElement","isNativeBufferNode","ArrayBuffer"],"sources":["NativeBufferFactory.ts"],"sourcesContent":["import type { SkImage } from \"../Image\";\n\nexport abstract class CanvasKitWebGLBuffer {}\n\nexport type NativeBuffer<\n T extends\n | bigint\n | ArrayBuffer\n | CanvasImageSource\n | CanvasKitWebGLBuffer\n | unknown = unknown\n> = T;\n\nexport type NativeBufferAddr = NativeBuffer<bigint>;\nexport type NativeBufferWeb = NativeBuffer<CanvasImageSource>;\nexport type NativeBufferNode = NativeBuffer<ArrayBuffer>;\n\nexport const isNativeBufferAddr = (\n buffer: NativeBuffer\n): buffer is NativeBufferAddr => buffer instanceof BigInt;\nexport const isNativeBufferWeb = (\n buffer: NativeBuffer\n): buffer is NativeBufferWeb =>\n buffer instanceof HTMLVideoElement ||\n buffer instanceof HTMLCanvasElement ||\n buffer instanceof ImageBitmap ||\n buffer instanceof OffscreenCanvas ||\n buffer instanceof VideoFrame ||\n buffer instanceof HTMLImageElement ||\n buffer instanceof SVGImageElement ||\n buffer instanceof CanvasKitWebGLBuffer;\n\nexport const isNativeBufferNode = (\n buffer: NativeBuffer\n): buffer is NativeBufferNode => buffer instanceof ArrayBuffer;\n\nexport interface NativeBufferFactory {\n /**\n * Copy pixels to a native buffer.\n */\n MakeFromImage: (image: SkImage) => NativeBuffer;\n /**\n * Release a native buffer that was created with `MakeFromImage`.\n */\n Release: (nativeBuffer: NativeBuffer) => void;\n}\n"],"mappings":";;;;;;AAEO,MAAeA,oBAAoB,CAAC;AAAEC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAetC,MAAME,kBAAkB,GAC7BC,MAAoB,IACWA,MAAM,YAAYC,MAAM;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACnD,MAAMG,iBAAiB,GAC5BF,MAAoB,IAEpBA,MAAM,YAAYG,gBAAgB,IAClCH,MAAM,YAAYI,iBAAiB,IACnCJ,MAAM,YAAYK,WAAW,IAC7BL,MAAM,YAAYM,eAAe,
|
1
|
+
{"version":3,"names":["CanvasKitWebGLBuffer","exports","isNativeBufferAddr","buffer","BigInt","isNativeBufferWeb","HTMLVideoElement","HTMLCanvasElement","ImageBitmap","OffscreenCanvas","VideoFrame","HTMLImageElement","SVGImageElement","isNativeBufferNode","ArrayBuffer"],"sources":["NativeBufferFactory.ts"],"sourcesContent":["import type { SkImage } from \"../Image\";\n\nexport abstract class CanvasKitWebGLBuffer {}\n\nexport type NativeBuffer<\n T extends\n | bigint\n | ArrayBuffer\n | CanvasImageSource\n | CanvasKitWebGLBuffer\n | unknown = unknown\n> = T;\n\nexport type NativeBufferAddr = NativeBuffer<bigint>;\nexport type NativeBufferWeb = NativeBuffer<CanvasImageSource>;\nexport type NativeBufferNode = NativeBuffer<ArrayBuffer>;\n\nexport const isNativeBufferAddr = (\n buffer: NativeBuffer\n): buffer is NativeBufferAddr => buffer instanceof BigInt;\nexport const isNativeBufferWeb = (\n buffer: NativeBuffer\n): buffer is NativeBufferWeb =>\n buffer instanceof HTMLVideoElement ||\n buffer instanceof HTMLCanvasElement ||\n buffer instanceof ImageBitmap ||\n buffer instanceof OffscreenCanvas ||\n (typeof VideoFrame !== \"undefined\" && buffer instanceof VideoFrame) ||\n buffer instanceof HTMLImageElement ||\n buffer instanceof SVGImageElement ||\n buffer instanceof CanvasKitWebGLBuffer;\n\nexport const isNativeBufferNode = (\n buffer: NativeBuffer\n): buffer is NativeBufferNode => buffer instanceof ArrayBuffer;\n\nexport interface NativeBufferFactory {\n /**\n * Copy pixels to a native buffer.\n */\n MakeFromImage: (image: SkImage) => NativeBuffer;\n /**\n * Release a native buffer that was created with `MakeFromImage`.\n */\n Release: (nativeBuffer: NativeBuffer) => void;\n}\n"],"mappings":";;;;;;AAEO,MAAeA,oBAAoB,CAAC;AAAEC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAetC,MAAME,kBAAkB,GAC7BC,MAAoB,IACWA,MAAM,YAAYC,MAAM;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACnD,MAAMG,iBAAiB,GAC5BF,MAAoB,IAEpBA,MAAM,YAAYG,gBAAgB,IAClCH,MAAM,YAAYI,iBAAiB,IACnCJ,MAAM,YAAYK,WAAW,IAC7BL,MAAM,YAAYM,eAAe,IAChC,OAAOC,UAAU,KAAK,WAAW,IAAIP,MAAM,YAAYO,UAAW,IACnEP,MAAM,YAAYQ,gBAAgB,IAClCR,MAAM,YAAYS,eAAe,IACjCT,MAAM,YAAYH,oBAAoB;AAACC,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAElC,MAAMQ,kBAAkB,GAC7BV,MAAoB,IACWA,MAAM,YAAYW,WAAW;AAACb,OAAA,CAAAY,kBAAA,GAAAA,kBAAA"}
|
@@ -27,7 +27,7 @@ export declare class JsiSkCanvas extends HostObject<Canvas, "Canvas"> implements
|
|
27
27
|
drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont): void;
|
28
28
|
drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint): void;
|
29
29
|
drawGlyphs(glyphs: number[], positions: SkPoint[], x: number, y: number, font: SkFont, paint: SkPaint): void;
|
30
|
-
drawSvg(
|
30
|
+
drawSvg(svg: SkSVG, _width?: number, _height?: number): void;
|
31
31
|
save(): number;
|
32
32
|
saveLayer(paint?: SkPaint, bounds?: SkRect | null, backdrop?: SkImageFilter | null, flags?: SaveLayerFlag): number;
|
33
33
|
restore(): void;
|
@@ -103,8 +103,9 @@ class JsiSkCanvas extends _Host.HostObject {
|
|
103
103
|
drawGlyphs(glyphs, positions, x, y, font, paint) {
|
104
104
|
this.ref.drawGlyphs(glyphs, positions.map(p => [p.x, p.y]).flat(), x, y, _JsiSkFont.JsiSkFont.fromValue(font), _JsiSkPaint.JsiSkPaint.fromValue(paint));
|
105
105
|
}
|
106
|
-
drawSvg(
|
107
|
-
|
106
|
+
drawSvg(svg, _width, _height) {
|
107
|
+
const image = this.CanvasKit.MakeImageFromCanvasImageSource(svg.ref);
|
108
|
+
this.ref.drawImage(image, 0, 0);
|
108
109
|
}
|
109
110
|
save() {
|
110
111
|
return this.ref.save();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_Host","require","_JsiSkPaint","_JsiSkRect","_JsiSkRRect","_JsiSkImage","_JsiSkVertices","_JsiSkPath","_JsiSkFont","_JsiSkTextBlob","_JsiSkPicture","_JsiSkMatrix","_JsiSkImageFilter","_JsiSkPoint","_JsiSkRSXform","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","JsiSkCanvas","HostObject","constructor","CanvasKit","ref","delete","drawRect","rect","paint","JsiSkRect","fromValue","JsiSkPaint","drawImage","image","x","y","JsiSkImage","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","getEnum","FilterMode","MipmapMode","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","JsiSkVertices","BlendMode","drawPatch","cubics","colors","texs","map","flat","flatMap","p","JsiSkPoint","undefined","restoreToCount","saveCount","drawPoints","points","PointMode","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","JsiSkRRect","drawDRRect","outer","inner","drawOval","drawPath","path","JsiSkPath","drawText","str","font","JsiSkFont","drawTextBlob","blob","JsiSkTextBlob","drawGlyphs","glyphs","positions","drawSvg","_svgDom","_width","_height","Error","save","saveLayer","bounds","backdrop","flags","JsiSkImageFilter","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","clear","clipPath","op","doAntiAlias","PathOp","clipRect","clipRRect","concat","m","isArray","JsiSkMatrix","drawPicture","skp","JsiSkPicture","drawAtlas","atlas","srcs","dsts","_sampling","s","dst","JsiSkRSXform","cls","Uint32Array","length","g","b","a","ColorAsInt","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","AlphaType","colorType","ColorType","exports"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type { Canvas, CanvasKit } from \"canvaskit-wasm\";\n\nimport {\n type BlendMode,\n type ClipOp,\n type FilterMode,\n type MipmapMode,\n type PointMode,\n type SaveLayerFlag,\n type ImageInfo,\n type SkCanvas,\n type SkColor,\n type SkFont,\n type SkImage,\n type SkImageFilter,\n type SkMatrix,\n type SkPaint,\n type SkPath,\n type SkPicture,\n type SkPoint,\n type SkRect,\n type InputRRect,\n type SkSVG,\n type SkTextBlob,\n type SkVertices,\n type SkRSXform,\n type CubicResampler,\n type FilterOptions,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\nimport { JsiSkPicture } from \"./JsiSkPicture\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\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 dispose = () => {\n this.ref.delete();\n };\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(\n JsiSkImage.fromValue(image),\n x,\n y,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\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 JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n JsiSkPaint.fromValue(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 JsiSkImage.fromValue(img),\n left,\n top,\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : 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 JsiSkImage.fromValue(img),\n left,\n top,\n getEnum(this.CanvasKit.FilterMode, fm),\n getEnum(this.CanvasKit.MipmapMode, mm),\n paint ? JsiSkPaint.fromValue(paint) : 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 JsiSkImage.fromValue(img),\n Array.from(JsiSkRect.fromValue(this.CanvasKit, center)),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit.FilterMode, filter),\n paint ? JsiSkPaint.fromValue(paint) : 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 JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : 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 JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit.FilterMode, fm),\n getEnum(this.CanvasKit.MipmapMode, mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(JsiSkPaint.fromValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, JsiSkPaint.fromValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, JsiSkPaint.fromValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(\n JsiSkVertices.fromValue(verts),\n getEnum(this.CanvasKit.BlendMode, mode),\n JsiSkPaint.fromValue(paint)\n );\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 texs ? texs.flatMap((p) => Array.from(JsiSkPoint.fromValue(p))) : texs,\n mode ? getEnum(this.CanvasKit.BlendMode, mode) : null,\n paint ? JsiSkPaint.fromValue(paint) : undefined\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 getEnum(this.CanvasKit.PointMode, mode),\n points.map(({ x, y }) => [x, y]).flat(),\n JsiSkPaint.fromValue(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 JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngle,\n sweepAngle,\n useCenter,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawRRect(rrect: InputRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawDRRect(outer: InputRRect, inner: InputRRect, paint: SkPaint) {\n this.ref.drawDRRect(\n JsiSkRRect.fromValue(this.CanvasKit, outer),\n JsiSkRRect.fromValue(this.CanvasKit, inner),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(JsiSkPath.fromValue(path), JsiSkPaint.fromValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(\n str,\n x,\n y,\n JsiSkPaint.fromValue(paint),\n JsiSkFont.fromValue(font)\n );\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(\n JsiSkTextBlob.fromValue(blob),\n x,\n y,\n JsiSkPaint.fromValue(paint)\n );\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 JsiSkFont.fromValue(font),\n JsiSkPaint.fromValue(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 paint ? JsiSkPaint.fromValue(paint) : undefined,\n bounds ? JsiSkRect.fromValue(this.CanvasKit, bounds) : bounds,\n backdrop ? JsiSkImageFilter.fromValue(backdrop) : 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(\n color,\n blendMode ? getEnum(this.CanvasKit.BlendMode, blendMode) : undefined\n );\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(\n JsiSkPath.fromValue(path),\n getEnum(this.CanvasKit.PathOp, op),\n doAntiAlias\n );\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n getEnum(this.CanvasKit.PathOp, op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: InputRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n getEnum(this.CanvasKit.PathOp, op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix | number[]) {\n this.ref.concat(Array.isArray(m) ? m : JsiSkMatrix.fromValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(JsiSkPicture.fromValue(skp));\n }\n\n drawAtlas(\n atlas: SkImage,\n srcs: SkRect[],\n dsts: SkRSXform[],\n paint: SkPaint,\n blendMode?: BlendMode,\n colors?: SkColor[],\n _sampling?: CubicResampler | FilterOptions\n ) {\n const src = srcs.flatMap((s) =>\n Array.from(JsiSkRect.fromValue(this.CanvasKit, s))\n );\n const dst = dsts.flatMap((s) => Array.from(JsiSkRSXform.fromValue(s)));\n let cls: Uint32Array | undefined;\n if (colors) {\n cls = new Uint32Array(colors.length);\n for (let i = 0; i < colors.length; i++) {\n const [r, g, b, a] = colors[i];\n cls[i] = this.CanvasKit.ColorAsInt(r * 255, g * 255, b * 255, a * 255);\n }\n }\n this.ref.drawAtlas(\n JsiSkImage.fromValue(atlas),\n src,\n dst,\n JsiSkPaint.fromValue(paint),\n blendMode\n ? getEnum(this.CanvasKit.BlendMode, blendMode)\n : this.CanvasKit.BlendMode.DstOver,\n cls\n );\n }\n\n readPixels(srcX: number, srcY: number, imageInfo: ImageInfo) {\n const pxInfo = {\n width: imageInfo.width,\n height: imageInfo.height,\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n alphaType: getEnum(this.CanvasKit.AlphaType, imageInfo.alphaType),\n colorType: getEnum(this.CanvasKit.ColorType, imageInfo.colorType),\n };\n return this.ref.readPixels(srcX, srcY, pxInfo);\n }\n}\n"],"mappings":";;;;;;AA8BA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,iBAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,aAAA,GAAAb,OAAA;AAA8C,SAAAc,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAEvC,MAAMW,WAAW,SACdC,gBAAU,CAEpB;EACEC,WAAWA,CAACC,SAAoB,EAAEC,GAAW,EAAE;IAC7C,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,QAAQ,CAAC;IAACzB,eAAA,kBAGxB,MAAM;MACd,IAAI,CAACyB,GAAG,CAACC,MAAM,CAAC,CAAC;IACnB,CAAC;EAJD;EAMAC,QAAQA,CAACC,IAAY,EAAEC,KAAc,EAAE;IACrC,IAAI,CAACJ,GAAG,CAACE,QAAQ,CACfG,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEI,IAAI,CAAC,EACzCI,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAI,SAASA,CAACC,KAAc,EAAEC,CAAS,EAAEC,CAAS,EAAEP,KAAe,EAAE;IAC/D,IAAI,CAACJ,GAAG,CAACQ,SAAS,CAChBI,sBAAU,CAACN,SAAS,CAACG,KAAK,CAAC,EAC3BC,CAAC,EACDC,CAAC,EACDP,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEAS,aAAaA,CACXC,GAAY,EACZC,GAAW,EACXC,IAAY,EACZZ,KAAc,EACda,UAAoB,EACpB;IACA,IAAI,CAACjB,GAAG,CAACa,aAAa,CACpBD,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBT,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEgB,GAAG,CAAC,EACxCV,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEiB,IAAI,CAAC,EACzCT,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,EAC3Ba,UACF,CAAC;EACH;EAEAC,cAAcA,CACZJ,GAAY,EACZK,IAAY,EACZC,GAAW,EACXC,CAAS,EACTC,CAAS,EACTlB,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAACkB,cAAc,CACrBN,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBK,IAAI,EACJC,GAAG,EACHC,CAAC,EACDC,CAAC,EACDlB,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEAmB,gBAAgBA,CACdT,GAAY,EACZK,IAAY,EACZC,GAAW,EACXI,EAAc,EACdC,EAAc,EACdrB,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAACuB,gBAAgB,CACvBX,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBK,IAAI,EACJC,GAAG,EACH,IAAAM,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC4B,UAAU,EAAEH,EAAE,CAAC,EACtC,IAAAE,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC6B,UAAU,EAAEH,EAAE,CAAC,EACtCrB,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEAyB,aAAaA,CACXf,GAAY,EACZgB,MAAc,EACdd,IAAY,EACZe,MAAkB,EAClB3B,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAAC6B,aAAa,CACpBjB,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBkB,KAAK,CAACC,IAAI,CAAC5B,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAE+B,MAAM,CAAC,CAAC,EACvDzB,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEiB,IAAI,CAAC,EACzC,IAAAU,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC4B,UAAU,EAAEI,MAAM,CAAC,EAC1C3B,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEA8B,kBAAkBA,CAChBpB,GAAY,EACZC,GAAW,EACXC,IAAY,EACZK,CAAS,EACTC,CAAS,EACTlB,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAACkC,kBAAkB,CACzBtB,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBT,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEgB,GAAG,CAAC,EACxCV,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEiB,IAAI,CAAC,EACzCK,CAAC,EACDC,CAAC,EACDlB,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEA+B,oBAAoBA,CAClBrB,GAAY,EACZC,GAAW,EACXC,IAAY,EACZQ,EAAc,EACdC,EAAc,EACdrB,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAACmC,oBAAoB,CAC3BvB,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBT,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEgB,GAAG,CAAC,EACxCV,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEiB,IAAI,CAAC,EACzC,IAAAU,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC4B,UAAU,EAAEH,EAAE,CAAC,EACtC,IAAAE,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC6B,UAAU,EAAEH,EAAE,CAAC,EACtCrB,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEAgC,SAASA,CAAChC,KAAc,EAAE;IACxB,IAAI,CAACJ,GAAG,CAACoC,SAAS,CAAC7B,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,CAAC;EACjD;EAEAiC,QAAQA,CAACC,EAAU,EAAEC,EAAU,EAAEC,EAAU,EAAEC,EAAU,EAAErC,KAAc,EAAE;IACvE,IAAI,CAACJ,GAAG,CAACqC,QAAQ,CAACC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAElC,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,CAAC;EAChE;EAEAsC,UAAUA,CAACC,EAAU,EAAEC,EAAU,EAAEC,MAAc,EAAEzC,KAAc,EAAE;IACjE,IAAI,CAACJ,GAAG,CAAC0C,UAAU,CAACC,EAAE,EAAEC,EAAE,EAAEC,MAAM,EAAEtC,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,CAAC;EAClE;EAEA0C,YAAYA,CAACC,KAAiB,EAAEC,IAAe,EAAE5C,KAAc,EAAE;IAC/D,IAAI,CAACJ,GAAG,CAAC8C,YAAY,CACnBG,4BAAa,CAAC3C,SAAS,CAACyC,KAAK,CAAC,EAC9B,IAAArB,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACmD,SAAS,EAAEF,IAAI,CAAC,EACvCzC,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEA+C,SAASA,CACPC,MAAiB,EACjBC,MAAyB,EACzBC,IAAuB,EACvBN,IAAuB,EACvB5C,KAAe,EACf;IACA,IAAI,CAACJ,GAAG,CAACmD,SAAS,CAChBC,MAAM,CAACG,GAAG,CAAC,CAAC;MAAE7C,CAAC;MAAEC;IAAE,CAAC,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC6C,IAAI,CAAC,CAAC,EACvCH,MAAM,EACNC,IAAI,GAAGA,IAAI,CAACG,OAAO,CAAEC,CAAC,IAAK1B,KAAK,CAACC,IAAI,CAAC0B,sBAAU,CAACrD,SAAS,CAACoD,CAAC,CAAC,CAAC,CAAC,GAAGJ,IAAI,EACtEN,IAAI,GAAG,IAAAtB,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACmD,SAAS,EAAEF,IAAI,CAAC,GAAG,IAAI,EACrD5C,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGwD,SACxC,CAAC;EACH;EAEAC,cAAcA,CAACC,SAAiB,EAAE;IAChC,IAAI,CAAC9D,GAAG,CAAC6D,cAAc,CAACC,SAAS,CAAC;EACpC;EAEAC,UAAUA,CAACf,IAAe,EAAEgB,MAAiB,EAAE5D,KAAc,EAAE;IAC7D,IAAI,CAACJ,GAAG,CAAC+D,UAAU,CACjB,IAAArC,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACkE,SAAS,EAAEjB,IAAI,CAAC,EACvCgB,MAAM,CAACT,GAAG,CAAC,CAAC;MAAE7C,CAAC;MAAEC;IAAE,CAAC,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC6C,IAAI,CAAC,CAAC,EACvCjD,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEA8D,OAAOA,CACLC,IAAY,EACZC,UAAkB,EAClBC,UAAkB,EAClBC,SAAkB,EAClBlE,KAAc,EACd;IACA,IAAI,CAACJ,GAAG,CAACkE,OAAO,CACd7D,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEoE,IAAI,CAAC,EACzCC,UAAU,EACVC,UAAU,EACVC,SAAS,EACT/D,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAmE,SAASA,CAACC,KAAiB,EAAEpE,KAAc,EAAE;IAC3C,IAAI,CAACJ,GAAG,CAACuE,SAAS,CAChBE,sBAAU,CAACnE,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEyE,KAAK,CAAC,EAC3CjE,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAsE,UAAUA,CAACC,KAAiB,EAAEC,KAAiB,EAAExE,KAAc,EAAE;IAC/D,IAAI,CAACJ,GAAG,CAAC0E,UAAU,CACjBD,sBAAU,CAACnE,SAAS,CAAC,IAAI,CAACP,SAAS,EAAE4E,KAAK,CAAC,EAC3CF,sBAAU,CAACnE,SAAS,CAAC,IAAI,CAACP,SAAS,EAAE6E,KAAK,CAAC,EAC3CrE,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAyE,QAAQA,CAACV,IAAY,EAAE/D,KAAc,EAAE;IACrC,IAAI,CAACJ,GAAG,CAAC6E,QAAQ,CACfxE,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEoE,IAAI,CAAC,EACzC5D,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEA0E,QAAQA,CAACC,IAAY,EAAE3E,KAAc,EAAE;IACrC,IAAI,CAACJ,GAAG,CAAC8E,QAAQ,CAACE,oBAAS,CAAC1E,SAAS,CAACyE,IAAI,CAAC,EAAExE,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,CAAC;EAC3E;EAEA6E,QAAQA,CAACC,GAAW,EAAExE,CAAS,EAAEC,CAAS,EAAEP,KAAc,EAAE+E,IAAY,EAAE;IACxE,IAAI,CAACnF,GAAG,CAACiF,QAAQ,CACfC,GAAG,EACHxE,CAAC,EACDC,CAAC,EACDJ,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,EAC3BgF,oBAAS,CAAC9E,SAAS,CAAC6E,IAAI,CAC1B,CAAC;EACH;EAEAE,YAAYA,CAACC,IAAgB,EAAE5E,CAAS,EAAEC,CAAS,EAAEP,KAAc,EAAE;IACnE,IAAI,CAACJ,GAAG,CAACqF,YAAY,CACnBE,4BAAa,CAACjF,SAAS,CAACgF,IAAI,CAAC,EAC7B5E,CAAC,EACDC,CAAC,EACDJ,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAoF,UAAUA,CACRC,MAAgB,EAChBC,SAAoB,EACpBhF,CAAS,EACTC,CAAS,EACTwE,IAAY,EACZ/E,KAAc,EACd;IACA,IAAI,CAACJ,GAAG,CAACwF,UAAU,CACjBC,MAAM,EACNC,SAAS,CAACnC,GAAG,CAAEG,CAAC,IAAK,CAACA,CAAC,CAAChD,CAAC,EAAEgD,CAAC,CAAC/C,CAAC,CAAC,CAAC,CAAC6C,IAAI,CAAC,CAAC,EACvC9C,CAAC,EACDC,CAAC,EACDyE,oBAAS,CAAC9E,SAAS,CAAC6E,IAAI,CAAC,EACzB5E,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAuF,OAAOA,CAACC,OAAc,EAAEC,MAAe,EAAEC,OAAgB,EAAE;IACzD,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;EACnE;EAEAC,IAAIA,CAAA,EAAG;IACL,OAAO,IAAI,CAAChG,GAAG,CAACgG,IAAI,CAAC,CAAC;EACxB;EAEAC,SAASA,CACP7F,KAAe,EACf8F,MAAsB,EACtBC,QAA+B,EAC/BC,KAAqB,EACrB;IACA,OAAO,IAAI,CAACpG,GAAG,CAACiG,SAAS,CACvB7F,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGwD,SAAS,EAC/CsC,MAAM,GAAG7F,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEmG,MAAM,CAAC,GAAGA,MAAM,EAC7DC,QAAQ,GAAGE,kCAAgB,CAAC/F,SAAS,CAAC6F,QAAQ,CAAC,GAAGA,QAAQ,EAC1DC,KACF,CAAC;EACH;EAEAE,OAAOA,CAAA,EAAG;IACR,IAAI,CAACtG,GAAG,CAACsG,OAAO,CAAC,CAAC;EACpB;EAEAC,MAAMA,CAACC,iBAAyB,EAAEC,EAAU,EAAEC,EAAU,EAAE;IACxD,IAAI,CAAC1G,GAAG,CAACuG,MAAM,CAACC,iBAAiB,EAAEC,EAAE,EAAEC,EAAE,CAAC;EAC5C;EAEAC,KAAKA,CAACC,EAAU,EAAEC,EAAU,EAAE;IAC5B,IAAI,CAAC7G,GAAG,CAAC2G,KAAK,CAACC,EAAE,EAAEC,EAAE,CAAC;EACxB;EAEAC,IAAIA,CAACF,EAAU,EAAEC,EAAU,EAAE;IAC3B,IAAI,CAAC7G,GAAG,CAAC8G,IAAI,CAACF,EAAE,EAAEC,EAAE,CAAC;EACvB;EAEAE,SAASA,CAACC,EAAU,EAAEC,EAAU,EAAE;IAChC,IAAI,CAACjH,GAAG,CAAC+G,SAAS,CAACC,EAAE,EAAEC,EAAE,CAAC;EAC5B;EAEAC,SAASA,CAACC,KAAc,EAAEC,SAAqB,EAAE;IAC/C,IAAI,CAACpH,GAAG,CAACkH,SAAS,CAChBC,KAAK,EACLC,SAAS,GAAG,IAAA1F,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACmD,SAAS,EAAEkE,SAAS,CAAC,GAAGxD,SAC7D,CAAC;EACH;EAEAyD,KAAKA,CAACF,KAAc,EAAE;IACpB,IAAI,CAACnH,GAAG,CAACqH,KAAK,CAACF,KAAK,CAAC;EACvB;EAEAG,QAAQA,CAACvC,IAAY,EAAEwC,EAAU,EAAEC,WAAoB,EAAE;IACvD,IAAI,CAACxH,GAAG,CAACsH,QAAQ,CACftC,oBAAS,CAAC1E,SAAS,CAACyE,IAAI,CAAC,EACzB,IAAArD,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC0H,MAAM,EAAEF,EAAE,CAAC,EAClCC,WACF,CAAC;EACH;EAEAE,QAAQA,CAACvH,IAAY,EAAEoH,EAAU,EAAEC,WAAoB,EAAE;IACvD,IAAI,CAACxH,GAAG,CAAC0H,QAAQ,CACfrH,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEI,IAAI,CAAC,EACzC,IAAAuB,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC0H,MAAM,EAAEF,EAAE,CAAC,EAClCC,WACF,CAAC;EACH;EAEAG,SAASA,CAACnD,KAAiB,EAAE+C,EAAU,EAAEC,WAAoB,EAAE;IAC7D,IAAI,CAACxH,GAAG,CAAC2H,SAAS,CAChBlD,sBAAU,CAACnE,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEyE,KAAK,CAAC,EAC3C,IAAA9C,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC0H,MAAM,EAAEF,EAAE,CAAC,EAClCC,WACF,CAAC;EACH;EAEAI,MAAMA,CAACC,CAAsB,EAAE;IAC7B,IAAI,CAAC7H,GAAG,CAAC4H,MAAM,CAAC5F,KAAK,CAAC8F,OAAO,CAACD,CAAC,CAAC,GAAGA,CAAC,GAAGE,wBAAW,CAACzH,SAAS,CAACuH,CAAC,CAAC,CAAC;EAClE;EAEAG,WAAWA,CAACC,GAAc,EAAE;IAC1B,IAAI,CAACjI,GAAG,CAACgI,WAAW,CAACE,0BAAY,CAAC5H,SAAS,CAAC2H,GAAG,CAAC,CAAC;EACnD;EAEAE,SAASA,CACPC,KAAc,EACdC,IAAc,EACdC,IAAiB,EACjBlI,KAAc,EACdgH,SAAqB,EACrB/D,MAAkB,EAClBkF,SAA0C,EAC1C;IACA,MAAMxH,GAAG,GAAGsH,IAAI,CAAC5E,OAAO,CAAE+E,CAAC,IACzBxG,KAAK,CAACC,IAAI,CAAC5B,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEyI,CAAC,CAAC,CACnD,CAAC;IACD,MAAMC,GAAG,GAAGH,IAAI,CAAC7E,OAAO,CAAE+E,CAAC,IAAKxG,KAAK,CAACC,IAAI,CAACyG,0BAAY,CAACpI,SAAS,CAACkI,CAAC,CAAC,CAAC,CAAC;IACtE,IAAIG,GAA4B;IAChC,IAAItF,MAAM,EAAE;MACVsF,GAAG,GAAG,IAAIC,WAAW,CAACvF,MAAM,CAACwF,MAAM,CAAC;MACpC,KAAK,IAAI3J,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmE,MAAM,CAACwF,MAAM,EAAE3J,CAAC,EAAE,EAAE;QACtC,MAAM,CAACG,CAAC,EAAEyJ,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG3F,MAAM,CAACnE,CAAC,CAAC;QAC9ByJ,GAAG,CAACzJ,CAAC,CAAC,GAAG,IAAI,CAACa,SAAS,CAACkJ,UAAU,CAAC5J,CAAC,GAAG,GAAG,EAAEyJ,CAAC,GAAG,GAAG,EAAEC,CAAC,GAAG,GAAG,EAAEC,CAAC,GAAG,GAAG,CAAC;MACxE;IACF;IACA,IAAI,CAAChJ,GAAG,CAACmI,SAAS,CAChBvH,sBAAU,CAACN,SAAS,CAAC8H,KAAK,CAAC,EAC3BrH,GAAG,EACH0H,GAAG,EACHlI,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,EAC3BgH,SAAS,GACL,IAAA1F,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACmD,SAAS,EAAEkE,SAAS,CAAC,GAC5C,IAAI,CAACrH,SAAS,CAACmD,SAAS,CAACgG,OAAO,EACpCP,GACF,CAAC;EACH;EAEAQ,UAAUA,CAACC,IAAY,EAAEC,IAAY,EAAEC,SAAoB,EAAE;IAC3D,MAAMC,MAAM,GAAG;MACbC,KAAK,EAAEF,SAAS,CAACE,KAAK;MACtBC,MAAM,EAAEH,SAAS,CAACG,MAAM;MACxBC,UAAU,EAAE,IAAI,CAAC3J,SAAS,CAAC4J,UAAU,CAACC,IAAI;MAC1CC,SAAS,EAAE,IAAAnI,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC+J,SAAS,EAAER,SAAS,CAACO,SAAS,CAAC;MACjEE,SAAS,EAAE,IAAArI,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACiK,SAAS,EAAEV,SAAS,CAACS,SAAS;IAClE,CAAC;IACD,OAAO,IAAI,CAAC/J,GAAG,CAACmJ,UAAU,CAACC,IAAI,EAAEC,IAAI,EAAEE,MAAM,CAAC;EAChD;AACF;AAACU,OAAA,CAAArK,WAAA,GAAAA,WAAA"}
|
1
|
+
{"version":3,"names":["_Host","require","_JsiSkPaint","_JsiSkRect","_JsiSkRRect","_JsiSkImage","_JsiSkVertices","_JsiSkPath","_JsiSkFont","_JsiSkTextBlob","_JsiSkPicture","_JsiSkMatrix","_JsiSkImageFilter","_JsiSkPoint","_JsiSkRSXform","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","JsiSkCanvas","HostObject","constructor","CanvasKit","ref","delete","drawRect","rect","paint","JsiSkRect","fromValue","JsiSkPaint","drawImage","image","x","y","JsiSkImage","drawImageRect","img","src","dest","fastSample","drawImageCubic","left","top","B","C","drawImageOptions","fm","mm","getEnum","FilterMode","MipmapMode","drawImageNine","center","filter","Array","from","drawImageRectCubic","drawImageRectOptions","drawPaint","drawLine","x0","y0","x1","y1","drawCircle","cx","cy","radius","drawVertices","verts","mode","JsiSkVertices","BlendMode","drawPatch","cubics","colors","texs","map","flat","flatMap","p","JsiSkPoint","undefined","restoreToCount","saveCount","drawPoints","points","PointMode","drawArc","oval","startAngle","sweepAngle","useCenter","drawRRect","rrect","JsiSkRRect","drawDRRect","outer","inner","drawOval","drawPath","path","JsiSkPath","drawText","str","font","JsiSkFont","drawTextBlob","blob","JsiSkTextBlob","drawGlyphs","glyphs","positions","drawSvg","svg","_width","_height","MakeImageFromCanvasImageSource","save","saveLayer","bounds","backdrop","flags","JsiSkImageFilter","restore","rotate","rotationInDegrees","rx","ry","scale","sx","sy","skew","translate","dx","dy","drawColor","color","blendMode","clear","clipPath","op","doAntiAlias","PathOp","clipRect","clipRRect","concat","m","isArray","JsiSkMatrix","drawPicture","skp","JsiSkPicture","drawAtlas","atlas","srcs","dsts","_sampling","s","dst","JsiSkRSXform","cls","Uint32Array","length","g","b","a","ColorAsInt","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","AlphaType","colorType","ColorType","exports"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type { Canvas, CanvasKit } from \"canvaskit-wasm\";\n\nimport {\n type BlendMode,\n type ClipOp,\n type FilterMode,\n type MipmapMode,\n type PointMode,\n type SaveLayerFlag,\n type ImageInfo,\n type SkCanvas,\n type SkColor,\n type SkFont,\n type SkImage,\n type SkImageFilter,\n type SkMatrix,\n type SkPaint,\n type SkPath,\n type SkPicture,\n type SkPoint,\n type SkRect,\n type InputRRect,\n type SkSVG,\n type SkTextBlob,\n type SkVertices,\n type SkRSXform,\n type CubicResampler,\n type FilterOptions,\n} from \"../types\";\n\nimport { getEnum, HostObject } from \"./Host\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkVertices } from \"./JsiSkVertices\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { JsiSkTextBlob } from \"./JsiSkTextBlob\";\nimport { JsiSkPicture } from \"./JsiSkPicture\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkImageFilter } from \"./JsiSkImageFilter\";\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport type { JsiSkSVG } from \"./JsiSkSVG\";\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 dispose = () => {\n this.ref.delete();\n };\n\n drawRect(rect: SkRect, paint: SkPaint) {\n this.ref.drawRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawImage(image: SkImage, x: number, y: number, paint?: SkPaint) {\n this.ref.drawImage(\n JsiSkImage.fromValue(image),\n x,\n y,\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\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 JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n JsiSkPaint.fromValue(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 JsiSkImage.fromValue(img),\n left,\n top,\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : 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 JsiSkImage.fromValue(img),\n left,\n top,\n getEnum(this.CanvasKit.FilterMode, fm),\n getEnum(this.CanvasKit.MipmapMode, mm),\n paint ? JsiSkPaint.fromValue(paint) : 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 JsiSkImage.fromValue(img),\n Array.from(JsiSkRect.fromValue(this.CanvasKit, center)),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit.FilterMode, filter),\n paint ? JsiSkPaint.fromValue(paint) : 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 JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n B,\n C,\n paint ? JsiSkPaint.fromValue(paint) : 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 JsiSkImage.fromValue(img),\n JsiSkRect.fromValue(this.CanvasKit, src),\n JsiSkRect.fromValue(this.CanvasKit, dest),\n getEnum(this.CanvasKit.FilterMode, fm),\n getEnum(this.CanvasKit.MipmapMode, mm),\n paint ? JsiSkPaint.fromValue(paint) : paint\n );\n }\n\n drawPaint(paint: SkPaint) {\n this.ref.drawPaint(JsiSkPaint.fromValue(paint));\n }\n\n drawLine(x0: number, y0: number, x1: number, y1: number, paint: SkPaint) {\n this.ref.drawLine(x0, y0, x1, y1, JsiSkPaint.fromValue(paint));\n }\n\n drawCircle(cx: number, cy: number, radius: number, paint: SkPaint) {\n this.ref.drawCircle(cx, cy, radius, JsiSkPaint.fromValue(paint));\n }\n\n drawVertices(verts: SkVertices, mode: BlendMode, paint: SkPaint) {\n this.ref.drawVertices(\n JsiSkVertices.fromValue(verts),\n getEnum(this.CanvasKit.BlendMode, mode),\n JsiSkPaint.fromValue(paint)\n );\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 texs ? texs.flatMap((p) => Array.from(JsiSkPoint.fromValue(p))) : texs,\n mode ? getEnum(this.CanvasKit.BlendMode, mode) : null,\n paint ? JsiSkPaint.fromValue(paint) : undefined\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 getEnum(this.CanvasKit.PointMode, mode),\n points.map(({ x, y }) => [x, y]).flat(),\n JsiSkPaint.fromValue(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 JsiSkRect.fromValue(this.CanvasKit, oval),\n startAngle,\n sweepAngle,\n useCenter,\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawRRect(rrect: InputRRect, paint: SkPaint) {\n this.ref.drawRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawDRRect(outer: InputRRect, inner: InputRRect, paint: SkPaint) {\n this.ref.drawDRRect(\n JsiSkRRect.fromValue(this.CanvasKit, outer),\n JsiSkRRect.fromValue(this.CanvasKit, inner),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawOval(oval: SkRect, paint: SkPaint) {\n this.ref.drawOval(\n JsiSkRect.fromValue(this.CanvasKit, oval),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawPath(path: SkPath, paint: SkPaint) {\n this.ref.drawPath(JsiSkPath.fromValue(path), JsiSkPaint.fromValue(paint));\n }\n\n drawText(str: string, x: number, y: number, paint: SkPaint, font: SkFont) {\n this.ref.drawText(\n str,\n x,\n y,\n JsiSkPaint.fromValue(paint),\n JsiSkFont.fromValue(font)\n );\n }\n\n drawTextBlob(blob: SkTextBlob, x: number, y: number, paint: SkPaint) {\n this.ref.drawTextBlob(\n JsiSkTextBlob.fromValue(blob),\n x,\n y,\n JsiSkPaint.fromValue(paint)\n );\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 JsiSkFont.fromValue(font),\n JsiSkPaint.fromValue(paint)\n );\n }\n\n drawSvg(svg: SkSVG, _width?: number, _height?: number) {\n const image = this.CanvasKit.MakeImageFromCanvasImageSource(\n (svg as JsiSkSVG).ref\n );\n this.ref.drawImage(image, 0, 0);\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 paint ? JsiSkPaint.fromValue(paint) : undefined,\n bounds ? JsiSkRect.fromValue(this.CanvasKit, bounds) : bounds,\n backdrop ? JsiSkImageFilter.fromValue(backdrop) : 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(\n color,\n blendMode ? getEnum(this.CanvasKit.BlendMode, blendMode) : undefined\n );\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(\n JsiSkPath.fromValue(path),\n getEnum(this.CanvasKit.PathOp, op),\n doAntiAlias\n );\n }\n\n clipRect(rect: SkRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRect(\n JsiSkRect.fromValue(this.CanvasKit, rect),\n getEnum(this.CanvasKit.PathOp, op),\n doAntiAlias\n );\n }\n\n clipRRect(rrect: InputRRect, op: ClipOp, doAntiAlias: boolean) {\n this.ref.clipRRect(\n JsiSkRRect.fromValue(this.CanvasKit, rrect),\n getEnum(this.CanvasKit.PathOp, op),\n doAntiAlias\n );\n }\n\n concat(m: SkMatrix | number[]) {\n this.ref.concat(Array.isArray(m) ? m : JsiSkMatrix.fromValue(m));\n }\n\n drawPicture(skp: SkPicture) {\n this.ref.drawPicture(JsiSkPicture.fromValue(skp));\n }\n\n drawAtlas(\n atlas: SkImage,\n srcs: SkRect[],\n dsts: SkRSXform[],\n paint: SkPaint,\n blendMode?: BlendMode,\n colors?: SkColor[],\n _sampling?: CubicResampler | FilterOptions\n ) {\n const src = srcs.flatMap((s) =>\n Array.from(JsiSkRect.fromValue(this.CanvasKit, s))\n );\n const dst = dsts.flatMap((s) => Array.from(JsiSkRSXform.fromValue(s)));\n let cls: Uint32Array | undefined;\n if (colors) {\n cls = new Uint32Array(colors.length);\n for (let i = 0; i < colors.length; i++) {\n const [r, g, b, a] = colors[i];\n cls[i] = this.CanvasKit.ColorAsInt(r * 255, g * 255, b * 255, a * 255);\n }\n }\n this.ref.drawAtlas(\n JsiSkImage.fromValue(atlas),\n src,\n dst,\n JsiSkPaint.fromValue(paint),\n blendMode\n ? getEnum(this.CanvasKit.BlendMode, blendMode)\n : this.CanvasKit.BlendMode.DstOver,\n cls\n );\n }\n\n readPixels(srcX: number, srcY: number, imageInfo: ImageInfo) {\n const pxInfo = {\n width: imageInfo.width,\n height: imageInfo.height,\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n alphaType: getEnum(this.CanvasKit.AlphaType, imageInfo.alphaType),\n colorType: getEnum(this.CanvasKit.ColorType, imageInfo.colorType),\n };\n return this.ref.readPixels(srcX, srcY, pxInfo);\n }\n}\n"],"mappings":";;;;;;AA8BA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AACA,IAAAS,aAAA,GAAAT,OAAA;AACA,IAAAU,YAAA,GAAAV,OAAA;AACA,IAAAW,iBAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,aAAA,GAAAb,OAAA;AAA8C,SAAAc,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAGvC,MAAMW,WAAW,SACdC,gBAAU,CAEpB;EACEC,WAAWA,CAACC,SAAoB,EAAEC,GAAW,EAAE;IAC7C,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,QAAQ,CAAC;IAACzB,eAAA,kBAGxB,MAAM;MACd,IAAI,CAACyB,GAAG,CAACC,MAAM,CAAC,CAAC;IACnB,CAAC;EAJD;EAMAC,QAAQA,CAACC,IAAY,EAAEC,KAAc,EAAE;IACrC,IAAI,CAACJ,GAAG,CAACE,QAAQ,CACfG,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEI,IAAI,CAAC,EACzCI,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAI,SAASA,CAACC,KAAc,EAAEC,CAAS,EAAEC,CAAS,EAAEP,KAAe,EAAE;IAC/D,IAAI,CAACJ,GAAG,CAACQ,SAAS,CAChBI,sBAAU,CAACN,SAAS,CAACG,KAAK,CAAC,EAC3BC,CAAC,EACDC,CAAC,EACDP,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEAS,aAAaA,CACXC,GAAY,EACZC,GAAW,EACXC,IAAY,EACZZ,KAAc,EACda,UAAoB,EACpB;IACA,IAAI,CAACjB,GAAG,CAACa,aAAa,CACpBD,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBT,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEgB,GAAG,CAAC,EACxCV,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEiB,IAAI,CAAC,EACzCT,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,EAC3Ba,UACF,CAAC;EACH;EAEAC,cAAcA,CACZJ,GAAY,EACZK,IAAY,EACZC,GAAW,EACXC,CAAS,EACTC,CAAS,EACTlB,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAACkB,cAAc,CACrBN,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBK,IAAI,EACJC,GAAG,EACHC,CAAC,EACDC,CAAC,EACDlB,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEAmB,gBAAgBA,CACdT,GAAY,EACZK,IAAY,EACZC,GAAW,EACXI,EAAc,EACdC,EAAc,EACdrB,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAACuB,gBAAgB,CACvBX,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBK,IAAI,EACJC,GAAG,EACH,IAAAM,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC4B,UAAU,EAAEH,EAAE,CAAC,EACtC,IAAAE,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC6B,UAAU,EAAEH,EAAE,CAAC,EACtCrB,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEAyB,aAAaA,CACXf,GAAY,EACZgB,MAAc,EACdd,IAAY,EACZe,MAAkB,EAClB3B,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAAC6B,aAAa,CACpBjB,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBkB,KAAK,CAACC,IAAI,CAAC5B,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAE+B,MAAM,CAAC,CAAC,EACvDzB,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEiB,IAAI,CAAC,EACzC,IAAAU,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC4B,UAAU,EAAEI,MAAM,CAAC,EAC1C3B,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEA8B,kBAAkBA,CAChBpB,GAAY,EACZC,GAAW,EACXC,IAAY,EACZK,CAAS,EACTC,CAAS,EACTlB,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAACkC,kBAAkB,CACzBtB,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBT,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEgB,GAAG,CAAC,EACxCV,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEiB,IAAI,CAAC,EACzCK,CAAC,EACDC,CAAC,EACDlB,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEA+B,oBAAoBA,CAClBrB,GAAY,EACZC,GAAW,EACXC,IAAY,EACZQ,EAAc,EACdC,EAAc,EACdrB,KAAsB,EACtB;IACA,IAAI,CAACJ,GAAG,CAACmC,oBAAoB,CAC3BvB,sBAAU,CAACN,SAAS,CAACQ,GAAG,CAAC,EACzBT,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEgB,GAAG,CAAC,EACxCV,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEiB,IAAI,CAAC,EACzC,IAAAU,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC4B,UAAU,EAAEH,EAAE,CAAC,EACtC,IAAAE,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC6B,UAAU,EAAEH,EAAE,CAAC,EACtCrB,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGA,KACxC,CAAC;EACH;EAEAgC,SAASA,CAAChC,KAAc,EAAE;IACxB,IAAI,CAACJ,GAAG,CAACoC,SAAS,CAAC7B,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,CAAC;EACjD;EAEAiC,QAAQA,CAACC,EAAU,EAAEC,EAAU,EAAEC,EAAU,EAAEC,EAAU,EAAErC,KAAc,EAAE;IACvE,IAAI,CAACJ,GAAG,CAACqC,QAAQ,CAACC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAElC,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,CAAC;EAChE;EAEAsC,UAAUA,CAACC,EAAU,EAAEC,EAAU,EAAEC,MAAc,EAAEzC,KAAc,EAAE;IACjE,IAAI,CAACJ,GAAG,CAAC0C,UAAU,CAACC,EAAE,EAAEC,EAAE,EAAEC,MAAM,EAAEtC,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,CAAC;EAClE;EAEA0C,YAAYA,CAACC,KAAiB,EAAEC,IAAe,EAAE5C,KAAc,EAAE;IAC/D,IAAI,CAACJ,GAAG,CAAC8C,YAAY,CACnBG,4BAAa,CAAC3C,SAAS,CAACyC,KAAK,CAAC,EAC9B,IAAArB,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACmD,SAAS,EAAEF,IAAI,CAAC,EACvCzC,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEA+C,SAASA,CACPC,MAAiB,EACjBC,MAAyB,EACzBC,IAAuB,EACvBN,IAAuB,EACvB5C,KAAe,EACf;IACA,IAAI,CAACJ,GAAG,CAACmD,SAAS,CAChBC,MAAM,CAACG,GAAG,CAAC,CAAC;MAAE7C,CAAC;MAAEC;IAAE,CAAC,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC6C,IAAI,CAAC,CAAC,EACvCH,MAAM,EACNC,IAAI,GAAGA,IAAI,CAACG,OAAO,CAAEC,CAAC,IAAK1B,KAAK,CAACC,IAAI,CAAC0B,sBAAU,CAACrD,SAAS,CAACoD,CAAC,CAAC,CAAC,CAAC,GAAGJ,IAAI,EACtEN,IAAI,GAAG,IAAAtB,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACmD,SAAS,EAAEF,IAAI,CAAC,GAAG,IAAI,EACrD5C,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGwD,SACxC,CAAC;EACH;EAEAC,cAAcA,CAACC,SAAiB,EAAE;IAChC,IAAI,CAAC9D,GAAG,CAAC6D,cAAc,CAACC,SAAS,CAAC;EACpC;EAEAC,UAAUA,CAACf,IAAe,EAAEgB,MAAiB,EAAE5D,KAAc,EAAE;IAC7D,IAAI,CAACJ,GAAG,CAAC+D,UAAU,CACjB,IAAArC,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACkE,SAAS,EAAEjB,IAAI,CAAC,EACvCgB,MAAM,CAACT,GAAG,CAAC,CAAC;MAAE7C,CAAC;MAAEC;IAAE,CAAC,KAAK,CAACD,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC6C,IAAI,CAAC,CAAC,EACvCjD,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEA8D,OAAOA,CACLC,IAAY,EACZC,UAAkB,EAClBC,UAAkB,EAClBC,SAAkB,EAClBlE,KAAc,EACd;IACA,IAAI,CAACJ,GAAG,CAACkE,OAAO,CACd7D,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEoE,IAAI,CAAC,EACzCC,UAAU,EACVC,UAAU,EACVC,SAAS,EACT/D,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAmE,SAASA,CAACC,KAAiB,EAAEpE,KAAc,EAAE;IAC3C,IAAI,CAACJ,GAAG,CAACuE,SAAS,CAChBE,sBAAU,CAACnE,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEyE,KAAK,CAAC,EAC3CjE,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAsE,UAAUA,CAACC,KAAiB,EAAEC,KAAiB,EAAExE,KAAc,EAAE;IAC/D,IAAI,CAACJ,GAAG,CAAC0E,UAAU,CACjBD,sBAAU,CAACnE,SAAS,CAAC,IAAI,CAACP,SAAS,EAAE4E,KAAK,CAAC,EAC3CF,sBAAU,CAACnE,SAAS,CAAC,IAAI,CAACP,SAAS,EAAE6E,KAAK,CAAC,EAC3CrE,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAyE,QAAQA,CAACV,IAAY,EAAE/D,KAAc,EAAE;IACrC,IAAI,CAACJ,GAAG,CAAC6E,QAAQ,CACfxE,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEoE,IAAI,CAAC,EACzC5D,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEA0E,QAAQA,CAACC,IAAY,EAAE3E,KAAc,EAAE;IACrC,IAAI,CAACJ,GAAG,CAAC8E,QAAQ,CAACE,oBAAS,CAAC1E,SAAS,CAACyE,IAAI,CAAC,EAAExE,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,CAAC;EAC3E;EAEA6E,QAAQA,CAACC,GAAW,EAAExE,CAAS,EAAEC,CAAS,EAAEP,KAAc,EAAE+E,IAAY,EAAE;IACxE,IAAI,CAACnF,GAAG,CAACiF,QAAQ,CACfC,GAAG,EACHxE,CAAC,EACDC,CAAC,EACDJ,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,EAC3BgF,oBAAS,CAAC9E,SAAS,CAAC6E,IAAI,CAC1B,CAAC;EACH;EAEAE,YAAYA,CAACC,IAAgB,EAAE5E,CAAS,EAAEC,CAAS,EAAEP,KAAc,EAAE;IACnE,IAAI,CAACJ,GAAG,CAACqF,YAAY,CACnBE,4BAAa,CAACjF,SAAS,CAACgF,IAAI,CAAC,EAC7B5E,CAAC,EACDC,CAAC,EACDJ,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAoF,UAAUA,CACRC,MAAgB,EAChBC,SAAoB,EACpBhF,CAAS,EACTC,CAAS,EACTwE,IAAY,EACZ/E,KAAc,EACd;IACA,IAAI,CAACJ,GAAG,CAACwF,UAAU,CACjBC,MAAM,EACNC,SAAS,CAACnC,GAAG,CAAEG,CAAC,IAAK,CAACA,CAAC,CAAChD,CAAC,EAAEgD,CAAC,CAAC/C,CAAC,CAAC,CAAC,CAAC6C,IAAI,CAAC,CAAC,EACvC9C,CAAC,EACDC,CAAC,EACDyE,oBAAS,CAAC9E,SAAS,CAAC6E,IAAI,CAAC,EACzB5E,sBAAU,CAACD,SAAS,CAACF,KAAK,CAC5B,CAAC;EACH;EAEAuF,OAAOA,CAACC,GAAU,EAAEC,MAAe,EAAEC,OAAgB,EAAE;IACrD,MAAMrF,KAAK,GAAG,IAAI,CAACV,SAAS,CAACgG,8BAA8B,CACxDH,GAAG,CAAc5F,GACpB,CAAC;IACD,IAAI,CAACA,GAAG,CAACQ,SAAS,CAACC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;EACjC;EAEAuF,IAAIA,CAAA,EAAG;IACL,OAAO,IAAI,CAAChG,GAAG,CAACgG,IAAI,CAAC,CAAC;EACxB;EAEAC,SAASA,CACP7F,KAAe,EACf8F,MAAsB,EACtBC,QAA+B,EAC/BC,KAAqB,EACrB;IACA,OAAO,IAAI,CAACpG,GAAG,CAACiG,SAAS,CACvB7F,KAAK,GAAGG,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,GAAGwD,SAAS,EAC/CsC,MAAM,GAAG7F,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEmG,MAAM,CAAC,GAAGA,MAAM,EAC7DC,QAAQ,GAAGE,kCAAgB,CAAC/F,SAAS,CAAC6F,QAAQ,CAAC,GAAGA,QAAQ,EAC1DC,KACF,CAAC;EACH;EAEAE,OAAOA,CAAA,EAAG;IACR,IAAI,CAACtG,GAAG,CAACsG,OAAO,CAAC,CAAC;EACpB;EAEAC,MAAMA,CAACC,iBAAyB,EAAEC,EAAU,EAAEC,EAAU,EAAE;IACxD,IAAI,CAAC1G,GAAG,CAACuG,MAAM,CAACC,iBAAiB,EAAEC,EAAE,EAAEC,EAAE,CAAC;EAC5C;EAEAC,KAAKA,CAACC,EAAU,EAAEC,EAAU,EAAE;IAC5B,IAAI,CAAC7G,GAAG,CAAC2G,KAAK,CAACC,EAAE,EAAEC,EAAE,CAAC;EACxB;EAEAC,IAAIA,CAACF,EAAU,EAAEC,EAAU,EAAE;IAC3B,IAAI,CAAC7G,GAAG,CAAC8G,IAAI,CAACF,EAAE,EAAEC,EAAE,CAAC;EACvB;EAEAE,SAASA,CAACC,EAAU,EAAEC,EAAU,EAAE;IAChC,IAAI,CAACjH,GAAG,CAAC+G,SAAS,CAACC,EAAE,EAAEC,EAAE,CAAC;EAC5B;EAEAC,SAASA,CAACC,KAAc,EAAEC,SAAqB,EAAE;IAC/C,IAAI,CAACpH,GAAG,CAACkH,SAAS,CAChBC,KAAK,EACLC,SAAS,GAAG,IAAA1F,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACmD,SAAS,EAAEkE,SAAS,CAAC,GAAGxD,SAC7D,CAAC;EACH;EAEAyD,KAAKA,CAACF,KAAc,EAAE;IACpB,IAAI,CAACnH,GAAG,CAACqH,KAAK,CAACF,KAAK,CAAC;EACvB;EAEAG,QAAQA,CAACvC,IAAY,EAAEwC,EAAU,EAAEC,WAAoB,EAAE;IACvD,IAAI,CAACxH,GAAG,CAACsH,QAAQ,CACftC,oBAAS,CAAC1E,SAAS,CAACyE,IAAI,CAAC,EACzB,IAAArD,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC0H,MAAM,EAAEF,EAAE,CAAC,EAClCC,WACF,CAAC;EACH;EAEAE,QAAQA,CAACvH,IAAY,EAAEoH,EAAU,EAAEC,WAAoB,EAAE;IACvD,IAAI,CAACxH,GAAG,CAAC0H,QAAQ,CACfrH,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEI,IAAI,CAAC,EACzC,IAAAuB,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC0H,MAAM,EAAEF,EAAE,CAAC,EAClCC,WACF,CAAC;EACH;EAEAG,SAASA,CAACnD,KAAiB,EAAE+C,EAAU,EAAEC,WAAoB,EAAE;IAC7D,IAAI,CAACxH,GAAG,CAAC2H,SAAS,CAChBlD,sBAAU,CAACnE,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEyE,KAAK,CAAC,EAC3C,IAAA9C,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC0H,MAAM,EAAEF,EAAE,CAAC,EAClCC,WACF,CAAC;EACH;EAEAI,MAAMA,CAACC,CAAsB,EAAE;IAC7B,IAAI,CAAC7H,GAAG,CAAC4H,MAAM,CAAC5F,KAAK,CAAC8F,OAAO,CAACD,CAAC,CAAC,GAAGA,CAAC,GAAGE,wBAAW,CAACzH,SAAS,CAACuH,CAAC,CAAC,CAAC;EAClE;EAEAG,WAAWA,CAACC,GAAc,EAAE;IAC1B,IAAI,CAACjI,GAAG,CAACgI,WAAW,CAACE,0BAAY,CAAC5H,SAAS,CAAC2H,GAAG,CAAC,CAAC;EACnD;EAEAE,SAASA,CACPC,KAAc,EACdC,IAAc,EACdC,IAAiB,EACjBlI,KAAc,EACdgH,SAAqB,EACrB/D,MAAkB,EAClBkF,SAA0C,EAC1C;IACA,MAAMxH,GAAG,GAAGsH,IAAI,CAAC5E,OAAO,CAAE+E,CAAC,IACzBxG,KAAK,CAACC,IAAI,CAAC5B,oBAAS,CAACC,SAAS,CAAC,IAAI,CAACP,SAAS,EAAEyI,CAAC,CAAC,CACnD,CAAC;IACD,MAAMC,GAAG,GAAGH,IAAI,CAAC7E,OAAO,CAAE+E,CAAC,IAAKxG,KAAK,CAACC,IAAI,CAACyG,0BAAY,CAACpI,SAAS,CAACkI,CAAC,CAAC,CAAC,CAAC;IACtE,IAAIG,GAA4B;IAChC,IAAItF,MAAM,EAAE;MACVsF,GAAG,GAAG,IAAIC,WAAW,CAACvF,MAAM,CAACwF,MAAM,CAAC;MACpC,KAAK,IAAI3J,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmE,MAAM,CAACwF,MAAM,EAAE3J,CAAC,EAAE,EAAE;QACtC,MAAM,CAACG,CAAC,EAAEyJ,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAG3F,MAAM,CAACnE,CAAC,CAAC;QAC9ByJ,GAAG,CAACzJ,CAAC,CAAC,GAAG,IAAI,CAACa,SAAS,CAACkJ,UAAU,CAAC5J,CAAC,GAAG,GAAG,EAAEyJ,CAAC,GAAG,GAAG,EAAEC,CAAC,GAAG,GAAG,EAAEC,CAAC,GAAG,GAAG,CAAC;MACxE;IACF;IACA,IAAI,CAAChJ,GAAG,CAACmI,SAAS,CAChBvH,sBAAU,CAACN,SAAS,CAAC8H,KAAK,CAAC,EAC3BrH,GAAG,EACH0H,GAAG,EACHlI,sBAAU,CAACD,SAAS,CAACF,KAAK,CAAC,EAC3BgH,SAAS,GACL,IAAA1F,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACmD,SAAS,EAAEkE,SAAS,CAAC,GAC5C,IAAI,CAACrH,SAAS,CAACmD,SAAS,CAACgG,OAAO,EACpCP,GACF,CAAC;EACH;EAEAQ,UAAUA,CAACC,IAAY,EAAEC,IAAY,EAAEC,SAAoB,EAAE;IAC3D,MAAMC,MAAM,GAAG;MACbC,KAAK,EAAEF,SAAS,CAACE,KAAK;MACtBC,MAAM,EAAEH,SAAS,CAACG,MAAM;MACxBC,UAAU,EAAE,IAAI,CAAC3J,SAAS,CAAC4J,UAAU,CAACC,IAAI;MAC1CC,SAAS,EAAE,IAAAnI,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAAC+J,SAAS,EAAER,SAAS,CAACO,SAAS,CAAC;MACjEE,SAAS,EAAE,IAAArI,aAAO,EAAC,IAAI,CAAC3B,SAAS,CAACiK,SAAS,EAAEV,SAAS,CAACS,SAAS;IAClE,CAAC;IACD,OAAO,IAAI,CAAC/J,GAAG,CAACmJ,UAAU,CAACC,IAAI,EAAEC,IAAI,EAAEE,MAAM,CAAC;EAChD;AACF;AAACU,OAAA,CAAArK,WAAA,GAAAA,WAAA"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { CanvasKit } from "canvaskit-wasm";
|
2
|
+
import type { SkSVG } from "../types";
|
3
|
+
import { HostObject } from "./Host";
|
4
|
+
export declare class JsiSkSVG extends HostObject<HTMLImageElement, "SVG"> implements SkSVG {
|
5
|
+
constructor(CanvasKit: CanvasKit, ref: HTMLImageElement);
|
6
|
+
width(): number;
|
7
|
+
height(): number;
|
8
|
+
dispose: () => void;
|
9
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.JsiSkSVG = void 0;
|
7
|
+
var _Host = require("./Host");
|
8
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
10
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
11
|
+
class JsiSkSVG extends _Host.HostObject {
|
12
|
+
constructor(CanvasKit, ref) {
|
13
|
+
super(CanvasKit, ref, "SVG");
|
14
|
+
_defineProperty(this, "dispose", () => {
|
15
|
+
if (this.ref.parentNode) {
|
16
|
+
this.ref.parentNode.removeChild(this.ref);
|
17
|
+
}
|
18
|
+
});
|
19
|
+
}
|
20
|
+
width() {
|
21
|
+
return this.ref.width;
|
22
|
+
}
|
23
|
+
height() {
|
24
|
+
return this.ref.height;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
exports.JsiSkSVG = JsiSkSVG;
|
28
|
+
//# sourceMappingURL=JsiSkSVG.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_Host","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","JsiSkSVG","HostObject","constructor","CanvasKit","ref","parentNode","removeChild","width","height","exports"],"sources":["JsiSkSVG.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkSVG } from \"../types\";\n\nimport { HostObject } from \"./Host\";\n\nexport class JsiSkSVG\n extends HostObject<HTMLImageElement, \"SVG\">\n implements SkSVG\n{\n constructor(CanvasKit: CanvasKit, ref: HTMLImageElement) {\n super(CanvasKit, ref, \"SVG\");\n }\n\n width(): number {\n return this.ref.width;\n }\n height(): number {\n return this.ref.height;\n }\n\n dispose = () => {\n if (this.ref.parentNode) {\n this.ref.parentNode.removeChild(this.ref);\n }\n };\n}\n"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAAoC,SAAAC,gBAAAC,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAI,MAAA,CAAAC,cAAA,CAAAL,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAR,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAE7B,MAAMW,QAAQ,SACXC,gBAAU,CAEpB;EACEC,WAAWA,CAACC,SAAoB,EAAEC,GAAqB,EAAE;IACvD,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,KAAK,CAAC;IAACzB,eAAA,kBAUrB,MAAM;MACd,IAAI,IAAI,CAACyB,GAAG,CAACC,UAAU,EAAE;QACvB,IAAI,CAACD,GAAG,CAACC,UAAU,CAACC,WAAW,CAAC,IAAI,CAACF,GAAG,CAAC;MAC3C;IACF,CAAC;EAbD;EAEAG,KAAKA,CAAA,EAAW;IACd,OAAO,IAAI,CAACH,GAAG,CAACG,KAAK;EACvB;EACAC,MAAMA,CAAA,EAAW;IACf,OAAO,IAAI,CAACJ,GAAG,CAACI,MAAM;EACxB;AAOF;AAACC,OAAA,CAAAT,QAAA,GAAAA,QAAA"}
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import type { CanvasKit } from "canvaskit-wasm";
|
2
|
-
import type {
|
2
|
+
import type { SkSVG } from "../types";
|
3
3
|
import type { SVGFactory } from "../types/SVG/SVGFactory";
|
4
4
|
import { Host } from "./Host";
|
5
|
+
import type { JsiSkData } from "./JsiSkData";
|
5
6
|
export declare class JsiSkSVGFactory extends Host implements SVGFactory {
|
6
7
|
constructor(CanvasKit: CanvasKit);
|
7
|
-
MakeFromData(
|
8
|
-
MakeFromString(
|
8
|
+
MakeFromData(data: JsiSkData): SkSVG | null;
|
9
|
+
MakeFromString(str: string): SkSVG | null;
|
9
10
|
}
|