@shopify/react-native-skia 1.8.2 → 1.9.1
Sign up to get free protection for your applications and to get access to all the features.
- package/android/cpp/rnskia-android/MainThreadDispatcher.h +1 -1
- package/android/cpp/rnskia-android/OpenGLContext.h +4 -4
- package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +3 -3
- package/cpp/api/JsiSkCanvas.h +27 -25
- package/cpp/api/JsiSkImage.h +24 -0
- package/cpp/api/JsiSkPaint.h +1 -1
- package/cpp/rnskia/dom/nodes/JsiAtlasNode.h +5 -1
- package/cpp/rnskia/dom/nodes/JsiImageNode.h +8 -4
- package/cpp/rnskia/dom/nodes/JsiShaderNodes.h +9 -38
- package/cpp/rnskia/dom/props/SamplingProp.h +54 -0
- package/ios/RNSkia-iOS/SkiaManager.mm +2 -4
- package/lib/commonjs/dom/types/Drawings.d.ts +3 -1
- package/lib/commonjs/dom/types/Drawings.js.map +1 -1
- package/lib/commonjs/dom/types/Shaders.d.ts +2 -3
- package/lib/commonjs/dom/types/Shaders.js.map +1 -1
- package/lib/commonjs/renderer/components/image/ImageShader.d.ts +1 -1
- package/lib/commonjs/renderer/components/image/ImageShader.js +0 -4
- package/lib/commonjs/renderer/components/image/ImageShader.js.map +1 -1
- package/lib/commonjs/skia/types/Canvas.d.ts +2 -2
- package/lib/commonjs/skia/types/Canvas.js.map +1 -1
- package/lib/commonjs/skia/types/Image/Image.d.ts +18 -0
- package/lib/commonjs/skia/types/Image/Image.js +24 -1
- package/lib/commonjs/skia/types/Image/Image.js.map +1 -1
- package/lib/commonjs/skia/types/Picture/PictureRecorder.d.ts +2 -1
- package/lib/commonjs/skia/types/Picture/PictureRecorder.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +2 -2
- package/lib/commonjs/skia/web/JsiSkCanvas.js +15 -2
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/sksg/Container.d.ts +17 -14
- package/lib/commonjs/sksg/Container.js +59 -62
- package/lib/commonjs/sksg/Container.js.map +1 -1
- package/lib/commonjs/sksg/HostConfig.js +4 -9
- package/lib/commonjs/sksg/HostConfig.js.map +1 -1
- package/lib/commonjs/sksg/Reconciler.js +1 -2
- package/lib/commonjs/sksg/Reconciler.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/Core.d.ts +42 -37
- package/lib/commonjs/sksg/Recorder/Core.js +45 -38
- package/lib/commonjs/sksg/Recorder/Core.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/Player.js +4 -0
- package/lib/commonjs/sksg/Recorder/Player.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/Recorder.d.ts +15 -0
- package/lib/commonjs/sksg/Recorder/Recorder.js +23 -1
- package/lib/commonjs/sksg/Recorder/Recorder.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/Visitor.js +6 -0
- package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/commands/Drawing.js +11 -4
- package/lib/commonjs/sksg/Recorder/commands/Drawing.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/commands/Shaders.js +8 -3
- package/lib/commonjs/sksg/Recorder/commands/Shaders.js.map +1 -1
- package/lib/module/dom/types/Drawings.d.ts +3 -1
- package/lib/module/dom/types/Drawings.js.map +1 -1
- package/lib/module/dom/types/Shaders.d.ts +2 -3
- package/lib/module/dom/types/Shaders.js.map +1 -1
- package/lib/module/renderer/components/image/ImageShader.d.ts +1 -1
- package/lib/module/renderer/components/image/ImageShader.js +0 -4
- package/lib/module/renderer/components/image/ImageShader.js.map +1 -1
- package/lib/module/skia/types/Canvas.d.ts +2 -2
- package/lib/module/skia/types/Canvas.js.map +1 -1
- package/lib/module/skia/types/Image/Image.d.ts +18 -0
- package/lib/module/skia/types/Image/Image.js +21 -0
- package/lib/module/skia/types/Image/Image.js.map +1 -1
- package/lib/module/skia/types/Picture/PictureRecorder.d.ts +2 -1
- package/lib/module/skia/types/Picture/PictureRecorder.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.d.ts +2 -2
- package/lib/module/skia/web/JsiSkCanvas.js +15 -2
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/sksg/Container.d.ts +17 -14
- package/lib/module/sksg/Container.js +56 -60
- package/lib/module/sksg/Container.js.map +1 -1
- package/lib/module/sksg/HostConfig.js +4 -9
- package/lib/module/sksg/HostConfig.js.map +1 -1
- package/lib/module/sksg/Reconciler.js +2 -3
- package/lib/module/sksg/Reconciler.js.map +1 -1
- package/lib/module/sksg/Recorder/Core.d.ts +42 -37
- package/lib/module/sksg/Recorder/Core.js +43 -37
- package/lib/module/sksg/Recorder/Core.js.map +1 -1
- package/lib/module/sksg/Recorder/Player.js +5 -1
- package/lib/module/sksg/Recorder/Player.js.map +1 -1
- package/lib/module/sksg/Recorder/Recorder.d.ts +15 -0
- package/lib/module/sksg/Recorder/Recorder.js +23 -1
- package/lib/module/sksg/Recorder/Recorder.js.map +1 -1
- package/lib/module/sksg/Recorder/Visitor.js +6 -0
- package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
- package/lib/module/sksg/Recorder/commands/Drawing.js +12 -5
- package/lib/module/sksg/Recorder/commands/Drawing.js.map +1 -1
- package/lib/module/sksg/Recorder/commands/Shaders.js +9 -4
- package/lib/module/sksg/Recorder/commands/Shaders.js.map +1 -1
- package/lib/typescript/lib/commonjs/renderer/components/image/ImageShader.d.ts +1 -3
- package/lib/typescript/lib/commonjs/skia/types/Image/Image.d.ts +21 -0
- package/lib/typescript/lib/commonjs/skia/web/JsiSkCanvas.d.ts +1 -1
- package/lib/typescript/lib/commonjs/sksg/Container.d.ts +15 -10
- package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +4 -4
- package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +21 -2
- package/lib/typescript/lib/commonjs/sksg/Recorder/Core.d.ts +1 -0
- package/lib/typescript/lib/commonjs/sksg/Recorder/Recorder.d.ts +7 -0
- package/lib/typescript/lib/module/mock/index.d.ts +18 -3
- package/lib/typescript/lib/module/renderer/components/image/ImageShader.d.ts +1 -3
- package/lib/typescript/lib/module/skia/types/Image/Image.d.ts +21 -0
- package/lib/typescript/lib/module/skia/web/JsiSkCanvas.d.ts +1 -1
- package/lib/typescript/lib/module/sksg/Container.d.ts +15 -10
- package/lib/typescript/lib/module/sksg/HostConfig.d.ts +4 -4
- package/lib/typescript/lib/module/sksg/Reconciler.d.ts +21 -2
- package/lib/typescript/lib/module/sksg/Recorder/Core.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/Recorder/Recorder.d.ts +7 -0
- package/lib/typescript/src/dom/types/Drawings.d.ts +3 -1
- package/lib/typescript/src/dom/types/Shaders.d.ts +2 -3
- package/lib/typescript/src/renderer/components/image/ImageShader.d.ts +1 -1
- package/lib/typescript/src/skia/types/Canvas.d.ts +2 -2
- package/lib/typescript/src/skia/types/Image/Image.d.ts +18 -0
- package/lib/typescript/src/skia/types/Picture/PictureRecorder.d.ts +2 -1
- package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +2 -2
- package/lib/typescript/src/sksg/Container.d.ts +17 -14
- package/lib/typescript/src/sksg/Recorder/Core.d.ts +42 -37
- package/lib/typescript/src/sksg/Recorder/Recorder.d.ts +15 -0
- package/libs/apple/libskia.xcframework/Info.plist +35 -2
- package/libs/apple/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/tvos-arm64_arm64e/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/apple/libskottie.xcframework/Info.plist +36 -3
- package/libs/apple/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/apple/libskparagraph.xcframework/Info.plist +40 -7
- package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/apple/libsksg.xcframework/Info.plist +35 -2
- package/libs/apple/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/apple/libskshaper.xcframework/Info.plist +33 -0
- package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/Info.plist +36 -3
- package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/Info.plist +35 -2
- package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/tvos-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libsvg.xcframework/Info.plist +36 -3
- package/libs/apple/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/tvos-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +3 -2
- package/react-native-skia.podspec +2 -2
- package/src/__tests__/snapshots/animated-images/bird.png +0 -0
- package/src/__tests__/snapshots/demos/product.png +0 -0
- package/src/__tests__/snapshots/demos/product2.png +0 -0
- package/src/__tests__/snapshots/images/bundle-android.png +0 -0
- package/src/__tests__/snapshots/images/bundle-ios.png +0 -0
- package/src/__tests__/snapshots/images/bundle-node.png +0 -0
- package/src/__tests__/snapshots/images/filter.png +0 -0
- package/src/dom/types/Drawings.ts +3 -0
- package/src/dom/types/Shaders.ts +2 -4
- package/src/renderer/__tests__/e2e/Text.spec.tsx +1 -1
- package/src/renderer/components/image/ImageShader.tsx +2 -15
- package/src/skia/types/Canvas.ts +2 -3
- package/src/skia/types/Image/Image.ts +14 -0
- package/src/skia/types/Picture/PictureRecorder.ts +2 -1
- package/src/skia/web/JsiSkCanvas.ts +50 -29
- package/src/sksg/Container.ts +64 -68
- package/src/sksg/HostConfig.ts +4 -9
- package/src/sksg/Reconciler.ts +3 -3
- package/src/sksg/Recorder/Core.ts +10 -0
- package/src/sksg/Recorder/Player.ts +5 -1
- package/src/sksg/Recorder/Recorder.ts +36 -1
- package/src/sksg/Recorder/Visitor.ts +6 -0
- package/src/sksg/Recorder/commands/Drawing.ts +33 -4
- package/src/sksg/Recorder/commands/Shaders.ts +21 -8
- package/lib/commonjs/sksg/Recorder/Recording.d.ts +0 -7
- package/lib/commonjs/sksg/Recorder/Recording.js +0 -12
- package/lib/commonjs/sksg/Recorder/Recording.js.map +0 -1
- package/lib/module/sksg/Recorder/Recording.d.ts +0 -7
- package/lib/module/sksg/Recorder/Recording.js +0 -5
- package/lib/module/sksg/Recorder/Recording.js.map +0 -1
- package/lib/typescript/lib/commonjs/sksg/Recorder/Recording.d.ts +0 -5
- package/lib/typescript/lib/module/sksg/Recorder/Recording.d.ts +0 -4
- package/lib/typescript/src/sksg/Recorder/Recording.d.ts +0 -7
- package/src/sksg/Recorder/Recording.ts +0 -13
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.MipmapMode = exports.ImageFormat = exports.FilterMode = void 0;
|
6
|
+
exports.isCubicSampling = exports.MitchellCubicSampling = exports.MipmapMode = exports.MakeCubic = exports.ImageFormat = exports.FilterMode = exports.CubicSampling = exports.CatmullRomCubicSampling = void 0;
|
7
7
|
let FilterMode = exports.FilterMode = /*#__PURE__*/function (FilterMode) {
|
8
8
|
FilterMode[FilterMode["Nearest"] = 0] = "Nearest";
|
9
9
|
FilterMode[FilterMode["Linear"] = 1] = "Linear";
|
@@ -21,4 +21,27 @@ let ImageFormat = exports.ImageFormat = /*#__PURE__*/function (ImageFormat) {
|
|
21
21
|
ImageFormat[ImageFormat["WEBP"] = 6] = "WEBP";
|
22
22
|
return ImageFormat;
|
23
23
|
}({});
|
24
|
+
const isCubicSampling = sampling => {
|
25
|
+
"worklet";
|
26
|
+
|
27
|
+
return "B" in sampling && "C" in sampling;
|
28
|
+
};
|
29
|
+
exports.isCubicSampling = isCubicSampling;
|
30
|
+
const MitchellCubicSampling = exports.MitchellCubicSampling = {
|
31
|
+
B: 1 / 3.0,
|
32
|
+
C: 1 / 3.0
|
33
|
+
};
|
34
|
+
const CatmullRomCubicSampling = exports.CatmullRomCubicSampling = {
|
35
|
+
B: 0,
|
36
|
+
C: 1 / 2.0
|
37
|
+
};
|
38
|
+
const CubicSampling = exports.CubicSampling = {
|
39
|
+
B: 0,
|
40
|
+
C: 0
|
41
|
+
};
|
42
|
+
const MakeCubic = (B, C) => ({
|
43
|
+
B,
|
44
|
+
C
|
45
|
+
});
|
46
|
+
exports.MakeCubic = MakeCubic;
|
24
47
|
//# sourceMappingURL=Image.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["FilterMode","exports","MipmapMode","ImageFormat"],"sources":["Image.ts"],"sourcesContent":["import type { SkMatrix } from \"../Matrix\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { TileMode } from \"../ImageFilter\";\nimport type { SkShader } from \"../Shader\";\n\nimport type { ImageInfo } from \"./ImageFactory\";\n\nexport interface CubicResampler {\n B: number;\n C: number;\n}\n\nexport interface FilterOptions {\n filter: FilterMode;\n mipmap?: MipmapMode;\n}\n\nexport enum FilterMode {\n Nearest,\n Linear,\n}\n\nexport enum MipmapMode {\n None,\n Nearest,\n Linear,\n}\n\nexport enum ImageFormat {\n JPEG = 3,\n PNG = 4,\n WEBP = 6,\n}\n\nexport interface SkImage extends SkJSIInstance<\"Image\"> {\n /**\n * Returns the possibly scaled height of the image.\n */\n height(): number;\n\n /**\n * Returns the possibly scaled width of the image.\n */\n width(): number;\n\n /**\n * Returns the ImageInfo describing the image.\n */\n getImageInfo(): ImageInfo;\n\n /**\n * Returns the backend texture of the image.\n * The returned object can be used to create a Skia Image object.\n * The returned object is backend specific and should be used with caution.\n * It is the caller's responsibility to ensure that the texture is not used after the image is deleted.\n * The returned object may be null if the image does not have a backend texture.\n *\n * @return backend texture of the image or null\n */\n getNativeTextureUnstable(): unknown;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param fm - The filter mode. (default nearest)\n * @param mm - The mipmap mode. Note: for settings other than None, the image must have mipmaps (default none)\n * calculated with makeCopyWithDefaultMipmaps;\n * @param localMatrix\n */\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param B - See CubicResampler in SkSamplingOptions.h for more information\n * @param C - See CubicResampler in SkSamplingOptions.h for more information\n * @param localMatrix\n */\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /** Encodes Image pixels, returning result as UInt8Array. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return Uint8Array with data\n */\n encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;\n\n /** Encodes Image pixels, returning result as a base64 encoded string. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return base64 encoded string of data\n */\n encodeToBase64(fmt?: ImageFormat, quality?: number): string;\n\n /** Read Image pixels\n *\n * @param srcX - optional x-axis upper left corner of the rectangle to read from\n * @param srcY - optional y-axis upper left corner of the rectangle to read from\n * @param imageInfo - optional describes the pixel format and dimensions of the data to read into\n * @return Float32Array or Uint8Array with data or null if the read failed.\n */\n readPixels(\n srcX?: number,\n srcY?: number,\n imageInfo?: ImageInfo\n ): Float32Array | Uint8Array | null;\n\n /**\n * Returns raster image or lazy image. Copies SkImage backed by GPU texture\n * into CPU memory if needed. Returns original SkImage if decoded in raster\n * bitmap, or if encoded in a stream.\n */\n makeNonTextureImage(): SkImage;\n}\n"],"mappings":";;;;;;IAiBYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAKVE,UAAU,GAAAD,OAAA,CAAAC,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAMVC,WAAW,GAAAF,OAAA,CAAAE,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
|
1
|
+
{"version":3,"names":["FilterMode","exports","MipmapMode","ImageFormat","isCubicSampling","sampling","MitchellCubicSampling","B","C","CatmullRomCubicSampling","CubicSampling","MakeCubic"],"sources":["Image.ts"],"sourcesContent":["import type { SkMatrix } from \"../Matrix\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { TileMode } from \"../ImageFilter\";\nimport type { SkShader } from \"../Shader\";\n\nimport type { ImageInfo } from \"./ImageFactory\";\n\nexport interface CubicResampler {\n B: number;\n C: number;\n}\n\nexport interface FilterOptions {\n filter: FilterMode;\n mipmap?: MipmapMode;\n}\n\nexport enum FilterMode {\n Nearest,\n Linear,\n}\n\nexport enum MipmapMode {\n None,\n Nearest,\n Linear,\n}\n\nexport enum ImageFormat {\n JPEG = 3,\n PNG = 4,\n WEBP = 6,\n}\n\nexport type SamplingOptions = CubicResampler | FilterOptions;\n\nexport const isCubicSampling = (\n sampling: SamplingOptions\n): sampling is CubicResampler => {\n \"worklet\";\n return \"B\" in sampling && \"C\" in sampling;\n};\n\nexport const MitchellCubicSampling = { B: 1 / 3.0, C: 1 / 3.0 };\nexport const CatmullRomCubicSampling = { B: 0, C: 1 / 2.0 };\nexport const CubicSampling = { B: 0, C: 0 };\nexport const MakeCubic = (B: number, C: number) => ({ B, C });\n\nexport interface SkImage extends SkJSIInstance<\"Image\"> {\n /**\n * Returns the possibly scaled height of the image.\n */\n height(): number;\n\n /**\n * Returns the possibly scaled width of the image.\n */\n width(): number;\n\n /**\n * Returns the ImageInfo describing the image.\n */\n getImageInfo(): ImageInfo;\n\n /**\n * Returns the backend texture of the image.\n * The returned object can be used to create a Skia Image object.\n * The returned object is backend specific and should be used with caution.\n * It is the caller's responsibility to ensure that the texture is not used after the image is deleted.\n * The returned object may be null if the image does not have a backend texture.\n *\n * @return backend texture of the image or null\n */\n getNativeTextureUnstable(): unknown;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param fm - The filter mode. (default nearest)\n * @param mm - The mipmap mode. Note: for settings other than None, the image must have mipmaps (default none)\n * calculated with makeCopyWithDefaultMipmaps;\n * @param localMatrix\n */\n makeShaderOptions(\n tx: TileMode,\n ty: TileMode,\n fm: FilterMode,\n mm: MipmapMode,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /**\n * Returns this image as a shader with the specified tiling. It will use cubic sampling.\n * @param tx - tile mode in the x direction.\n * @param ty - tile mode in the y direction.\n * @param B - See CubicResampler in SkSamplingOptions.h for more information\n * @param C - See CubicResampler in SkSamplingOptions.h for more information\n * @param localMatrix\n */\n makeShaderCubic(\n tx: TileMode,\n ty: TileMode,\n B: number,\n C: number,\n localMatrix?: SkMatrix\n ): SkShader;\n\n /** Encodes Image pixels, returning result as UInt8Array. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return Uint8Array with data\n */\n encodeToBytes(fmt?: ImageFormat, quality?: number): Uint8Array;\n\n /** Encodes Image pixels, returning result as a base64 encoded string. Returns existing\n encoded data if present; otherwise, SkImage is encoded with\n SkEncodedImageFormat::kPNG. Skia must be built with SK_ENCODE_PNG to encode\n SkImage.\n\n Returns nullptr if existing encoded data is missing or invalid, and\n encoding fails.\n\n @param fmt - PNG is the default value.\n @param quality - a value from 0 to 100; 100 is the least lossy. May be ignored.\n\n @return base64 encoded string of data\n */\n encodeToBase64(fmt?: ImageFormat, quality?: number): string;\n\n /** Read Image pixels\n *\n * @param srcX - optional x-axis upper left corner of the rectangle to read from\n * @param srcY - optional y-axis upper left corner of the rectangle to read from\n * @param imageInfo - optional describes the pixel format and dimensions of the data to read into\n * @return Float32Array or Uint8Array with data or null if the read failed.\n */\n readPixels(\n srcX?: number,\n srcY?: number,\n imageInfo?: ImageInfo\n ): Float32Array | Uint8Array | null;\n\n /**\n * Returns raster image or lazy image. Copies SkImage backed by GPU texture\n * into CPU memory if needed. Returns original SkImage if decoded in raster\n * bitmap, or if encoded in a stream.\n */\n makeNonTextureImage(): SkImage;\n}\n"],"mappings":";;;;;;IAiBYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAKVE,UAAU,GAAAD,OAAA,CAAAC,UAAA,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAA,IAMVC,WAAW,GAAAF,OAAA,CAAAE,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAQhB,MAAMC,eAAe,GAC1BC,QAAyB,IACM;EAC/B,SAAS;;EACT,OAAO,GAAG,IAAIA,QAAQ,IAAI,GAAG,IAAIA,QAAQ;AAC3C,CAAC;AAACJ,OAAA,CAAAG,eAAA,GAAAA,eAAA;AAEK,MAAME,qBAAqB,GAAAL,OAAA,CAAAK,qBAAA,GAAG;EAAEC,CAAC,EAAE,CAAC,GAAG,GAAG;EAAEC,CAAC,EAAE,CAAC,GAAG;AAAI,CAAC;AACxD,MAAMC,uBAAuB,GAAAR,OAAA,CAAAQ,uBAAA,GAAG;EAAEF,CAAC,EAAE,CAAC;EAAEC,CAAC,EAAE,CAAC,GAAG;AAAI,CAAC;AACpD,MAAME,aAAa,GAAAT,OAAA,CAAAS,aAAA,GAAG;EAAEH,CAAC,EAAE,CAAC;EAAEC,CAAC,EAAE;AAAE,CAAC;AACpC,MAAMG,SAAS,GAAGA,CAACJ,CAAS,EAAEC,CAAS,MAAM;EAAED,CAAC;EAAEC;AAAE,CAAC,CAAC;AAACP,OAAA,CAAAU,SAAA,GAAAA,SAAA","ignoreList":[]}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import type { SkCanvas } from "../Canvas";
|
2
|
+
import type { SkJSIInstance } from "../JsiInstance";
|
2
3
|
import type { SkRect } from "../Rect";
|
3
4
|
import type { SkPicture } from "./Picture";
|
4
|
-
export interface SkPictureRecorder {
|
5
|
+
export interface SkPictureRecorder extends SkJSIInstance<"PictureRecorder"> {
|
5
6
|
/**
|
6
7
|
* Returns a canvas on which to draw. When done drawing, call finishRecordingAsPicture()
|
7
8
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["PictureRecorder.ts"],"sourcesContent":["import type { SkCanvas } from \"../Canvas\";\nimport type { SkRect } from \"../Rect\";\n\nimport type { SkPicture } from \"./Picture\";\n\nexport interface SkPictureRecorder {\n /**\n * Returns a canvas on which to draw. When done drawing, call finishRecordingAsPicture()\n *\n * @param bounds - a rect to cull the results.\n */\n beginRecording(bounds?: SkRect): SkCanvas;\n\n /**\n * Returns the captured draw commands as a picture and invalidates the canvas returned earlier.\n */\n finishRecordingAsPicture(): SkPicture;\n}\n"],"mappings":"","ignoreList":[]}
|
1
|
+
{"version":3,"names":[],"sources":["PictureRecorder.ts"],"sourcesContent":["import type { SkCanvas } from \"../Canvas\";\nimport type { SkJSIInstance } from \"../JsiInstance\";\nimport type { SkRect } from \"../Rect\";\n\nimport type { SkPicture } from \"./Picture\";\n\nexport interface SkPictureRecorder extends SkJSIInstance<\"PictureRecorder\"> {\n /**\n * Returns a canvas on which to draw. When done drawing, call finishRecordingAsPicture()\n *\n * @param bounds - a rect to cull the results.\n */\n beginRecording(bounds?: SkRect): SkCanvas;\n\n /**\n * Returns the captured draw commands as a picture and invalidates the canvas returned earlier.\n */\n finishRecordingAsPicture(): SkPicture;\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { Canvas, CanvasKit } from "canvaskit-wasm";
|
2
|
-
import type
|
2
|
+
import { type BlendMode, type ClipOp, type FilterMode, type MipmapMode, type PointMode, type SaveLayerFlag, type ImageInfo, type SkCanvas, type SkColor, type SkFont, type SkImage, type SkImageFilter, type SkMatrix, type SkPaint, type SkPath, type SkPicture, type SkPoint, type SkRect, type InputRRect, type SkSVG, type SkTextBlob, type SkVertices, type SkRSXform, type CubicResampler, type FilterOptions } from "../types";
|
3
3
|
import { HostObject } from "./Host";
|
4
4
|
export declare class JsiSkCanvas extends HostObject<Canvas, "Canvas"> implements SkCanvas {
|
5
5
|
constructor(CanvasKit: CanvasKit, ref: Canvas);
|
@@ -42,6 +42,6 @@ export declare class JsiSkCanvas extends HostObject<Canvas, "Canvas"> implements
|
|
42
42
|
clipRRect(rrect: InputRRect, op: ClipOp, doAntiAlias: boolean): void;
|
43
43
|
concat(m: SkMatrix | number[]): void;
|
44
44
|
drawPicture(skp: SkPicture): void;
|
45
|
-
drawAtlas(atlas: SkImage, srcs: SkRect[], dsts: SkRSXform[], paint: SkPaint, blendMode?: BlendMode, colors?: SkColor[],
|
45
|
+
drawAtlas(atlas: SkImage, srcs: SkRect[], dsts: SkRSXform[], paint: SkPaint, blendMode?: BlendMode, colors?: SkColor[], sampling?: CubicResampler | FilterOptions): void;
|
46
46
|
readPixels(srcX: number, srcY: number, imageInfo: ImageInfo): Float32Array | Uint8Array | null;
|
47
47
|
}
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.JsiSkCanvas = void 0;
|
7
|
+
var _types = require("../types");
|
7
8
|
var _Host = require("./Host");
|
8
9
|
var _JsiSkPaint = require("./JsiSkPaint");
|
9
10
|
var _JsiSkRect = require("./JsiSkRect");
|
@@ -149,7 +150,7 @@ class JsiSkCanvas extends _Host.HostObject {
|
|
149
150
|
drawPicture(skp) {
|
150
151
|
this.ref.drawPicture(_JsiSkPicture.JsiSkPicture.fromValue(skp));
|
151
152
|
}
|
152
|
-
drawAtlas(atlas, srcs, dsts, paint, blendMode, colors,
|
153
|
+
drawAtlas(atlas, srcs, dsts, paint, blendMode, colors, sampling) {
|
153
154
|
const src = srcs.flatMap(s => Array.from(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, s)));
|
154
155
|
const dst = dsts.flatMap(s => Array.from(_JsiSkRSXform.JsiSkRSXform.fromValue(s)));
|
155
156
|
let cls;
|
@@ -160,7 +161,19 @@ class JsiSkCanvas extends _Host.HostObject {
|
|
160
161
|
cls[i] = this.CanvasKit.ColorAsInt(r * 255, g * 255, b * 255, a * 255);
|
161
162
|
}
|
162
163
|
}
|
163
|
-
|
164
|
+
let ckSampling = {
|
165
|
+
filter: this.CanvasKit.FilterMode.Linear,
|
166
|
+
mipmap: this.CanvasKit.MipmapMode.None
|
167
|
+
};
|
168
|
+
if (sampling && (0, _types.isCubicSampling)(sampling)) {
|
169
|
+
ckSampling = sampling;
|
170
|
+
} else if (sampling) {
|
171
|
+
ckSampling = {
|
172
|
+
filter: (0, _Host.getEnum)(this.CanvasKit.FilterMode, sampling.filter),
|
173
|
+
mipmap: sampling.mipmap ? (0, _Host.getEnum)(this.CanvasKit.MipmapMode, sampling.mipmap) : this.CanvasKit.MipmapMode.None
|
174
|
+
};
|
175
|
+
}
|
176
|
+
this.ref.drawAtlas(_JsiSkImage.JsiSkImage.fromValue(atlas), src, dst, _JsiSkPaint.JsiSkPaint.fromValue(paint), blendMode ? (0, _Host.getEnum)(this.CanvasKit.BlendMode, blendMode) : this.CanvasKit.BlendMode.DstOver, cls, ckSampling);
|
164
177
|
}
|
165
178
|
readPixels(srcX, srcY, imageInfo) {
|
166
179
|
const pxInfo = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_Host","require","_JsiSkPaint","_JsiSkRect","_JsiSkRRect","_JsiSkImage","_JsiSkVertices","_JsiSkPath","_JsiSkFont","_JsiSkTextBlob","_JsiSkPicture","_JsiSkMatrix","_JsiSkImageFilter","_JsiSkPoint","_JsiSkRSXform","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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 type {\n BlendMode,\n ClipOp,\n FilterMode,\n MipmapMode,\n PointMode,\n SaveLayerFlag,\n ImageInfo,\n SkCanvas,\n SkColor,\n SkFont,\n SkImage,\n SkImageFilter,\n SkMatrix,\n SkPaint,\n SkPath,\n SkPicture,\n SkPoint,\n SkRect,\n InputRRect,\n SkSVG,\n SkTextBlob,\n SkVertices,\n SkRSXform,\n CubicResampler,\n 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":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_types","require","_Host","_JsiSkPaint","_JsiSkRect","_JsiSkRRect","_JsiSkImage","_JsiSkVertices","_JsiSkPath","_JsiSkFont","_JsiSkTextBlob","_JsiSkPicture","_JsiSkMatrix","_JsiSkImageFilter","_JsiSkPoint","_JsiSkRSXform","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","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","ckSampling","Linear","mipmap","None","isCubicSampling","DstOver","readPixels","srcX","srcY","imageInfo","pxInfo","width","height","colorSpace","ColorSpace","SRGB","alphaType","AlphaType","colorType","ColorType","exports"],"sources":["JsiSkCanvas.ts"],"sourcesContent":["import type {\n Canvas,\n CanvasKit,\n CubicResampler as CKCubicResampler,\n FilterOptions as CKFilterOptions,\n} 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 isCubicSampling,\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 let ckSampling: CKCubicResampler | CKFilterOptions = {\n filter: this.CanvasKit.FilterMode.Linear,\n mipmap: this.CanvasKit.MipmapMode.None,\n };\n if (sampling && isCubicSampling(sampling)) {\n ckSampling = sampling;\n } else if (sampling) {\n ckSampling = {\n filter: getEnum(this.CanvasKit.FilterMode, sampling.filter),\n mipmap: sampling.mipmap\n ? getEnum(this.CanvasKit.MipmapMode, sampling.mipmap)\n : this.CanvasKit.MipmapMode.None,\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 ckSampling\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":"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","ignoreList":[]}
|
@@ -1,20 +1,23 @@
|
|
1
1
|
import type { Skia, SkCanvas } from "../skia/types";
|
2
2
|
import type { Node } from "./Node";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
import type { Recording } from "./Recorder/Recorder";
|
4
|
+
export declare abstract class Container {
|
5
|
+
protected Skia: Skia;
|
6
|
+
protected nativeId: number;
|
7
|
+
root: Node[];
|
8
|
+
protected recording: Recording | null;
|
9
|
+
constructor(Skia: Skia, nativeId: number);
|
10
|
+
drawOnCanvas(canvas: SkCanvas): void;
|
11
|
+
abstract redraw(): void;
|
12
|
+
}
|
13
|
+
declare class StaticContainer extends Container {
|
14
|
+
constructor(Skia: Skia, nativeId: number);
|
15
|
+
redraw(): void;
|
16
|
+
}
|
17
|
+
declare class ReanimatedContainer extends Container {
|
10
18
|
private mapperId;
|
11
19
|
constructor(Skia: Skia, nativeId: number);
|
12
|
-
get root(): Node[];
|
13
|
-
set root(root: Node[]);
|
14
|
-
clear(): void;
|
15
20
|
redraw(): void;
|
16
|
-
getNativeId(): number;
|
17
|
-
unregisterValues(values: object): void;
|
18
|
-
registerValues(values: object): void;
|
19
|
-
drawOnCanvas(canvas: SkCanvas): void;
|
20
21
|
}
|
22
|
+
export declare const createContainer: (Skia: Skia, nativeId: number) => StaticContainer | ReanimatedContainer;
|
23
|
+
export {};
|
@@ -3,14 +3,13 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.Container = void 0;
|
6
|
+
exports.createContainer = exports.Container = void 0;
|
7
7
|
var _ReanimatedProxy = _interopRequireDefault(require("../external/reanimated/ReanimatedProxy"));
|
8
|
-
var
|
8
|
+
var _renderHelpers = require("../external/reanimated/renderHelpers");
|
9
9
|
var _Recorder = require("./Recorder/Recorder");
|
10
10
|
var _Visitor = require("./Recorder/Visitor");
|
11
11
|
var _Player = require("./Recorder/Player");
|
12
12
|
var _DrawingContext = require("./Recorder/DrawingContext");
|
13
|
-
var _Recording = require("./Recorder/Recording");
|
14
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
15
14
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
16
15
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
@@ -22,87 +21,85 @@ const drawOnscreen = (Skia, nativeId, recording) => {
|
|
22
21
|
const canvas = rec.beginRecording();
|
23
22
|
// const start = performance.now();
|
24
23
|
|
25
|
-
// TODO: because the pool is not a shared value here, it is copied on every frame
|
26
24
|
const ctx = (0, _DrawingContext.createDrawingContext)(Skia, recording.paintPool, canvas);
|
27
|
-
//console.log(recording.commands);
|
28
25
|
(0, _Player.replay)(ctx, recording.commands);
|
29
26
|
const picture = rec.finishRecordingAsPicture();
|
30
27
|
//const end = performance.now();
|
31
28
|
//console.log("Recording time: ", end - start);
|
32
29
|
SkiaViewApi.setJsiProperty(nativeId, "picture", picture);
|
30
|
+
rec.dispose();
|
31
|
+
picture.dispose();
|
33
32
|
};
|
34
33
|
class Container {
|
35
34
|
constructor(Skia, nativeId) {
|
36
35
|
this.Skia = Skia;
|
37
36
|
this.nativeId = nativeId;
|
38
|
-
_defineProperty(this, "
|
39
|
-
_defineProperty(this, "
|
40
|
-
_defineProperty(this, "unmounted", false);
|
41
|
-
_defineProperty(this, "values", new Set());
|
42
|
-
_defineProperty(this, "mapperId", null);
|
43
|
-
}
|
44
|
-
get root() {
|
45
|
-
return this._root;
|
37
|
+
_defineProperty(this, "root", []);
|
38
|
+
_defineProperty(this, "recording", null);
|
46
39
|
}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
if (this.mapperId !== null) {
|
51
|
-
_ReanimatedProxy.default.stopMapper(this.mapperId);
|
52
|
-
}
|
53
|
-
const {
|
54
|
-
nativeId,
|
55
|
-
Skia,
|
56
|
-
_recording
|
57
|
-
} = this;
|
58
|
-
this.mapperId = _ReanimatedProxy.default.startMapper(() => {
|
59
|
-
"worklet";
|
60
|
-
|
61
|
-
drawOnscreen(Skia, nativeId, _recording);
|
62
|
-
}, Array.from(this.values));
|
40
|
+
drawOnCanvas(canvas) {
|
41
|
+
if (!this.recording) {
|
42
|
+
throw new Error("No recording to draw");
|
63
43
|
}
|
64
|
-
this.
|
44
|
+
const ctx = (0, _DrawingContext.createDrawingContext)(this.Skia, this.recording.paintPool, canvas);
|
45
|
+
//console.log(this.recording.commands);
|
46
|
+
(0, _Player.replay)(ctx, this.recording.commands);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
exports.Container = Container;
|
50
|
+
class StaticContainer extends Container {
|
51
|
+
constructor(Skia, nativeId) {
|
52
|
+
super(Skia, nativeId);
|
53
|
+
}
|
54
|
+
redraw() {
|
65
55
|
const recorder = new _Recorder.Recorder();
|
66
|
-
(0, _Visitor.visit)(recorder, root);
|
67
|
-
this.
|
56
|
+
(0, _Visitor.visit)(recorder, this.root);
|
57
|
+
this.recording = recorder.getRecording();
|
58
|
+
const isOnScreen = this.nativeId !== -1;
|
59
|
+
if (isOnScreen) {
|
60
|
+
const rec = this.Skia.PictureRecorder();
|
61
|
+
const canvas = rec.beginRecording();
|
62
|
+
this.drawOnCanvas(canvas);
|
63
|
+
const picture = rec.finishRecordingAsPicture();
|
64
|
+
SkiaViewApi.setJsiProperty(this.nativeId, "picture", picture);
|
65
|
+
}
|
68
66
|
}
|
69
|
-
|
70
|
-
|
67
|
+
}
|
68
|
+
class ReanimatedContainer extends Container {
|
69
|
+
constructor(Skia, nativeId) {
|
70
|
+
super(Skia, nativeId);
|
71
|
+
_defineProperty(this, "mapperId", null);
|
71
72
|
}
|
72
73
|
redraw() {
|
73
|
-
|
74
|
-
|
74
|
+
if (this.mapperId !== null) {
|
75
|
+
_ReanimatedProxy.default.stopMapper(this.mapperId);
|
76
|
+
}
|
77
|
+
const recorder = new _Recorder.Recorder();
|
78
|
+
(0, _Visitor.visit)(recorder, this.root);
|
79
|
+
const record = recorder.getRecording();
|
80
|
+
const {
|
81
|
+
animationValues
|
82
|
+
} = record;
|
83
|
+
this.recording = {
|
84
|
+
commands: record.commands,
|
85
|
+
paintPool: record.paintPool
|
86
|
+
};
|
87
|
+
if (animationValues.size > 0) {
|
75
88
|
const {
|
76
89
|
nativeId,
|
77
90
|
Skia,
|
78
|
-
|
91
|
+
recording
|
79
92
|
} = this;
|
80
|
-
_ReanimatedProxy.default.
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
getNativeId() {
|
86
|
-
return this.nativeId;
|
87
|
-
}
|
88
|
-
unregisterValues(values) {
|
89
|
-
Object.values(values).filter(_utils.isSharedValue).forEach(value => {
|
90
|
-
this.values.delete(value);
|
91
|
-
});
|
92
|
-
}
|
93
|
-
registerValues(values) {
|
94
|
-
Object.values(values).filter(_utils.isSharedValue).forEach(value => {
|
95
|
-
this.values.add(value);
|
96
|
-
});
|
97
|
-
}
|
98
|
-
drawOnCanvas(canvas) {
|
99
|
-
if (!this._recording) {
|
100
|
-
throw new Error("No recording to draw");
|
93
|
+
this.mapperId = _ReanimatedProxy.default.startMapper(() => {
|
94
|
+
"worklet";
|
95
|
+
|
96
|
+
drawOnscreen(Skia, nativeId, recording);
|
97
|
+
}, Array.from(animationValues));
|
101
98
|
}
|
102
|
-
const ctx = (0, _DrawingContext.createDrawingContext)(this.Skia, this._recording.paintPool, canvas);
|
103
|
-
//console.log(this._recording);
|
104
|
-
(0, _Player.replay)(ctx, this._recording.commands);
|
105
99
|
}
|
106
100
|
}
|
107
|
-
|
101
|
+
const createContainer = (Skia, nativeId) => {
|
102
|
+
return _renderHelpers.HAS_REANIMATED_3 && nativeId !== -1 ? new ReanimatedContainer(Skia, nativeId) : new StaticContainer(Skia, nativeId);
|
103
|
+
};
|
104
|
+
exports.createContainer = createContainer;
|
108
105
|
//# sourceMappingURL=Container.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_ReanimatedProxy","_interopRequireDefault","require","
|
1
|
+
{"version":3,"names":["_ReanimatedProxy","_interopRequireDefault","require","_renderHelpers","_Recorder","_Visitor","_Player","_DrawingContext","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","drawOnscreen","Skia","nativeId","recording","rec","PictureRecorder","canvas","beginRecording","ctx","createDrawingContext","paintPool","replay","commands","picture","finishRecordingAsPicture","SkiaViewApi","setJsiProperty","dispose","Container","constructor","drawOnCanvas","Error","exports","StaticContainer","redraw","recorder","Recorder","visit","root","getRecording","isOnScreen","ReanimatedContainer","mapperId","Rea","stopMapper","record","animationValues","size","startMapper","Array","from","createContainer","HAS_REANIMATED_3"],"sources":["Container.ts"],"sourcesContent":["import Rea from \"../external/reanimated/ReanimatedProxy\";\nimport type { Skia, SkCanvas } from \"../skia/types\";\nimport { HAS_REANIMATED_3 } from \"../external/reanimated/renderHelpers\";\n\nimport type { Node } from \"./Node\";\nimport type { Recording } from \"./Recorder/Recorder\";\nimport { Recorder } from \"./Recorder/Recorder\";\nimport { visit } from \"./Recorder/Visitor\";\nimport { replay } from \"./Recorder/Player\";\nimport { createDrawingContext } from \"./Recorder/DrawingContext\";\n\nconst drawOnscreen = (Skia: Skia, nativeId: number, recording: Recording) => {\n \"worklet\";\n\n const rec = Skia.PictureRecorder();\n const canvas = rec.beginRecording();\n // const start = performance.now();\n\n const ctx = createDrawingContext(Skia, recording.paintPool, canvas);\n replay(ctx, recording.commands);\n const picture = rec.finishRecordingAsPicture();\n //const end = performance.now();\n //console.log(\"Recording time: \", end - start);\n SkiaViewApi.setJsiProperty(nativeId, \"picture\", picture);\n rec.dispose();\n picture.dispose();\n};\n\nexport abstract class Container {\n public root: Node[] = [];\n protected recording: Recording | null = null;\n\n constructor(protected Skia: Skia, protected nativeId: number) {}\n\n drawOnCanvas(canvas: SkCanvas) {\n if (!this.recording) {\n throw new Error(\"No recording to draw\");\n }\n const ctx = createDrawingContext(\n this.Skia,\n this.recording.paintPool,\n canvas\n );\n //console.log(this.recording.commands);\n replay(ctx, this.recording.commands);\n }\n\n abstract redraw(): void;\n}\n\nclass StaticContainer extends Container {\n constructor(Skia: Skia, nativeId: number) {\n super(Skia, nativeId);\n }\n\n redraw() {\n const recorder = new Recorder();\n visit(recorder, this.root);\n this.recording = recorder.getRecording();\n const isOnScreen = this.nativeId !== -1;\n if (isOnScreen) {\n const rec = this.Skia.PictureRecorder();\n const canvas = rec.beginRecording();\n this.drawOnCanvas(canvas);\n const picture = rec.finishRecordingAsPicture();\n SkiaViewApi.setJsiProperty(this.nativeId, \"picture\", picture);\n }\n }\n}\n\nclass ReanimatedContainer extends Container {\n private mapperId: number | null = null;\n\n constructor(Skia: Skia, nativeId: number) {\n super(Skia, nativeId);\n }\n\n redraw() {\n if (this.mapperId !== null) {\n Rea.stopMapper(this.mapperId);\n }\n const recorder = new Recorder();\n visit(recorder, this.root);\n const record = recorder.getRecording();\n const { animationValues } = record;\n this.recording = {\n commands: record.commands,\n paintPool: record.paintPool,\n };\n if (animationValues.size > 0) {\n const { nativeId, Skia, recording } = this;\n this.mapperId = Rea.startMapper(() => {\n \"worklet\";\n drawOnscreen(Skia, nativeId, recording!);\n }, Array.from(animationValues));\n }\n }\n}\n\nexport const createContainer = (Skia: Skia, nativeId: number) => {\n return HAS_REANIMATED_3 && nativeId !== -1\n ? new ReanimatedContainer(Skia, nativeId)\n : new StaticContainer(Skia, nativeId);\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -43,14 +43,13 @@ const sksgHostConfig = exports.sksgHostConfig = {
|
|
43
43
|
// return SpanNode({}, text) as SkNode;
|
44
44
|
throw new Error("Text nodes are not supported yet");
|
45
45
|
},
|
46
|
-
createInstance(type, propsWithChildren,
|
46
|
+
createInstance(type, propsWithChildren, _container, _hostContext, _internalInstanceHandle) {
|
47
47
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
48
48
|
const {
|
49
49
|
children,
|
50
50
|
...props
|
51
51
|
} = propsWithChildren;
|
52
52
|
debug("createInstance", type);
|
53
|
-
container.registerValues(props);
|
54
53
|
const instance = {
|
55
54
|
type,
|
56
55
|
props,
|
@@ -69,7 +68,7 @@ const sksgHostConfig = exports.sksgHostConfig = {
|
|
69
68
|
// if finalizeInitialChildren = true
|
70
69
|
debug("commitMount");
|
71
70
|
},
|
72
|
-
prepareForCommit(
|
71
|
+
prepareForCommit(_container) {
|
73
72
|
debug("prepareForCommit");
|
74
73
|
return null;
|
75
74
|
},
|
@@ -84,9 +83,8 @@ const sksgHostConfig = exports.sksgHostConfig = {
|
|
84
83
|
commitTextUpdate: (_textInstance, _oldText, _newText) => {
|
85
84
|
// textInstance.instance = newText;
|
86
85
|
},
|
87
|
-
clearContainer:
|
86
|
+
clearContainer: _container => {
|
88
87
|
debug("clearContainer");
|
89
|
-
container.clear();
|
90
88
|
},
|
91
89
|
prepareUpdate(_instance, _type, oldProps, newProps, container, _hostContext) {
|
92
90
|
debug("prepareUpdate");
|
@@ -94,8 +92,6 @@ const sksgHostConfig = exports.sksgHostConfig = {
|
|
94
92
|
if (propsAreEqual) {
|
95
93
|
return null;
|
96
94
|
}
|
97
|
-
container.unregisterValues(oldProps);
|
98
|
-
container.registerValues(newProps);
|
99
95
|
return container;
|
100
96
|
},
|
101
97
|
preparePortalMount: () => {
|
@@ -121,7 +117,6 @@ const sksgHostConfig = exports.sksgHostConfig = {
|
|
121
117
|
container.root = newChildren;
|
122
118
|
},
|
123
119
|
replaceContainerChildren(container, newChildren) {
|
124
|
-
debug("replaceContainerChildren");
|
125
120
|
container.root = newChildren;
|
126
121
|
},
|
127
122
|
cloneHiddenInstance(_instance, _type, _props) {
|
@@ -136,7 +131,7 @@ const sksgHostConfig = exports.sksgHostConfig = {
|
|
136
131
|
getCurrentEventPriority: () => _constants.DefaultEventPriority,
|
137
132
|
beforeActiveInstanceBlur: () => {},
|
138
133
|
afterActiveInstanceBlur: () => {},
|
139
|
-
detachDeletedInstance:
|
134
|
+
detachDeletedInstance: _node => {},
|
140
135
|
getInstanceFromNode: function (_node) {
|
141
136
|
throw new Error("Function not implemented.");
|
142
137
|
},
|