@shopify/react-native-skia 1.3.2 → 1.3.4
Sign up to get free protection for your applications and to get access to all the features.
- package/android/cpp/jni/JniPlatformContext.cpp +4 -3
- package/android/cpp/rnskia-android/RNSkAndroidVideo.cpp +59 -1
- package/android/cpp/rnskia-android/RNSkAndroidVideo.h +4 -0
- package/android/src/main/java/com/shopify/reactnative/skia/RNSkVideo.java +80 -7
- package/cpp/api/JsiVideo.h +32 -7
- package/cpp/rnskia/RNSkVideo.h +4 -0
- package/ios/RNSkia-iOS/RNSkiOSVideo.h +13 -4
- package/ios/RNSkia-iOS/RNSkiOSVideo.mm +65 -67
- package/lib/commonjs/dom/nodes/datatypes/Fitting.js +42 -30
- package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/commonjs/external/reanimated/useVideo.d.ts +16 -4
- package/lib/commonjs/external/reanimated/useVideo.js +92 -17
- package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
- package/lib/commonjs/external/reanimated/useVideoLoading.d.ts +4 -0
- package/lib/commonjs/external/reanimated/useVideoLoading.js +27 -0
- package/lib/commonjs/external/reanimated/useVideoLoading.js.map +1 -0
- package/lib/commonjs/external/reanimated/useVideoLoading.web.d.ts +4 -0
- package/lib/commonjs/external/reanimated/useVideoLoading.web.js +20 -0
- package/lib/commonjs/external/reanimated/useVideoLoading.web.js.map +1 -0
- package/lib/commonjs/renderer/components/shapes/FitBox.d.ts +2 -10
- package/lib/commonjs/renderer/components/shapes/FitBox.js +32 -3
- package/lib/commonjs/renderer/components/shapes/FitBox.js.map +1 -1
- package/lib/commonjs/skia/core/Matrix.js +5 -1
- package/lib/commonjs/skia/core/Matrix.js.map +1 -1
- package/lib/commonjs/skia/types/Matrix.js +2 -0
- package/lib/commonjs/skia/types/Matrix.js.map +1 -1
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.d.ts +3 -1
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js +4 -2
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/commonjs/skia/types/Skia.d.ts +1 -1
- package/lib/commonjs/skia/types/Skia.js.map +1 -1
- package/lib/commonjs/skia/types/Video/Video.d.ts +9 -1
- package/lib/commonjs/skia/types/Video/Video.js.map +1 -1
- package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.d.ts +9 -0
- package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js +30 -0
- package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -0
- package/lib/commonjs/skia/web/JsiSkImageFactory.js +8 -2
- package/lib/commonjs/skia/web/JsiSkImageFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkia.js +2 -3
- package/lib/commonjs/skia/web/JsiSkia.js.map +1 -1
- package/lib/commonjs/skia/web/JsiVideo.d.ts +24 -0
- package/lib/commonjs/skia/web/JsiVideo.js +83 -0
- package/lib/commonjs/skia/web/JsiVideo.js.map +1 -0
- package/lib/commonjs/views/SkiaDomView.js +2 -0
- package/lib/commonjs/views/SkiaDomView.js.map +1 -1
- package/lib/commonjs/views/SkiaDomView.web.js +2 -0
- package/lib/commonjs/views/SkiaDomView.web.js.map +1 -1
- package/lib/commonjs/views/SkiaJSDomView.js +2 -0
- package/lib/commonjs/views/SkiaJSDomView.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Fitting.js +41 -29
- package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/module/external/reanimated/useVideo.d.ts +16 -4
- package/lib/module/external/reanimated/useVideo.js +92 -17
- package/lib/module/external/reanimated/useVideo.js.map +1 -1
- package/lib/module/external/reanimated/useVideoLoading.d.ts +4 -0
- package/lib/module/external/reanimated/useVideoLoading.js +20 -0
- package/lib/module/external/reanimated/useVideoLoading.js.map +1 -0
- package/lib/module/external/reanimated/useVideoLoading.web.d.ts +4 -0
- package/lib/module/external/reanimated/useVideoLoading.web.js +13 -0
- package/lib/module/external/reanimated/useVideoLoading.web.js.map +1 -0
- package/lib/module/renderer/components/shapes/FitBox.d.ts +2 -10
- package/lib/module/renderer/components/shapes/FitBox.js +32 -3
- package/lib/module/renderer/components/shapes/FitBox.js.map +1 -1
- package/lib/module/skia/core/Matrix.js +5 -1
- package/lib/module/skia/core/Matrix.js.map +1 -1
- package/lib/module/skia/types/Matrix.js +2 -0
- package/lib/module/skia/types/Matrix.js.map +1 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.d.ts +3 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js +2 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/module/skia/types/Skia.d.ts +1 -1
- package/lib/module/skia/types/Skia.js.map +1 -1
- package/lib/module/skia/types/Video/Video.d.ts +9 -1
- package/lib/module/skia/types/Video/Video.js.map +1 -1
- package/lib/module/skia/web/CanvasKitWebGLBufferImpl.d.ts +9 -0
- package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js +23 -0
- package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -0
- package/lib/module/skia/web/JsiSkImageFactory.js +9 -3
- package/lib/module/skia/web/JsiSkImageFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkia.js +2 -3
- package/lib/module/skia/web/JsiSkia.js.map +1 -1
- package/lib/module/skia/web/JsiVideo.d.ts +24 -0
- package/lib/module/skia/web/JsiVideo.js +75 -0
- package/lib/module/skia/web/JsiVideo.js.map +1 -0
- package/lib/module/views/SkiaDomView.js +2 -0
- package/lib/module/views/SkiaDomView.js.map +1 -1
- package/lib/module/views/SkiaDomView.web.js +2 -0
- package/lib/module/views/SkiaDomView.web.js.map +1 -1
- package/lib/module/views/SkiaJSDomView.js +2 -0
- package/lib/module/views/SkiaJSDomView.js.map +1 -1
- package/lib/typescript/src/external/reanimated/useVideo.d.ts +16 -4
- package/lib/typescript/src/external/reanimated/useVideoLoading.d.ts +4 -0
- package/lib/typescript/src/external/reanimated/useVideoLoading.web.d.ts +4 -0
- package/lib/typescript/src/renderer/components/shapes/FitBox.d.ts +2 -10
- package/lib/typescript/src/skia/types/NativeBuffer/NativeBufferFactory.d.ts +3 -1
- package/lib/typescript/src/skia/types/Skia.d.ts +1 -1
- package/lib/typescript/src/skia/types/Video/Video.d.ts +9 -1
- package/lib/typescript/src/skia/web/CanvasKitWebGLBufferImpl.d.ts +9 -0
- package/lib/typescript/src/skia/web/JsiVideo.d.ts +24 -0
- package/package.json +1 -1
- package/src/dom/nodes/datatypes/Fitting.ts +28 -21
- package/src/external/reanimated/useVideo.ts +108 -31
- package/src/external/reanimated/useVideoLoading.ts +28 -0
- package/src/external/reanimated/useVideoLoading.web.ts +17 -0
- package/src/renderer/components/shapes/FitBox.tsx +38 -4
- package/src/skia/core/Matrix.ts +4 -2
- package/src/skia/types/Matrix.ts +1 -0
- package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +10 -2
- package/src/skia/types/Skia.ts +1 -1
- package/src/skia/types/Video/Video.ts +7 -1
- package/src/skia/web/CanvasKitWebGLBufferImpl.ts +22 -0
- package/src/skia/web/JsiSkImageFactory.ts +16 -3
- package/src/skia/web/JsiSkia.ts +2 -3
- package/src/skia/web/JsiVideo.ts +96 -0
- package/src/views/SkiaDomView.tsx +4 -0
- package/src/views/SkiaDomView.web.tsx +4 -0
- package/src/views/SkiaJSDomView.tsx +4 -0
- package/lib/commonjs/external/reanimated/video.d.ts +0 -16
- package/lib/commonjs/external/reanimated/video.js +0 -54
- package/lib/commonjs/external/reanimated/video.js.map +0 -1
- package/lib/module/external/reanimated/video.d.ts +0 -16
- package/lib/module/external/reanimated/video.js +0 -46
- package/lib/module/external/reanimated/video.js.map +0 -1
- package/lib/typescript/src/external/reanimated/video.d.ts +0 -16
- package/src/external/reanimated/video.ts +0 -82
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_types","require","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","CanvasKitWebGLBufferImpl","CanvasKitWebGLBuffer","constructor","surface","source","toImage","image","makeImageFromTextureSource","Error","updateTextureFromSource","exports"],"sources":["CanvasKitWebGLBufferImpl.ts"],"sourcesContent":["import type { Surface, TextureSource, Image } from \"canvaskit-wasm\";\n\nimport { CanvasKitWebGLBuffer } from \"../types\";\n\nexport class CanvasKitWebGLBufferImpl extends CanvasKitWebGLBuffer {\n public image: Image | null = null;\n\n constructor(public surface: Surface, private source: TextureSource) {\n super();\n }\n\n toImage() {\n if (this.image === null) {\n this.image = this.surface.makeImageFromTextureSource(this.source);\n }\n if (this.image === null) {\n throw new Error(\"Failed to create image from texture source\");\n }\n this.surface.updateTextureFromSource(this.image, this.source);\n return this.image;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAAgD,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;AAEzC,MAAMW,wBAAwB,SAASC,2BAAoB,CAAC;EAGjEC,WAAWA,CAAQC,OAAgB,EAAUC,MAAqB,EAAE;IAClE,KAAK,CAAC,CAAC;IAAC,KADSD,OAAgB,GAAhBA,OAAgB;IAAA,KAAUC,MAAqB,GAArBA,MAAqB;IAAAzB,eAAA,gBAFrC,IAAI;EAIjC;EAEA0B,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAACC,KAAK,KAAK,IAAI,EAAE;MACvB,IAAI,CAACA,KAAK,GAAG,IAAI,CAACH,OAAO,CAACI,0BAA0B,CAAC,IAAI,CAACH,MAAM,CAAC;IACnE;IACA,IAAI,IAAI,CAACE,KAAK,KAAK,IAAI,EAAE;MACvB,MAAM,IAAIE,KAAK,CAAC,4CAA4C,CAAC;IAC/D;IACA,IAAI,CAACL,OAAO,CAACM,uBAAuB,CAAC,IAAI,CAACH,KAAK,EAAE,IAAI,CAACF,MAAM,CAAC;IAC7D,OAAO,IAAI,CAACE,KAAK;EACnB;AACF;AAACI,OAAA,CAAAV,wBAAA,GAAAA,wBAAA"}
|
@@ -23,8 +23,14 @@ class JsiSkImageFactory extends _Host.Host {
|
|
23
23
|
throw new Error("Invalid NativeBuffer");
|
24
24
|
}
|
25
25
|
if (!surface) {
|
26
|
-
|
27
|
-
|
26
|
+
let img;
|
27
|
+
if (buffer instanceof HTMLImageElement || buffer instanceof HTMLVideoElement || buffer instanceof ImageBitmap) {
|
28
|
+
img = this.CanvasKit.MakeLazyImageFromTextureSource(buffer);
|
29
|
+
} else if (buffer instanceof _types.CanvasKitWebGLBuffer) {
|
30
|
+
img = buffer.toImage();
|
31
|
+
} else {
|
32
|
+
img = this.CanvasKit.MakeImageFromCanvasImageSource(buffer);
|
33
|
+
}
|
28
34
|
return new _JsiSkImage.JsiSkImage(this.CanvasKit, img);
|
29
35
|
} else if (!image) {
|
30
36
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_types","require","_Host","_JsiSkImage","_JsiSkData","JsiSkImageFactory","Host","constructor","CanvasKit","MakeImageFromViewTag","viewTag","view","console","log","Promise","resolve","MakeImageFromNativeBuffer","buffer","surface","image","isNativeBufferWeb","Error","img","MakeImageFromCanvasImageSource","JsiSkImage","makeImageFromTextureSource","updateTextureFromSource","MakeImageFromEncoded","encoded","JsiSkData","fromValue","MakeImage","info","data","bytesPerRow","alphaType","getEnum","AlphaType","colorSpace","ColorSpace","SRGB","colorType","ColorType","height","width","exports"],"sources":["JsiSkImageFactory.ts"],"sourcesContent":["import type { CanvasKit, Image } from \"canvaskit-wasm\";\n\nimport { isNativeBufferWeb } from \"../types\";\nimport type {\n SkData,\n ImageInfo,\n SkImage,\n NativeBuffer,\n ImageFactory,\n} from \"../types\";\n\nimport { Host, getEnum } from \"./Host\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkData } from \"./JsiSkData\";\nimport type { JsiSkSurface } from \"./JsiSkSurface\";\n\nexport class JsiSkImageFactory extends Host implements ImageFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeImageFromViewTag(viewTag: number): Promise<SkImage | null> {\n const view = viewTag as unknown as HTMLElement;\n // TODO: Implement screenshot from view in React JS\n console.log(view);\n return Promise.resolve(null);\n }\n\n MakeImageFromNativeBuffer(\n buffer: NativeBuffer,\n surface?: JsiSkSurface,\n image?: JsiSkImage\n ) {\n if (!isNativeBufferWeb(buffer)) {\n throw new Error(\"Invalid NativeBuffer\");\n }\n if (!surface) {\n
|
1
|
+
{"version":3,"names":["_types","require","_Host","_JsiSkImage","_JsiSkData","JsiSkImageFactory","Host","constructor","CanvasKit","MakeImageFromViewTag","viewTag","view","console","log","Promise","resolve","MakeImageFromNativeBuffer","buffer","surface","image","isNativeBufferWeb","Error","img","HTMLImageElement","HTMLVideoElement","ImageBitmap","MakeLazyImageFromTextureSource","CanvasKitWebGLBuffer","toImage","MakeImageFromCanvasImageSource","JsiSkImage","makeImageFromTextureSource","updateTextureFromSource","MakeImageFromEncoded","encoded","JsiSkData","fromValue","MakeImage","info","data","bytesPerRow","alphaType","getEnum","AlphaType","colorSpace","ColorSpace","SRGB","colorType","ColorType","height","width","exports"],"sources":["JsiSkImageFactory.ts"],"sourcesContent":["import type { CanvasKit, Image } from \"canvaskit-wasm\";\n\nimport { CanvasKitWebGLBuffer, isNativeBufferWeb } from \"../types\";\nimport type {\n SkData,\n ImageInfo,\n SkImage,\n NativeBuffer,\n ImageFactory,\n} from \"../types\";\n\nimport { Host, getEnum } from \"./Host\";\nimport { JsiSkImage } from \"./JsiSkImage\";\nimport { JsiSkData } from \"./JsiSkData\";\nimport type { JsiSkSurface } from \"./JsiSkSurface\";\nimport type { CanvasKitWebGLBufferImpl } from \"./CanvasKitWebGLBufferImpl\";\n\nexport class JsiSkImageFactory extends Host implements ImageFactory {\n constructor(CanvasKit: CanvasKit) {\n super(CanvasKit);\n }\n\n MakeImageFromViewTag(viewTag: number): Promise<SkImage | null> {\n const view = viewTag as unknown as HTMLElement;\n // TODO: Implement screenshot from view in React JS\n console.log(view);\n return Promise.resolve(null);\n }\n\n MakeImageFromNativeBuffer(\n buffer: NativeBuffer,\n surface?: JsiSkSurface,\n image?: JsiSkImage\n ) {\n if (!isNativeBufferWeb(buffer)) {\n throw new Error(\"Invalid NativeBuffer\");\n }\n if (!surface) {\n let img: Image;\n if (\n buffer instanceof HTMLImageElement ||\n buffer instanceof HTMLVideoElement ||\n buffer instanceof ImageBitmap\n ) {\n img = this.CanvasKit.MakeLazyImageFromTextureSource(buffer);\n } else if (buffer instanceof CanvasKitWebGLBuffer) {\n img = (\n buffer as CanvasKitWebGLBuffer as CanvasKitWebGLBufferImpl\n ).toImage();\n } else {\n img = this.CanvasKit.MakeImageFromCanvasImageSource(buffer);\n }\n return new JsiSkImage(this.CanvasKit, img);\n } else if (!image) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const img = (surface as any).makeImageFromTextureSource(buffer) as Image;\n return new JsiSkImage(this.CanvasKit, img);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const img = (surface as any).updateTextureFromSource(\n image,\n buffer\n ) as Image;\n return new JsiSkImage(this.CanvasKit, img);\n }\n }\n\n MakeImageFromEncoded(encoded: SkData) {\n const image = this.CanvasKit.MakeImageFromEncoded(\n JsiSkData.fromValue(encoded)\n );\n if (image === null) {\n return null;\n }\n return new JsiSkImage(this.CanvasKit, image);\n }\n\n MakeImage(info: ImageInfo, data: SkData, bytesPerRow: number) {\n // see toSkImageInfo() from canvaskit\n const image = this.CanvasKit.MakeImage(\n {\n alphaType: getEnum(this.CanvasKit.AlphaType, info.alphaType),\n colorSpace: this.CanvasKit.ColorSpace.SRGB,\n colorType: getEnum(this.CanvasKit.ColorType, info.colorType),\n height: info.height,\n width: info.width,\n },\n JsiSkData.fromValue(data),\n bytesPerRow\n );\n if (image === null) {\n return null;\n }\n return new JsiSkImage(this.CanvasKit, image);\n }\n}\n"],"mappings":"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"}
|
@@ -36,6 +36,7 @@ var _JsiSkFontMgrFactory = require("./JsiSkFontMgrFactory");
|
|
36
36
|
var _JsiSkAnimatedImageFactory = require("./JsiSkAnimatedImageFactory");
|
37
37
|
var _JsiSkParagraphBuilderFactory = require("./JsiSkParagraphBuilderFactory");
|
38
38
|
var _JsiSkNativeBufferFactory = require("./JsiSkNativeBufferFactory");
|
39
|
+
var _JsiVideo = require("./JsiVideo");
|
39
40
|
const JsiSkApi = CanvasKit => ({
|
40
41
|
Point: (x, y) => new _JsiSkPoint.JsiSkPoint(CanvasKit, Float32Array.of(x, y)),
|
41
42
|
RuntimeShaderBuilder: _ => {
|
@@ -81,9 +82,7 @@ const JsiSkApi = CanvasKit => ({
|
|
81
82
|
FontMgr: new _JsiSkFontMgrFactory.JsiSkFontMgrFactory(CanvasKit),
|
82
83
|
ParagraphBuilder: new _JsiSkParagraphBuilderFactory.JsiSkParagraphBuilderFactory(CanvasKit),
|
83
84
|
NativeBuffer: new _JsiSkNativeBufferFactory.JsiSkNativeBufferFactory(CanvasKit),
|
84
|
-
Video:
|
85
|
-
throw new Error("Not implemented on React Native Web");
|
86
|
-
}
|
85
|
+
Video: _JsiVideo.createVideo.bind(null, CanvasKit)
|
87
86
|
});
|
88
87
|
exports.JsiSkApi = JsiSkApi;
|
89
88
|
//# sourceMappingURL=JsiSkia.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_JsiSkPoint","require","_JsiSkPaint","_JsiSkRect","_JsiSkColor","_JsiSkSurfaceFactory","_JsiSkRRect","_JsiSkRSXform","_JsiSkContourMeasureIter","_JsiSkPictureRecorder","_JsiSkPictureFactory","_JsiSkPathFactory","_JsiSkMatrix","_JsiSkColorFilterFactory","_JsiSkTypefaceFactory","_JsiSkMaskFilterFactory","_JsiSkRuntimeEffectFactory","_JsiSkImageFilterFactory","_JsiSkShaderFactory","_JsiSkPathEffectFactory","_JsiSkDataFactory","_JsiSkImageFactory","_JsiSkSVGFactory","_JsiSkTextBlobFactory","_JsiSkFont","_JsiSkVerticesFactory","_JsiSkPath","_JsiSkTypeface","_JsiSkTypefaceFontProviderFactory","_JsiSkFontMgrFactory","_JsiSkAnimatedImageFactory","_JsiSkParagraphBuilderFactory","_JsiSkNativeBufferFactory","JsiSkApi","CanvasKit","Point","x","y","JsiSkPoint","Float32Array","of","RuntimeShaderBuilder","_","Error","RRectXY","rect","rx","ry","JsiSkRRect","RSXform","scos","ssin","tx","ty","JsiSkRSXform","RSXformFromRadians","scale","r","px","py","s","Math","sin","c","cos","Color","ContourMeasureIter","path","forceClosed","resScale","JsiSkContourMeasureIter","JsiSkPath","fromValue","Paint","paint","JsiSkPaint","setAntiAlias","PictureRecorder","JsiSkPictureRecorder","Picture","JsiSkPictureFactory","Path","JsiSkPathFactory","Matrix","matrix","JsiSkMatrix","identity","ColorFilter","JsiSkColorFilterFactory","Font","typeface","size","JsiSkFont","undefined","JsiSkTypeface","Typeface","JsiSkTypefaceFactory","MaskFilter","JsiSkMaskFilterFactory","RuntimeEffect","JsiSkRuntimeEffectFactory","ImageFilter","JsiSkImageFilterFactory","Shader","JsiSkShaderFactory","PathEffect","JsiSkPathEffectFactory","MakeVertices","bind","Data","JsiSkDataFactory","Image","JsiSkImageFactory","AnimatedImage","JsiSkAnimatedImageFactory","SVG","JsiSkSVGFactory","TextBlob","JsiSkTextBlobFactory","XYWHRect","width","height","JsiSkRect","Surface","JsiSkSurfaceFactory","TypefaceFontProvider","JsiSkTypefaceFontProviderFactory","FontMgr","JsiSkFontMgrFactory","ParagraphBuilder","JsiSkParagraphBuilderFactory","NativeBuffer","JsiSkNativeBufferFactory","Video","_localUri","exports"],"sources":["JsiSkia.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n SkContourMeasureIter,\n Skia,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\nimport { JsiSkTypefaceFontProviderFactory } from \"./JsiSkTypefaceFontProviderFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkAnimatedImageFactory } from \"./JsiSkAnimatedImageFactory\";\nimport { JsiSkParagraphBuilderFactory } from \"./JsiSkParagraphBuilderFactory\";\nimport { JsiSkNativeBufferFactory } from \"./JsiSkNativeBufferFactory\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect): SkRuntimeShaderBuilder => {\n throw new Error(\"Not implemented on React Native Web\");\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, rect, rx, ry),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n RSXformFromRadians: (\n scale: number,\n r: number,\n tx: number,\n ty: number,\n px: number,\n py: number\n ) => {\n const s = Math.sin(r) * scale;\n const c = Math.cos(r) * scale;\n return new JsiSkRSXform(\n CanvasKit,\n Float32Array.of(c, s, tx - c * px + s * py, ty - s * px - c * py)\n );\n },\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(\n JsiSkPath.fromValue(path),\n forceClosed,\n resScale\n )\n ),\n Paint: () => {\n const paint = new JsiSkPaint(CanvasKit, new CanvasKit.Paint());\n paint.setAntiAlias(true);\n return paint;\n },\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : JsiSkTypeface.fromValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n AnimatedImage: new JsiSkAnimatedImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n TypefaceFontProvider: new JsiSkTypefaceFontProviderFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n ParagraphBuilder: new JsiSkParagraphBuilderFactory(CanvasKit),\n NativeBuffer: new JsiSkNativeBufferFactory(CanvasKit),\n Video: (_localUri: string) => {\n throw new Error(\"Not implemented on React Native Web\");\n },\n});\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_JsiSkPoint","require","_JsiSkPaint","_JsiSkRect","_JsiSkColor","_JsiSkSurfaceFactory","_JsiSkRRect","_JsiSkRSXform","_JsiSkContourMeasureIter","_JsiSkPictureRecorder","_JsiSkPictureFactory","_JsiSkPathFactory","_JsiSkMatrix","_JsiSkColorFilterFactory","_JsiSkTypefaceFactory","_JsiSkMaskFilterFactory","_JsiSkRuntimeEffectFactory","_JsiSkImageFilterFactory","_JsiSkShaderFactory","_JsiSkPathEffectFactory","_JsiSkDataFactory","_JsiSkImageFactory","_JsiSkSVGFactory","_JsiSkTextBlobFactory","_JsiSkFont","_JsiSkVerticesFactory","_JsiSkPath","_JsiSkTypeface","_JsiSkTypefaceFontProviderFactory","_JsiSkFontMgrFactory","_JsiSkAnimatedImageFactory","_JsiSkParagraphBuilderFactory","_JsiSkNativeBufferFactory","_JsiVideo","JsiSkApi","CanvasKit","Point","x","y","JsiSkPoint","Float32Array","of","RuntimeShaderBuilder","_","Error","RRectXY","rect","rx","ry","JsiSkRRect","RSXform","scos","ssin","tx","ty","JsiSkRSXform","RSXformFromRadians","scale","r","px","py","s","Math","sin","c","cos","Color","ContourMeasureIter","path","forceClosed","resScale","JsiSkContourMeasureIter","JsiSkPath","fromValue","Paint","paint","JsiSkPaint","setAntiAlias","PictureRecorder","JsiSkPictureRecorder","Picture","JsiSkPictureFactory","Path","JsiSkPathFactory","Matrix","matrix","JsiSkMatrix","identity","ColorFilter","JsiSkColorFilterFactory","Font","typeface","size","JsiSkFont","undefined","JsiSkTypeface","Typeface","JsiSkTypefaceFactory","MaskFilter","JsiSkMaskFilterFactory","RuntimeEffect","JsiSkRuntimeEffectFactory","ImageFilter","JsiSkImageFilterFactory","Shader","JsiSkShaderFactory","PathEffect","JsiSkPathEffectFactory","MakeVertices","bind","Data","JsiSkDataFactory","Image","JsiSkImageFactory","AnimatedImage","JsiSkAnimatedImageFactory","SVG","JsiSkSVGFactory","TextBlob","JsiSkTextBlobFactory","XYWHRect","width","height","JsiSkRect","Surface","JsiSkSurfaceFactory","TypefaceFontProvider","JsiSkTypefaceFontProviderFactory","FontMgr","JsiSkFontMgrFactory","ParagraphBuilder","JsiSkParagraphBuilderFactory","NativeBuffer","JsiSkNativeBufferFactory","Video","createVideo","exports"],"sources":["JsiSkia.ts"],"sourcesContent":["import type { CanvasKit } from \"canvaskit-wasm\";\n\nimport type {\n SkContourMeasureIter,\n Skia,\n SkPath,\n SkRect,\n SkRuntimeEffect,\n SkRuntimeShaderBuilder,\n SkTypeface,\n} from \"../types\";\n\nimport { JsiSkPoint } from \"./JsiSkPoint\";\nimport { JsiSkPaint } from \"./JsiSkPaint\";\nimport { JsiSkRect } from \"./JsiSkRect\";\nimport { Color } from \"./JsiSkColor\";\nimport { JsiSkSurfaceFactory } from \"./JsiSkSurfaceFactory\";\nimport { JsiSkRRect } from \"./JsiSkRRect\";\nimport { JsiSkRSXform } from \"./JsiSkRSXform\";\nimport { JsiSkContourMeasureIter } from \"./JsiSkContourMeasureIter\";\nimport { JsiSkPictureRecorder } from \"./JsiSkPictureRecorder\";\nimport { JsiSkPictureFactory } from \"./JsiSkPictureFactory\";\nimport { JsiSkPathFactory } from \"./JsiSkPathFactory\";\nimport { JsiSkMatrix } from \"./JsiSkMatrix\";\nimport { JsiSkColorFilterFactory } from \"./JsiSkColorFilterFactory\";\nimport { JsiSkTypefaceFactory } from \"./JsiSkTypefaceFactory\";\nimport { JsiSkMaskFilterFactory } from \"./JsiSkMaskFilterFactory\";\nimport { JsiSkRuntimeEffectFactory } from \"./JsiSkRuntimeEffectFactory\";\nimport { JsiSkImageFilterFactory } from \"./JsiSkImageFilterFactory\";\nimport { JsiSkShaderFactory } from \"./JsiSkShaderFactory\";\nimport { JsiSkPathEffectFactory } from \"./JsiSkPathEffectFactory\";\nimport { JsiSkDataFactory } from \"./JsiSkDataFactory\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\nimport { JsiSkSVGFactory } from \"./JsiSkSVGFactory\";\nimport { JsiSkTextBlobFactory } from \"./JsiSkTextBlobFactory\";\nimport { JsiSkFont } from \"./JsiSkFont\";\nimport { MakeVertices } from \"./JsiSkVerticesFactory\";\nimport { JsiSkPath } from \"./JsiSkPath\";\nimport { JsiSkTypeface } from \"./JsiSkTypeface\";\nimport { JsiSkTypefaceFontProviderFactory } from \"./JsiSkTypefaceFontProviderFactory\";\nimport { JsiSkFontMgrFactory } from \"./JsiSkFontMgrFactory\";\nimport { JsiSkAnimatedImageFactory } from \"./JsiSkAnimatedImageFactory\";\nimport { JsiSkParagraphBuilderFactory } from \"./JsiSkParagraphBuilderFactory\";\nimport { JsiSkNativeBufferFactory } from \"./JsiSkNativeBufferFactory\";\nimport { createVideo } from \"./JsiVideo\";\n\nexport const JsiSkApi = (CanvasKit: CanvasKit): Skia => ({\n Point: (x: number, y: number) =>\n new JsiSkPoint(CanvasKit, Float32Array.of(x, y)),\n RuntimeShaderBuilder: (_: SkRuntimeEffect): SkRuntimeShaderBuilder => {\n throw new Error(\"Not implemented on React Native Web\");\n },\n RRectXY: (rect: SkRect, rx: number, ry: number) =>\n new JsiSkRRect(CanvasKit, rect, rx, ry),\n RSXform: (scos: number, ssin: number, tx: number, ty: number) =>\n new JsiSkRSXform(CanvasKit, Float32Array.of(scos, ssin, tx, ty)),\n RSXformFromRadians: (\n scale: number,\n r: number,\n tx: number,\n ty: number,\n px: number,\n py: number\n ) => {\n const s = Math.sin(r) * scale;\n const c = Math.cos(r) * scale;\n return new JsiSkRSXform(\n CanvasKit,\n Float32Array.of(c, s, tx - c * px + s * py, ty - s * px - c * py)\n );\n },\n Color,\n ContourMeasureIter: (\n path: SkPath,\n forceClosed: boolean,\n resScale: number\n ): SkContourMeasureIter =>\n new JsiSkContourMeasureIter(\n CanvasKit,\n new CanvasKit.ContourMeasureIter(\n JsiSkPath.fromValue(path),\n forceClosed,\n resScale\n )\n ),\n Paint: () => {\n const paint = new JsiSkPaint(CanvasKit, new CanvasKit.Paint());\n paint.setAntiAlias(true);\n return paint;\n },\n PictureRecorder: () =>\n new JsiSkPictureRecorder(CanvasKit, new CanvasKit.PictureRecorder()),\n Picture: new JsiSkPictureFactory(CanvasKit),\n Path: new JsiSkPathFactory(CanvasKit),\n Matrix: (matrix?: readonly number[]) =>\n new JsiSkMatrix(\n CanvasKit,\n matrix\n ? Float32Array.of(...matrix)\n : Float32Array.of(...CanvasKit.Matrix.identity())\n ),\n ColorFilter: new JsiSkColorFilterFactory(CanvasKit),\n Font: (typeface?: SkTypeface, size?: number) =>\n new JsiSkFont(\n CanvasKit,\n new CanvasKit.Font(\n typeface === undefined ? null : JsiSkTypeface.fromValue(typeface),\n size\n )\n ),\n Typeface: new JsiSkTypefaceFactory(CanvasKit),\n MaskFilter: new JsiSkMaskFilterFactory(CanvasKit),\n RuntimeEffect: new JsiSkRuntimeEffectFactory(CanvasKit),\n ImageFilter: new JsiSkImageFilterFactory(CanvasKit),\n Shader: new JsiSkShaderFactory(CanvasKit),\n PathEffect: new JsiSkPathEffectFactory(CanvasKit),\n MakeVertices: MakeVertices.bind(null, CanvasKit),\n Data: new JsiSkDataFactory(CanvasKit),\n Image: new JsiSkImageFactory(CanvasKit),\n AnimatedImage: new JsiSkAnimatedImageFactory(CanvasKit),\n SVG: new JsiSkSVGFactory(CanvasKit),\n TextBlob: new JsiSkTextBlobFactory(CanvasKit),\n XYWHRect: (x: number, y: number, width: number, height: number) => {\n return new JsiSkRect(CanvasKit, CanvasKit.XYWHRect(x, y, width, height));\n },\n Surface: new JsiSkSurfaceFactory(CanvasKit),\n TypefaceFontProvider: new JsiSkTypefaceFontProviderFactory(CanvasKit),\n FontMgr: new JsiSkFontMgrFactory(CanvasKit),\n ParagraphBuilder: new JsiSkParagraphBuilderFactory(CanvasKit),\n NativeBuffer: new JsiSkNativeBufferFactory(CanvasKit),\n Video: createVideo.bind(null, CanvasKit),\n});\n"],"mappings":"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"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import type { CanvasKit, Surface } from "canvaskit-wasm";
|
2
|
+
import type { Video, ImageFactory } from "../types";
|
3
|
+
export declare const createVideo: (CanvasKit: CanvasKit, url: string) => Promise<Video>;
|
4
|
+
export declare class JsiVideo implements Video {
|
5
|
+
private ImageFactory;
|
6
|
+
private videoElement;
|
7
|
+
__typename__: "Video";
|
8
|
+
private webglBuffer;
|
9
|
+
constructor(ImageFactory: ImageFactory, videoElement: HTMLVideoElement);
|
10
|
+
duration(): number;
|
11
|
+
framerate(): number;
|
12
|
+
setSurface(surface: Surface): void;
|
13
|
+
nextImage(): import("../types").SkImage;
|
14
|
+
seek(time: number): void;
|
15
|
+
rotation(): 0;
|
16
|
+
size(): {
|
17
|
+
width: number;
|
18
|
+
height: number;
|
19
|
+
};
|
20
|
+
pause(): void;
|
21
|
+
play(): void;
|
22
|
+
setVolume(volume: number): void;
|
23
|
+
dispose(): void;
|
24
|
+
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createVideo = exports.JsiVideo = void 0;
|
7
|
+
var _CanvasKitWebGLBufferImpl = require("./CanvasKitWebGLBufferImpl");
|
8
|
+
var _JsiSkImageFactory = require("./JsiSkImageFactory");
|
9
|
+
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; }
|
10
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
11
|
+
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); }
|
12
|
+
const createVideo = async (CanvasKit, url) => {
|
13
|
+
const video = document.createElement("video");
|
14
|
+
return new Promise((resolve, reject) => {
|
15
|
+
video.src = url;
|
16
|
+
video.style.display = "none";
|
17
|
+
video.crossOrigin = "anonymous";
|
18
|
+
video.volume = 0;
|
19
|
+
video.addEventListener("loadedmetadata", () => {
|
20
|
+
document.body.appendChild(video);
|
21
|
+
resolve(new JsiVideo(new _JsiSkImageFactory.JsiSkImageFactory(CanvasKit), video));
|
22
|
+
});
|
23
|
+
video.addEventListener("error", () => {
|
24
|
+
reject(new Error(`Failed to load video from URL: ${url}`));
|
25
|
+
});
|
26
|
+
});
|
27
|
+
};
|
28
|
+
exports.createVideo = createVideo;
|
29
|
+
class JsiVideo {
|
30
|
+
constructor(ImageFactory, videoElement) {
|
31
|
+
this.ImageFactory = ImageFactory;
|
32
|
+
this.videoElement = videoElement;
|
33
|
+
_defineProperty(this, "__typename__", "Video");
|
34
|
+
_defineProperty(this, "webglBuffer", null);
|
35
|
+
document.body.appendChild(this.videoElement);
|
36
|
+
}
|
37
|
+
duration() {
|
38
|
+
return this.videoElement.duration * 1000;
|
39
|
+
}
|
40
|
+
framerate() {
|
41
|
+
throw new Error("Video.frame is not available on React Native Web");
|
42
|
+
}
|
43
|
+
setSurface(surface) {
|
44
|
+
// If we have the surface, we can use the WebGL buffer which is slightly faster
|
45
|
+
// This is because WebGL cannot be shared across contextes.
|
46
|
+
// This can be removed with WebGPU
|
47
|
+
this.webglBuffer = new _CanvasKitWebGLBufferImpl.CanvasKitWebGLBufferImpl(surface, this.videoElement);
|
48
|
+
}
|
49
|
+
nextImage() {
|
50
|
+
return this.ImageFactory.MakeImageFromNativeBuffer(this.webglBuffer ? this.webglBuffer : this.videoElement);
|
51
|
+
}
|
52
|
+
seek(time) {
|
53
|
+
if (isNaN(time)) {
|
54
|
+
throw new Error(`Invalid time: ${time}`);
|
55
|
+
}
|
56
|
+
this.videoElement.currentTime = time / 1000;
|
57
|
+
}
|
58
|
+
rotation() {
|
59
|
+
return 0;
|
60
|
+
}
|
61
|
+
size() {
|
62
|
+
return {
|
63
|
+
width: this.videoElement.videoWidth,
|
64
|
+
height: this.videoElement.videoHeight
|
65
|
+
};
|
66
|
+
}
|
67
|
+
pause() {
|
68
|
+
this.videoElement.pause();
|
69
|
+
}
|
70
|
+
play() {
|
71
|
+
this.videoElement.play();
|
72
|
+
}
|
73
|
+
setVolume(volume) {
|
74
|
+
this.videoElement.volume = volume;
|
75
|
+
}
|
76
|
+
dispose() {
|
77
|
+
if (this.videoElement.parentNode) {
|
78
|
+
this.videoElement.parentNode.removeChild(this.videoElement);
|
79
|
+
}
|
80
|
+
}
|
81
|
+
}
|
82
|
+
exports.JsiVideo = JsiVideo;
|
83
|
+
//# sourceMappingURL=JsiVideo.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_CanvasKitWebGLBufferImpl","require","_JsiSkImageFactory","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","createVideo","CanvasKit","url","video","document","createElement","Promise","resolve","reject","src","style","display","crossOrigin","volume","addEventListener","body","appendChild","JsiVideo","JsiSkImageFactory","Error","exports","constructor","ImageFactory","videoElement","duration","framerate","setSurface","surface","webglBuffer","CanvasKitWebGLBufferImpl","nextImage","MakeImageFromNativeBuffer","seek","time","isNaN","currentTime","rotation","size","width","videoWidth","height","videoHeight","pause","play","setVolume","dispose","parentNode","removeChild"],"sources":["JsiVideo.ts"],"sourcesContent":["import type { CanvasKit, Surface } from \"canvaskit-wasm\";\n\nimport type { CanvasKitWebGLBuffer, Video, ImageFactory } from \"../types\";\n\nimport { CanvasKitWebGLBufferImpl } from \"./CanvasKitWebGLBufferImpl\";\nimport { JsiSkImageFactory } from \"./JsiSkImageFactory\";\n\nexport const createVideo = async (\n CanvasKit: CanvasKit,\n url: string\n): Promise<Video> => {\n const video = document.createElement(\"video\");\n return new Promise((resolve, reject) => {\n video.src = url;\n video.style.display = \"none\";\n video.crossOrigin = \"anonymous\";\n video.volume = 0;\n video.addEventListener(\"loadedmetadata\", () => {\n document.body.appendChild(video);\n resolve(new JsiVideo(new JsiSkImageFactory(CanvasKit), video));\n });\n video.addEventListener(\"error\", () => {\n reject(new Error(`Failed to load video from URL: ${url}`));\n });\n });\n};\n\nexport class JsiVideo implements Video {\n __typename__ = \"Video\" as const;\n\n private webglBuffer: CanvasKitWebGLBuffer | null = null;\n\n constructor(\n private ImageFactory: ImageFactory,\n private videoElement: HTMLVideoElement\n ) {\n document.body.appendChild(this.videoElement);\n }\n\n duration() {\n return this.videoElement.duration * 1000;\n }\n\n framerate(): number {\n throw new Error(\"Video.frame is not available on React Native Web\");\n }\n\n setSurface(surface: Surface) {\n // If we have the surface, we can use the WebGL buffer which is slightly faster\n // This is because WebGL cannot be shared across contextes.\n // This can be removed with WebGPU\n this.webglBuffer = new CanvasKitWebGLBufferImpl(surface, this.videoElement);\n }\n\n nextImage() {\n return this.ImageFactory.MakeImageFromNativeBuffer(\n this.webglBuffer ? this.webglBuffer : this.videoElement\n );\n }\n\n seek(time: number) {\n if (isNaN(time)) {\n throw new Error(`Invalid time: ${time}`);\n }\n this.videoElement.currentTime = time / 1000;\n }\n\n rotation() {\n return 0 as const;\n }\n\n size() {\n return {\n width: this.videoElement.videoWidth,\n height: this.videoElement.videoHeight,\n };\n }\n\n pause() {\n this.videoElement.pause();\n }\n\n play() {\n this.videoElement.play();\n }\n\n setVolume(volume: number) {\n this.videoElement.volume = volume;\n }\n\n dispose() {\n if (this.videoElement.parentNode) {\n this.videoElement.parentNode.removeChild(this.videoElement);\n }\n }\n}\n"],"mappings":"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"}
|
@@ -33,6 +33,8 @@ class SkiaDomView extends _react.default.Component {
|
|
33
33
|
}
|
34
34
|
if (onTouch) {
|
35
35
|
assertSkiaViewApi();
|
36
|
+
console.warn(`The onTouch property is deprecated and will be removed in the next Skia release.
|
37
|
+
See: https://shopify.github.io/react-native-skia/docs/animations/gestures`);
|
36
38
|
_api.SkiaViewApi.setJsiProperty(this._nativeId, "onTouch", onTouch);
|
37
39
|
}
|
38
40
|
if (onSize) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_Platform","_SkiaDomViewNativeComponent","_api","_SkiaViewNativeId","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","t","_toPrimitive","String","r","e","Symbol","toPrimitive","TypeError","Number","NativeSkiaDomView","Platform","OS","SkiaDomViewNativeComponent","SkiaDomView","React","Component","constructor","props","_nativeId","SkiaViewNativeId","current","root","onTouch","onSize","assertSkiaViewApi","SkiaViewApi","setJsiProperty","nativeId","componentDidUpdate","prevProps","makeImageSnapshot","rect","makeImageSnapshotAsync","redraw","requestRedraw","componentWillUnmount","render","mode","debug","viewProps","createElement","collapsable","nativeID","exports","callJsiMethod","Error"],"sources":["SkiaDomView.tsx"],"sourcesContent":["import React from \"react\";\nimport type { HostComponent } from \"react-native\";\n\nimport type { SkRect } from \"../skia/types\";\nimport { Platform } from \"../Platform\";\nimport SkiaDomViewNativeComponent from \"../specs/SkiaDomViewNativeComponent\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { SkiaDomViewProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\nconst NativeSkiaDomView: HostComponent<SkiaDomViewProps> =\n Platform.OS !== \"web\"\n ? SkiaDomViewNativeComponent\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (null as any);\n\nexport class SkiaDomView extends React.Component<SkiaDomViewProps> {\n constructor(props: SkiaDomViewProps) {\n super(props);\n this._nativeId = SkiaViewNativeId.current++;\n const { root, onTouch, onSize } = props;\n if (root) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"root\", root);\n }\n if (onTouch) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onTouch\", onTouch);\n }\n if (onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaDomViewProps) {\n const { root, onTouch, onSize } = this.props;\n if (root !== prevProps.root) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"root\", root);\n }\n if (onTouch !== prevProps.onTouch) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onTouch\", onTouch);\n }\n if (onSize !== prevProps.onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshotAsync(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshotAsync(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n /**\n * Clear up the dom node when unmounting to release resources.\n */\n componentWillUnmount(): void {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"root\", null);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <NativeSkiaDomView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n mode={mode}\n debug={debug}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.callJsiMethod === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,2BAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,IAAA,GAAAH,OAAA;AAEA,IAAAI,iBAAA,GAAAJ,OAAA;AAAsD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,gBAAAjB,GAAA,EAAAY,GAAA,EAAAM,KAAA,IAAAN,GAAA,GAAAO,cAAA,CAAAP,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAI,MAAA,CAAAgB,cAAA,CAAApB,GAAA,EAAAY,GAAA,IAAAM,KAAA,EAAAA,KAAA,EAAAG,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAvB,GAAA,CAAAY,GAAA,IAAAM,KAAA,WAAAlB,GAAA;AAAA,SAAAmB,eAAAK,CAAA,QAAAhB,CAAA,GAAAiB,YAAA,CAAAD,CAAA,uCAAAhB,CAAA,GAAAA,CAAA,GAAAkB,MAAA,CAAAlB,CAAA;AAAA,SAAAiB,aAAAD,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAApB,CAAA,GAAAoB,CAAA,CAAAb,IAAA,CAAAS,CAAA,EAAAG,CAAA,uCAAAnB,CAAA,SAAAA,CAAA,YAAAuB,SAAA,yEAAAJ,CAAA,GAAAD,MAAA,GAAAM,MAAA,EAAAR,CAAA;AAEtD,MAAMS,iBAAkD,GACtDC,kBAAQ,CAACC,EAAE,KAAK,KAAK,GACjBC,mCAA0B;AAC1B;AACC,IAAY;AAEZ,MAAMC,WAAW,SAASC,cAAK,CAACC,SAAS,CAAmB;EACjEC,WAAWA,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,CAAC;IAACxB,eAAA;IACb,IAAI,CAACyB,SAAS,GAAGC,kCAAgB,CAACC,OAAO,EAAE;IAC3C,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC;IAAO,CAAC,GAAGN,KAAK;IACvC,IAAII,IAAI,EAAE;MACRG,iBAAiB,CAAC,CAAC;MACnBC,gBAAW,CAACC,cAAc,CAAC,IAAI,CAACR,SAAS,EAAE,MAAM,EAAEG,IAAI,CAAC;IAC1D;IACA,IAAIC,OAAO,EAAE;MACXE,iBAAiB,CAAC,CAAC;
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Platform","_SkiaDomViewNativeComponent","_api","_SkiaViewNativeId","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","t","_toPrimitive","String","r","e","Symbol","toPrimitive","TypeError","Number","NativeSkiaDomView","Platform","OS","SkiaDomViewNativeComponent","SkiaDomView","React","Component","constructor","props","_nativeId","SkiaViewNativeId","current","root","onTouch","onSize","assertSkiaViewApi","SkiaViewApi","setJsiProperty","console","warn","nativeId","componentDidUpdate","prevProps","makeImageSnapshot","rect","makeImageSnapshotAsync","redraw","requestRedraw","componentWillUnmount","render","mode","debug","viewProps","createElement","collapsable","nativeID","exports","callJsiMethod","Error"],"sources":["SkiaDomView.tsx"],"sourcesContent":["import React from \"react\";\nimport type { HostComponent } from \"react-native\";\n\nimport type { SkRect } from \"../skia/types\";\nimport { Platform } from \"../Platform\";\nimport SkiaDomViewNativeComponent from \"../specs/SkiaDomViewNativeComponent\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { SkiaDomViewProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\nconst NativeSkiaDomView: HostComponent<SkiaDomViewProps> =\n Platform.OS !== \"web\"\n ? SkiaDomViewNativeComponent\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (null as any);\n\nexport class SkiaDomView extends React.Component<SkiaDomViewProps> {\n constructor(props: SkiaDomViewProps) {\n super(props);\n this._nativeId = SkiaViewNativeId.current++;\n const { root, onTouch, onSize } = props;\n if (root) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"root\", root);\n }\n if (onTouch) {\n assertSkiaViewApi();\n console.warn(\n `The onTouch property is deprecated and will be removed in the next Skia release.\nSee: https://shopify.github.io/react-native-skia/docs/animations/gestures`\n );\n SkiaViewApi.setJsiProperty(this._nativeId, \"onTouch\", onTouch);\n }\n if (onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaDomViewProps) {\n const { root, onTouch, onSize } = this.props;\n if (root !== prevProps.root) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"root\", root);\n }\n if (onTouch !== prevProps.onTouch) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onTouch\", onTouch);\n }\n if (onSize !== prevProps.onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshotAsync(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshotAsync(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n /**\n * Clear up the dom node when unmounting to release resources.\n */\n componentWillUnmount(): void {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"root\", null);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <NativeSkiaDomView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n mode={mode}\n debug={debug}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.callJsiMethod === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":"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"}
|
@@ -13,6 +13,8 @@ class SkiaDomView extends _SkiaBaseWebView.SkiaBaseWebView {
|
|
13
13
|
}
|
14
14
|
renderInCanvas(canvas, touches) {
|
15
15
|
if (this.props.onTouch) {
|
16
|
+
console.warn(`The onTouch property is deprecated and will be removed in the next Skia release.
|
17
|
+
See: https://shopify.github.io/react-native-skia/docs/animations/gestures`);
|
16
18
|
this.props.onTouch([touches]);
|
17
19
|
}
|
18
20
|
if (this.props.onSize) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_skia","require","_DrawingContext","_SkiaBaseWebView","SkiaDomView","SkiaBaseWebView","constructor","props","renderInCanvas","canvas","touches","onTouch","onSize","width","height","getSize","value","root","ctx","JsiDrawingContext","Skia","render","exports"],"sources":["SkiaDomView.web.tsx"],"sourcesContent":["import { Skia } from \"../skia\";\nimport type { SkCanvas } from \"../skia/types\";\nimport { JsiDrawingContext } from \"../dom/types/DrawingContext\";\n\nimport { SkiaBaseWebView } from \"./SkiaBaseWebView\";\nimport type { SkiaDomViewProps, TouchInfo } from \"./types\";\n\nexport class SkiaDomView extends SkiaBaseWebView<SkiaDomViewProps> {\n constructor(props: SkiaDomViewProps) {\n super(props);\n }\n\n protected renderInCanvas(canvas: SkCanvas, touches: TouchInfo[]): void {\n if (this.props.onTouch) {\n this.props.onTouch([touches]);\n }\n if (this.props.onSize) {\n const { width, height } = this.getSize();\n this.props.onSize.value = { width, height };\n }\n if (this.props.root) {\n const ctx = new JsiDrawingContext(Skia, canvas);\n this.props.root.render(ctx);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AAGO,MAAMG,WAAW,SAASC,gCAAe,CAAmB;EACjEC,WAAWA,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,CAAC;EACd;EAEUC,cAAcA,CAACC,MAAgB,EAAEC,OAAoB,EAAQ;IACrE,IAAI,IAAI,CAACH,KAAK,CAACI,OAAO,EAAE;
|
1
|
+
{"version":3,"names":["_skia","require","_DrawingContext","_SkiaBaseWebView","SkiaDomView","SkiaBaseWebView","constructor","props","renderInCanvas","canvas","touches","onTouch","console","warn","onSize","width","height","getSize","value","root","ctx","JsiDrawingContext","Skia","render","exports"],"sources":["SkiaDomView.web.tsx"],"sourcesContent":["import { Skia } from \"../skia\";\nimport type { SkCanvas } from \"../skia/types\";\nimport { JsiDrawingContext } from \"../dom/types/DrawingContext\";\n\nimport { SkiaBaseWebView } from \"./SkiaBaseWebView\";\nimport type { SkiaDomViewProps, TouchInfo } from \"./types\";\n\nexport class SkiaDomView extends SkiaBaseWebView<SkiaDomViewProps> {\n constructor(props: SkiaDomViewProps) {\n super(props);\n }\n\n protected renderInCanvas(canvas: SkCanvas, touches: TouchInfo[]): void {\n if (this.props.onTouch) {\n console.warn(\n `The onTouch property is deprecated and will be removed in the next Skia release.\nSee: https://shopify.github.io/react-native-skia/docs/animations/gestures`\n );\n this.props.onTouch([touches]);\n }\n if (this.props.onSize) {\n const { width, height } = this.getSize();\n this.props.onSize.value = { width, height };\n }\n if (this.props.root) {\n const ctx = new JsiDrawingContext(Skia, canvas);\n this.props.root.render(ctx);\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AAGO,MAAMG,WAAW,SAASC,gCAAe,CAAmB;EACjEC,WAAWA,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,CAAC;EACd;EAEUC,cAAcA,CAACC,MAAgB,EAAEC,OAAoB,EAAQ;IACrE,IAAI,IAAI,CAACH,KAAK,CAACI,OAAO,EAAE;MACtBC,OAAO,CAACC,IAAI,CACT;AACT,0EACM,CAAC;MACD,IAAI,CAACN,KAAK,CAACI,OAAO,CAAC,CAACD,OAAO,CAAC,CAAC;IAC/B;IACA,IAAI,IAAI,CAACH,KAAK,CAACO,MAAM,EAAE;MACrB,MAAM;QAAEC,KAAK;QAAEC;MAAO,CAAC,GAAG,IAAI,CAACC,OAAO,CAAC,CAAC;MACxC,IAAI,CAACV,KAAK,CAACO,MAAM,CAACI,KAAK,GAAG;QAAEH,KAAK;QAAEC;MAAO,CAAC;IAC7C;IACA,IAAI,IAAI,CAACT,KAAK,CAACY,IAAI,EAAE;MACnB,MAAMC,GAAG,GAAG,IAAIC,iCAAiB,CAACC,UAAI,EAAEb,MAAM,CAAC;MAC/C,IAAI,CAACF,KAAK,CAACY,IAAI,CAACI,MAAM,CAACH,GAAG,CAAC;IAC7B;EACF;AACF;AAACI,OAAA,CAAApB,WAAA,GAAAA,WAAA"}
|
@@ -34,6 +34,8 @@ class SkiaJSDomView extends _react.default.Component {
|
|
34
34
|
}
|
35
35
|
if (onTouch) {
|
36
36
|
assertSkiaViewApi();
|
37
|
+
console.warn(`The onTouch property is deprecated and will be removed in the next Skia release.
|
38
|
+
See: https://shopify.github.io/react-native-skia/docs/animations/gestures`);
|
37
39
|
_api.SkiaViewApi.setJsiProperty(this._nativeId, "onTouch", onTouch);
|
38
40
|
}
|
39
41
|
if (onSize) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_Platform","_SkiaPictureViewNativeComponent","_types","_api","_SkiaViewNativeId","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","t","_toPrimitive","String","r","e","Symbol","toPrimitive","TypeError","Number","NativeSkiaPictureView","Platform","OS","SkiaPictureViewNativeComponent","SkiaJSDomView","React","Component","constructor","props","_nativeId","SkiaViewNativeId","current","root","onTouch","onSize","assertSkiaViewApi","SkiaViewApi","setJsiProperty","nativeId","componentDidUpdate","prevProps","undefined","draw","makeImageSnapshot","rect","redraw","Skia","rec","PictureRecorder","canvas","beginRecording","ctx","JsiDrawingContext","render","picture","finishRecordingAsPicture","componentWillUnmount","mode","debug","viewProps","createElement","collapsable","nativeID","exports","callJsiMethod","requestRedraw","Error"],"sources":["SkiaJSDomView.tsx"],"sourcesContent":["import React from \"react\";\nimport type { HostComponent } from \"react-native\";\n\nimport type { Skia, SkRect } from \"../skia/types\";\nimport { Platform } from \"../Platform\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\nimport { JsiDrawingContext } from \"../dom/types\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { SkiaPictureViewProps, SkiaDomViewProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\nconst NativeSkiaPictureView: HostComponent<SkiaPictureViewProps> =\n Platform.OS !== \"web\"\n ? SkiaPictureViewNativeComponent\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (null as any);\n\nexport class SkiaJSDomView extends React.Component<\n SkiaDomViewProps & { Skia: Skia }\n> {\n constructor(props: SkiaDomViewProps & { Skia: Skia }) {\n super(props);\n this._nativeId = SkiaViewNativeId.current++;\n const { root, onTouch, onSize } = props;\n if (root) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"root\", root);\n }\n if (onTouch) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onTouch\", onTouch);\n }\n if (onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaDomViewProps & { Skia: Skia }) {\n const { root, onTouch, onSize } = this.props;\n if (root !== prevProps.root && root !== undefined) {\n assertSkiaViewApi();\n this.draw();\n }\n if (onTouch !== prevProps.onTouch) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onTouch\", onTouch);\n }\n if (onSize !== prevProps.onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n this.draw();\n //SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n private draw() {\n const { root, Skia } = this.props;\n if (root !== undefined) {\n assertSkiaViewApi();\n const rec = Skia.PictureRecorder();\n const canvas = rec.beginRecording();\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.render(ctx);\n const picture = rec.finishRecordingAsPicture();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n }\n\n /**\n * Clear up the dom node when unmounting to release resources.\n */\n componentWillUnmount(): void {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", null);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <NativeSkiaPictureView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n mode={mode}\n debug={debug}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.callJsiMethod === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,+BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,IAAA,GAAAJ,OAAA;AAEA,IAAAK,iBAAA,GAAAL,OAAA;AAAsD,SAAAD,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,gBAAAjB,GAAA,EAAAY,GAAA,EAAAM,KAAA,IAAAN,GAAA,GAAAO,cAAA,CAAAP,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAI,MAAA,CAAAgB,cAAA,CAAApB,GAAA,EAAAY,GAAA,IAAAM,KAAA,EAAAA,KAAA,EAAAG,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAvB,GAAA,CAAAY,GAAA,IAAAM,KAAA,WAAAlB,GAAA;AAAA,SAAAmB,eAAAK,CAAA,QAAAhB,CAAA,GAAAiB,YAAA,CAAAD,CAAA,uCAAAhB,CAAA,GAAAA,CAAA,GAAAkB,MAAA,CAAAlB,CAAA;AAAA,SAAAiB,aAAAD,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAApB,CAAA,GAAAoB,CAAA,CAAAb,IAAA,CAAAS,CAAA,EAAAG,CAAA,uCAAAnB,CAAA,SAAAA,CAAA,YAAAuB,SAAA,yEAAAJ,CAAA,GAAAD,MAAA,GAAAM,MAAA,EAAAR,CAAA;AAEtD,MAAMS,qBAA0D,GAC9DC,kBAAQ,CAACC,EAAE,KAAK,KAAK,GACjBC,uCAA8B;AAC9B;AACC,IAAY;AAEZ,MAAMC,aAAa,SAASC,cAAK,CAACC,SAAS,CAEhD;EACAC,WAAWA,CAACC,KAAwC,EAAE;IACpD,KAAK,CAACA,KAAK,CAAC;IAACxB,eAAA;IACb,IAAI,CAACyB,SAAS,GAAGC,kCAAgB,CAACC,OAAO,EAAE;IAC3C,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC;IAAO,CAAC,GAAGN,KAAK;IACvC,IAAII,IAAI,EAAE;MACRG,iBAAiB,CAAC,CAAC;MACnBC,gBAAW,CAACC,cAAc,CAAC,IAAI,CAACR,SAAS,EAAE,MAAM,EAAEG,IAAI,CAAC;IAC1D;IACA,IAAIC,OAAO,EAAE;MACXE,iBAAiB,CAAC,CAAC;
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Platform","_SkiaPictureViewNativeComponent","_types","_api","_SkiaViewNativeId","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","t","_toPrimitive","String","r","e","Symbol","toPrimitive","TypeError","Number","NativeSkiaPictureView","Platform","OS","SkiaPictureViewNativeComponent","SkiaJSDomView","React","Component","constructor","props","_nativeId","SkiaViewNativeId","current","root","onTouch","onSize","assertSkiaViewApi","SkiaViewApi","setJsiProperty","console","warn","nativeId","componentDidUpdate","prevProps","undefined","draw","makeImageSnapshot","rect","redraw","Skia","rec","PictureRecorder","canvas","beginRecording","ctx","JsiDrawingContext","render","picture","finishRecordingAsPicture","componentWillUnmount","mode","debug","viewProps","createElement","collapsable","nativeID","exports","callJsiMethod","requestRedraw","Error"],"sources":["SkiaJSDomView.tsx"],"sourcesContent":["import React from \"react\";\nimport type { HostComponent } from \"react-native\";\n\nimport type { Skia, SkRect } from \"../skia/types\";\nimport { Platform } from \"../Platform\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\nimport { JsiDrawingContext } from \"../dom/types\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { SkiaPictureViewProps, SkiaDomViewProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\nconst NativeSkiaPictureView: HostComponent<SkiaPictureViewProps> =\n Platform.OS !== \"web\"\n ? SkiaPictureViewNativeComponent\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (null as any);\n\nexport class SkiaJSDomView extends React.Component<\n SkiaDomViewProps & { Skia: Skia }\n> {\n constructor(props: SkiaDomViewProps & { Skia: Skia }) {\n super(props);\n this._nativeId = SkiaViewNativeId.current++;\n const { root, onTouch, onSize } = props;\n if (root) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"root\", root);\n }\n if (onTouch) {\n assertSkiaViewApi();\n console.warn(\n `The onTouch property is deprecated and will be removed in the next Skia release.\nSee: https://shopify.github.io/react-native-skia/docs/animations/gestures`\n );\n SkiaViewApi.setJsiProperty(this._nativeId, \"onTouch\", onTouch);\n }\n if (onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaDomViewProps & { Skia: Skia }) {\n const { root, onTouch, onSize } = this.props;\n if (root !== prevProps.root && root !== undefined) {\n assertSkiaViewApi();\n this.draw();\n }\n if (onTouch !== prevProps.onTouch) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onTouch\", onTouch);\n }\n if (onSize !== prevProps.onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n this.draw();\n //SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n private draw() {\n const { root, Skia } = this.props;\n if (root !== undefined) {\n assertSkiaViewApi();\n const rec = Skia.PictureRecorder();\n const canvas = rec.beginRecording();\n const ctx = new JsiDrawingContext(Skia, canvas);\n root.render(ctx);\n const picture = rec.finishRecordingAsPicture();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n }\n\n /**\n * Clear up the dom node when unmounting to release resources.\n */\n componentWillUnmount(): void {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", null);\n }\n\n render() {\n const { mode, debug = false, ...viewProps } = this.props;\n return (\n <NativeSkiaPictureView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n mode={mode}\n debug={debug}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.callJsiMethod === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":"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"}
|
@@ -1,9 +1,15 @@
|
|
1
1
|
import { exhaustiveCheck } from "../../../renderer/typeddash";
|
2
|
-
export const size = (width = 0, height = 0) =>
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
export const size = (width = 0, height = 0) => {
|
3
|
+
"worklet";
|
4
|
+
|
5
|
+
return {
|
6
|
+
width,
|
7
|
+
height
|
8
|
+
};
|
9
|
+
};
|
6
10
|
export const rect2rect = (src, dst) => {
|
11
|
+
"worklet";
|
12
|
+
|
7
13
|
const scaleX = dst.width / src.width;
|
8
14
|
const scaleY = dst.height / src.height;
|
9
15
|
const translateX = dst.x - src.x * scaleX;
|
@@ -18,35 +24,12 @@ export const rect2rect = (src, dst) => {
|
|
18
24
|
scaleY
|
19
25
|
}];
|
20
26
|
};
|
21
|
-
export const fitRects = (fit, rect, {
|
22
|
-
x,
|
23
|
-
y,
|
24
|
-
width,
|
25
|
-
height
|
26
|
-
}) => {
|
27
|
-
const sizes = applyBoxFit(fit, {
|
28
|
-
width: rect.width,
|
29
|
-
height: rect.height
|
30
|
-
}, {
|
31
|
-
width,
|
32
|
-
height
|
33
|
-
});
|
34
|
-
const src = inscribe(sizes.src, rect);
|
35
|
-
const dst = inscribe(sizes.dst, {
|
36
|
-
x,
|
37
|
-
y,
|
38
|
-
width,
|
39
|
-
height
|
40
|
-
});
|
41
|
-
return {
|
42
|
-
src,
|
43
|
-
dst
|
44
|
-
};
|
45
|
-
};
|
46
27
|
const inscribe = ({
|
47
28
|
width,
|
48
29
|
height
|
49
30
|
}, rect) => {
|
31
|
+
"worklet";
|
32
|
+
|
50
33
|
const halfWidthDelta = (rect.width - width) / 2.0;
|
51
34
|
const halfHeightDelta = (rect.height - height) / 2.0;
|
52
35
|
return {
|
@@ -57,6 +40,8 @@ const inscribe = ({
|
|
57
40
|
};
|
58
41
|
};
|
59
42
|
const applyBoxFit = (fit, input, output) => {
|
43
|
+
"worklet";
|
44
|
+
|
60
45
|
let src = size(),
|
61
46
|
dst = size();
|
62
47
|
if (input.height <= 0.0 || input.width <= 0.0 || output.height <= 0.0 || output.width <= 0.0) {
|
@@ -117,4 +102,31 @@ const applyBoxFit = (fit, input, output) => {
|
|
117
102
|
dst
|
118
103
|
};
|
119
104
|
};
|
105
|
+
export const fitRects = (fit, rect, {
|
106
|
+
x,
|
107
|
+
y,
|
108
|
+
width,
|
109
|
+
height
|
110
|
+
}) => {
|
111
|
+
"worklet";
|
112
|
+
|
113
|
+
const sizes = applyBoxFit(fit, {
|
114
|
+
width: rect.width,
|
115
|
+
height: rect.height
|
116
|
+
}, {
|
117
|
+
width,
|
118
|
+
height
|
119
|
+
});
|
120
|
+
const src = inscribe(sizes.src, rect);
|
121
|
+
const dst = inscribe(sizes.dst, {
|
122
|
+
x,
|
123
|
+
y,
|
124
|
+
width,
|
125
|
+
height
|
126
|
+
});
|
127
|
+
return {
|
128
|
+
src,
|
129
|
+
dst
|
130
|
+
};
|
131
|
+
};
|
120
132
|
//# sourceMappingURL=Fitting.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["exhaustiveCheck","size","width","height","rect2rect","src","dst","scaleX","scaleY","translateX","x","translateY","y","
|
1
|
+
{"version":3,"names":["exhaustiveCheck","size","width","height","rect2rect","src","dst","scaleX","scaleY","translateX","x","translateY","y","inscribe","rect","halfWidthDelta","halfHeightDelta","applyBoxFit","fit","input","output","Math","min","aspectRatio","fitRects","sizes"],"sources":["Fitting.ts"],"sourcesContent":["import { exhaustiveCheck } from \"../../../renderer/typeddash\";\nimport type { SkRect } from \"../../../skia/types\";\nimport type { Fit } from \"../../types\";\n\nexport interface Size {\n width: number;\n height: number;\n}\n\nexport const size = (width = 0, height = 0) => {\n \"worklet\";\n return { width, height };\n};\n\nexport const rect2rect = (\n src: SkRect,\n dst: SkRect\n): [\n { translateX: number },\n { translateY: number },\n { scaleX: number },\n { scaleY: number }\n] => {\n \"worklet\";\n const scaleX = dst.width / src.width;\n const scaleY = dst.height / src.height;\n const translateX = dst.x - src.x * scaleX;\n const translateY = dst.y - src.y * scaleY;\n return [{ translateX }, { translateY }, { scaleX }, { scaleY }];\n};\n\nconst inscribe = (\n { width, height }: Size,\n rect: { x: number; y: number; width: number; height: number }\n) => {\n \"worklet\";\n const halfWidthDelta = (rect.width - width) / 2.0;\n const halfHeightDelta = (rect.height - height) / 2.0;\n return {\n x: rect.x + halfWidthDelta,\n y: rect.y + halfHeightDelta,\n width,\n height,\n };\n};\n\nconst applyBoxFit = (fit: Fit, input: Size, output: Size) => {\n \"worklet\";\n let src = size(),\n dst = size();\n if (\n input.height <= 0.0 ||\n input.width <= 0.0 ||\n output.height <= 0.0 ||\n output.width <= 0.0\n ) {\n return { src, dst };\n }\n switch (fit) {\n case \"fill\":\n src = input;\n dst = output;\n break;\n case \"contain\":\n src = input;\n if (output.width / output.height > src.width / src.height) {\n dst = size((src.width * output.height) / src.height, output.height);\n } else {\n dst = size(output.width, (src.height * output.width) / src.width);\n }\n break;\n case \"cover\":\n if (output.width / output.height > input.width / input.height) {\n src = size(input.width, (input.width * output.height) / output.width);\n } else {\n src = size((input.height * output.width) / output.height, input.height);\n }\n dst = output;\n break;\n case \"fitWidth\":\n src = size(input.width, (input.width * output.height) / output.width);\n dst = size(output.width, (src.height * output.width) / src.width);\n break;\n case \"fitHeight\":\n src = size((input.height * output.width) / output.height, input.height);\n dst = size((src.width * output.height) / src.height, output.height);\n break;\n case \"none\":\n src = size(\n Math.min(input.width, output.width),\n Math.min(input.height, output.height)\n );\n dst = src;\n break;\n case \"scaleDown\":\n src = input;\n dst = input;\n const aspectRatio = input.width / input.height;\n if (dst.height > output.height) {\n dst = size(output.height * aspectRatio, output.height);\n }\n if (dst.width > output.width) {\n dst = size(output.width, output.width / aspectRatio);\n }\n break;\n default:\n exhaustiveCheck(fit);\n }\n return { src, dst };\n};\n\nexport const fitRects = (\n fit: Fit,\n rect: SkRect,\n { x, y, width, height }: SkRect\n) => {\n \"worklet\";\n const sizes = applyBoxFit(\n fit,\n { width: rect.width, height: rect.height },\n { width, height }\n );\n const src = inscribe(sizes.src, rect);\n const dst = inscribe(sizes.dst, {\n x,\n y,\n width,\n height,\n });\n return { src, dst };\n};\n"],"mappings":"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"}
|
@@ -1,9 +1,21 @@
|
|
1
|
+
import type { SharedValue } from "react-native-reanimated";
|
1
2
|
import type { SkImage } from "../../skia/types";
|
2
|
-
|
3
|
+
type Animated<T> = SharedValue<T> | T;
|
4
|
+
interface PlaybackOptions {
|
5
|
+
looping: Animated<boolean>;
|
6
|
+
paused: Animated<boolean>;
|
7
|
+
seek: Animated<number | null>;
|
8
|
+
volume: Animated<number>;
|
9
|
+
}
|
3
10
|
export declare const useVideo: (source: string | null, userOptions?: Partial<PlaybackOptions>) => {
|
4
|
-
currentFrame:
|
5
|
-
currentTime:
|
11
|
+
currentFrame: SharedValue<SkImage | null>;
|
12
|
+
currentTime: SharedValue<number>;
|
6
13
|
duration: number;
|
7
14
|
framerate: number;
|
8
|
-
|
15
|
+
rotation: import("../../skia/types").VideoRotation;
|
16
|
+
size: {
|
17
|
+
width: number;
|
18
|
+
height: number;
|
19
|
+
};
|
9
20
|
};
|
21
|
+
export {};
|