@shopify/react-native-skia 1.3.12 → 1.3.13
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/commonjs/__tests__/globalSetup.d.ts +9 -0
- package/lib/commonjs/__tests__/globalTeardown.d.ts +2 -0
- package/lib/commonjs/__tests__/setup.d.ts +18 -0
- package/lib/commonjs/dom/__tests__/Compose.spec.d.ts +1 -0
- package/lib/commonjs/dom/__tests__/Demos.spec.d.ts +1 -0
- package/lib/commonjs/dom/__tests__/DrawingContext.spec.d.ts +1 -0
- package/lib/commonjs/dom/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/commonjs/dom/__tests__/Group.spec.d.ts +1 -0
- package/lib/commonjs/dom/__tests__/Paint.spec.d.ts +1 -0
- package/lib/commonjs/dom/__tests__/RenderNodes.spec.d.ts +1 -0
- package/lib/commonjs/dom/__tests__/Shaders.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Data.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/FitBox.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Glyphs.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Image.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Paths.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Picture.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Simple.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/SkiaDOM.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Surfaces.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Text.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/TouchHandler.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/Transform.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/documentation/Group.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/documentation/paint/Overview.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/documentation/shapes/Box.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Atlas.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Blending.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Blur.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Box.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/ColorFilters.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/CoonPatch.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/DataEncoding.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Drawings.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/FontMgr.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Gradient.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Group.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Image.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/ImageFilters.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Mask.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Matrix4.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Offscreen.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Opacity.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Paint.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Paragraphs.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/PathEffects.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Paths.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Picture.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Point.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Rect.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/SDF.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/SVG.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Shader.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Snapshot.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Surfaces.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Text.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/TextPath.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Transforms.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Vertices.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/Video.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +19 -0
- package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +12 -0
- package/lib/commonjs/renderer/__tests__/e2e/setup/SkiaObject.d.ts +11 -0
- package/lib/commonjs/renderer/__tests__/e2e/setup/index.d.ts +3 -0
- package/lib/commonjs/renderer/__tests__/examples/BlendModes.spec.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/setup.d.ts +66 -0
- package/lib/commonjs/skia/__tests__/ColorFilter.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Data.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Enums.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Geometry.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/ImageFilter.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Mock.spec.d.ts +0 -0
- package/lib/commonjs/skia/__tests__/Paint.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Path.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/RuntimeEffect.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Shader.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Text.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Transform.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/Vertices.spec.d.ts +1 -0
- package/lib/commonjs/skia/__tests__/setup.d.ts +19 -0
- package/lib/module/__tests__/globalSetup.d.ts +9 -0
- package/lib/module/__tests__/globalTeardown.d.ts +2 -0
- package/lib/module/__tests__/setup.d.ts +18 -0
- package/lib/module/dom/__tests__/Compose.spec.d.ts +1 -0
- package/lib/module/dom/__tests__/Demos.spec.d.ts +1 -0
- package/lib/module/dom/__tests__/DrawingContext.spec.d.ts +1 -0
- package/lib/module/dom/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/module/dom/__tests__/Group.spec.d.ts +1 -0
- package/lib/module/dom/__tests__/Paint.spec.d.ts +1 -0
- package/lib/module/dom/__tests__/RenderNodes.spec.d.ts +1 -0
- package/lib/module/dom/__tests__/Shaders.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Data.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/FitBox.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Glyphs.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Image.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Paths.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Picture.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Simple.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/SkiaDOM.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Surfaces.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Text.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/TouchHandler.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/Transform.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/documentation/Group.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/documentation/paint/Overview.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/documentation/shapes/Box.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Atlas.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Blending.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Blur.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Box.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/ColorFilters.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/CoonPatch.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/DataEncoding.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Drawings.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/FontMgr.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Gradient.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Group.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Image.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/ImageFilters.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Mask.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Matrix4.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Offscreen.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Opacity.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Paint.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Paragraphs.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/PathEffects.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Paths.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Picture.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Point.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Rect.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/SDF.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/SVG.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Shader.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Snapshot.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Surfaces.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Text.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/TextPath.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Transforms.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Vertices.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/Video.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +19 -0
- package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +12 -0
- package/lib/module/renderer/__tests__/e2e/setup/SkiaObject.d.ts +11 -0
- package/lib/module/renderer/__tests__/e2e/setup/index.d.ts +3 -0
- package/lib/module/renderer/__tests__/examples/BlendModes.spec.d.ts +1 -0
- package/lib/module/renderer/__tests__/setup.d.ts +66 -0
- package/lib/module/skia/__tests__/ColorFilter.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Data.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Enums.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Geometry.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/ImageFilter.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Mock.spec.d.ts +0 -0
- package/lib/module/skia/__tests__/Paint.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Path.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/RuntimeEffect.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Shader.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Text.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Transform.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/Vertices.spec.d.ts +1 -0
- package/lib/module/skia/__tests__/setup.d.ts +19 -0
- package/lib/typescript/src/__tests__/globalSetup.d.ts +9 -0
- package/lib/typescript/src/__tests__/globalTeardown.d.ts +2 -0
- package/lib/typescript/src/__tests__/setup.d.ts +18 -0
- package/lib/typescript/src/dom/__tests__/Compose.spec.d.ts +1 -0
- package/lib/typescript/src/dom/__tests__/Demos.spec.d.ts +1 -0
- package/lib/typescript/src/dom/__tests__/DrawingContext.spec.d.ts +1 -0
- package/lib/typescript/src/dom/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/typescript/src/dom/__tests__/Group.spec.d.ts +1 -0
- package/lib/typescript/src/dom/__tests__/Paint.spec.d.ts +1 -0
- package/lib/typescript/src/dom/__tests__/RenderNodes.spec.d.ts +1 -0
- package/lib/typescript/src/dom/__tests__/Shaders.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Data.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/FitBox.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Glyphs.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Image.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Paths.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Picture.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Simple.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/SkiaDOM.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Surfaces.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Text.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/TouchHandler.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/Transform.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/documentation/Group.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/documentation/paint/Overview.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/documentation/shapes/Box.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/AnimatedImages.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Atlas.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/BackdropFilters.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Blending.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Blur.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Box.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/ColorFilters.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/CoonPatch.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/DataEncoding.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Drawings.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/FontMgr.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Gradient.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Group.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Image.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/ImageEncoding.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/ImageFilters.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Mask.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Matrix4.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/NativeBuffer.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Offscreen.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Opacity.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Paint.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/ParagraphPaint.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Paragraphs.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/PathEffects.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Paths.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Picture.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Point.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Rect.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/RuntimeShader.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/SDF.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/SVG.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Shader.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Snapshot.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Surfaces.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Text.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/TextPath.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Transforms.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Vertices.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/Video.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +19 -0
- package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +12 -0
- package/lib/typescript/src/renderer/__tests__/e2e/setup/SkiaObject.d.ts +11 -0
- package/lib/typescript/src/renderer/__tests__/e2e/setup/index.d.ts +3 -0
- package/lib/typescript/src/renderer/__tests__/examples/BlendModes.spec.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/setup.d.ts +66 -0
- package/lib/typescript/src/skia/__tests__/ColorFilter.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Data.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Drawings.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Enums.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Geometry.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/ImageFilter.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Mock.spec.d.ts +0 -0
- package/lib/typescript/src/skia/__tests__/Paint.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Path.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/RuntimeEffect.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Shader.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Text.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Transform.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/Vertices.spec.d.ts +1 -0
- package/lib/typescript/src/skia/__tests__/setup.d.ts +19 -0
- package/libs/ios/libskia.xcframework/Info.plist +46 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/ios/libskottie.xcframework/Info.plist +46 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libskparagraph.xcframework/Info.plist +46 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/ios/libsksg.xcframework/Info.plist +46 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/ios/libskshaper.xcframework/Info.plist +46 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/ios/libskunicode.xcframework/Info.plist +46 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
- package/libs/ios/libsvg.xcframework/Info.plist +46 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +11 -14
- package/src/__tests__/globalSetup.ts +51 -0
- package/src/__tests__/globalTeardown.ts +11 -0
- package/src/__tests__/setup.ts +129 -0
- package/src/__tests__/snapshots/animated-images/bird.png +0 -0
- package/src/__tests__/snapshots/animations/green.png +0 -0
- package/src/__tests__/snapshots/animations/lightblue.png +0 -0
- package/src/__tests__/snapshots/animations/quarter-lightblue.png +0 -0
- package/src/__tests__/snapshots/animations/red.png +0 -0
- package/src/__tests__/snapshots/atlas/identity.png +0 -0
- package/src/__tests__/snapshots/atlas/rsxform.png +0 -0
- package/src/__tests__/snapshots/atlas/rsxform1.png +0 -0
- package/src/__tests__/snapshots/atlas/simple.png +0 -0
- package/src/__tests__/snapshots/atlas/simple2.png +0 -0
- package/src/__tests__/snapshots/box/box-shadow.png +0 -0
- package/src/__tests__/snapshots/box/box-shadow2.png +0 -0
- package/src/__tests__/snapshots/box/box-shadow3.png +0 -0
- package/src/__tests__/snapshots/box/box-stroke.png +0 -0
- package/src/__tests__/snapshots/color-filter/color-filter-composition.png +0 -0
- package/src/__tests__/snapshots/color-filter/matrix1.png +0 -0
- package/src/__tests__/snapshots/color-filter/matrix3.png +0 -0
- package/src/__tests__/snapshots/color-filter/zurich-sepia.png +0 -0
- package/src/__tests__/snapshots/coons-patch/patch-with-opacity.png +0 -0
- package/src/__tests__/snapshots/coons-patch/simple.png +0 -0
- package/src/__tests__/snapshots/cyan-buffer.png +0 -0
- package/src/__tests__/snapshots/data/oslo.png +0 -0
- package/src/__tests__/snapshots/data/red.png +0 -0
- package/src/__tests__/snapshots/data/zurich.png +0 -0
- package/src/__tests__/snapshots/demos/apple-breathe.png +0 -0
- package/src/__tests__/snapshots/demos/apple-breathe1.png +0 -0
- package/src/__tests__/snapshots/demos/breathe.png +0 -0
- package/src/__tests__/snapshots/demos/breathe2.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/demos/skia-neon.png +0 -0
- package/src/__tests__/snapshots/demos/skia-neon1.png +0 -0
- package/src/__tests__/snapshots/drawings/arc.png +0 -0
- package/src/__tests__/snapshots/drawings/blend-mode-multiply.png +0 -0
- package/src/__tests__/snapshots/drawings/blend-modes.png +0 -0
- package/src/__tests__/snapshots/drawings/blur-node.png +0 -0
- package/src/__tests__/snapshots/drawings/blur.png +0 -0
- package/src/__tests__/snapshots/drawings/blur2.png +0 -0
- package/src/__tests__/snapshots/drawings/custom-drawing.png +0 -0
- package/src/__tests__/snapshots/drawings/cyan-circle.png +0 -0
- package/src/__tests__/snapshots/drawings/cyan.png +0 -0
- package/src/__tests__/snapshots/drawings/default-props.png +0 -0
- package/src/__tests__/snapshots/drawings/hello-world.png +0 -0
- package/src/__tests__/snapshots/drawings/image-default-props.png +0 -0
- package/src/__tests__/snapshots/drawings/lightblue-quarter-circle.png +0 -0
- package/src/__tests__/snapshots/drawings/lightblue-rect.png +0 -0
- package/src/__tests__/snapshots/drawings/line.png +0 -0
- package/src/__tests__/snapshots/drawings/multiple-paints.png +0 -0
- package/src/__tests__/snapshots/drawings/nested-shader.png +0 -0
- package/src/__tests__/snapshots/drawings/nested-shader2.png +0 -0
- package/src/__tests__/snapshots/drawings/opacity-image.png +0 -0
- package/src/__tests__/snapshots/drawings/opacity-multiplication.png +0 -0
- package/src/__tests__/snapshots/drawings/opacity-multiplication2.png +0 -0
- package/src/__tests__/snapshots/drawings/points.png +0 -0
- package/src/__tests__/snapshots/drawings/purple.png +0 -0
- package/src/__tests__/snapshots/drawings/rotated-image.png +0 -0
- package/src/__tests__/snapshots/drawings/rotated-scaled-image.png +0 -0
- package/src/__tests__/snapshots/drawings/rrect-aa.png +0 -0
- package/src/__tests__/snapshots/drawings/rrect-no-aa.png +0 -0
- package/src/__tests__/snapshots/drawings/scaled-image.png +0 -0
- package/src/__tests__/snapshots/drawings/scaled-image2.png +0 -0
- package/src/__tests__/snapshots/drawings/shader-opacity-reference.png +0 -0
- package/src/__tests__/snapshots/drawings/skew-transform.png +0 -0
- package/src/__tests__/snapshots/drawings/skew-transform2.png +0 -0
- package/src/__tests__/snapshots/drawings/small-lightblue-rect.png +0 -0
- package/src/__tests__/snapshots/drawings/stroke.png +0 -0
- package/src/__tests__/snapshots/drawings/transform-origin.png +0 -0
- package/src/__tests__/snapshots/drawings/transparent.png +0 -0
- package/src/__tests__/snapshots/drawings/violet.png +0 -0
- package/src/__tests__/snapshots/font/green.png +0 -0
- package/src/__tests__/snapshots/font/red.png +0 -0
- package/src/__tests__/snapshots/glyphs/simple.png +0 -0
- package/src/__tests__/snapshots/gradient/linear-with-opacity.png +0 -0
- package/src/__tests__/snapshots/gradient/linear.png +0 -0
- package/src/__tests__/snapshots/green.png +0 -0
- package/src/__tests__/snapshots/image-filter/blur.png +0 -0
- package/src/__tests__/snapshots/image-filter/test-shadow.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/bundle.png +0 -0
- package/src/__tests__/snapshots/images/filter.png +0 -0
- package/src/__tests__/snapshots/leak.png +0 -0
- package/src/__tests__/snapshots/matrix4/perspective.png +0 -0
- package/src/__tests__/snapshots/paint/blend-mode.png +0 -0
- package/src/__tests__/snapshots/paint/circle.png +0 -0
- package/src/__tests__/snapshots/paint/colors.png +0 -0
- package/src/__tests__/snapshots/paint/dither.png +0 -0
- package/src/__tests__/snapshots/paint/path-paint.png +0 -0
- package/src/__tests__/snapshots/paint/without-dither.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-auto-linebreaks-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-auto-linebreaks-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-bounding-box-node.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-ellipse-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-ellipse-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-linebreaks-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-linebreaks-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-center-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-center-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-justify-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-justify-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-left-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-left-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-right-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-right-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-rtl-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-align-rtl-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-colors-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-colors-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-decoration-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-decoration-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-shadow-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-shadow-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-android-box.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-ios-box.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-font-style-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-in-paragraph-style-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/paragraph-text-style-in-paragraph-style-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/simple-paragraph-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/simple-paragraph-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-android.png +0 -0
- package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-ios.png +0 -0
- package/src/__tests__/snapshots/paragraph/simple-paragraph-with-provider-node.png +0 -0
- package/src/__tests__/snapshots/path/interpolate.png +0 -0
- package/src/__tests__/snapshots/path/logo.png +0 -0
- package/src/__tests__/snapshots/path-effects/discrete.png +0 -0
- package/src/__tests__/snapshots/path-effects/sum.png +0 -0
- package/src/__tests__/snapshots/path-effects/sum2.png +0 -0
- package/src/__tests__/snapshots/paths/arc.png +0 -0
- package/src/__tests__/snapshots/paths/emptyPath.png +0 -0
- package/src/__tests__/snapshots/paths/interpolation1.png +0 -0
- package/src/__tests__/snapshots/paths/oval.png +0 -0
- package/src/__tests__/snapshots/paths/pattern.png +0 -0
- package/src/__tests__/snapshots/paths/poly.png +0 -0
- package/src/__tests__/snapshots/paths/rrect.png +0 -0
- package/src/__tests__/snapshots/paths/skia-trimmed.png +0 -0
- package/src/__tests__/snapshots/paths/skia.png +0 -0
- package/src/__tests__/snapshots/pictures/create-picture.png +0 -0
- package/src/__tests__/snapshots/pictures/green.png +0 -0
- package/src/__tests__/snapshots/pictures/hello-world.png +0 -0
- package/src/__tests__/snapshots/pictures/red.png +0 -0
- package/src/__tests__/snapshots/pictures/simple-picture.png +0 -0
- package/src/__tests__/snapshots/platform-buffer-bgra.png +0 -0
- package/src/__tests__/snapshots/platform-buffer.png +0 -0
- package/src/__tests__/snapshots/points/points.png +0 -0
- package/src/__tests__/snapshots/points/points2.png +0 -0
- package/src/__tests__/snapshots/render-nodes/simple.png +0 -0
- package/src/__tests__/snapshots/render-nodes/simple2.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/blend-color-burn.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/blend-color-burn2.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/blend-color-burn3.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/blend-color-dodge.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/blend-multiply.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/int-uniform.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/linear-gradient.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/linear-gradient2.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/small-spiral.png +0 -0
- package/src/__tests__/snapshots/runtime-effects/spiral.png +0 -0
- package/src/__tests__/snapshots/runtime-shader/scaled-circle.png +0 -0
- package/src/__tests__/snapshots/runtime-shader/scaled-circle2.png +0 -0
- package/src/__tests__/snapshots/runtime-shader/simple.png +0 -0
- package/src/__tests__/snapshots/runtime-shader/spiral.png +0 -0
- package/src/__tests__/snapshots/runtime-shader/unscaled-image.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot1-android-ci.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot1-android.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot1-ios.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot2-android-ci.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot2-android.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot2-ios.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot3-android-ci.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot3-android.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot3-ios.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot4-android-ci.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot4-android.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot4-ios.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot5-android.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot5-ios.png +0 -0
- package/src/__tests__/snapshots/sdf/circle.png +0 -0
- package/src/__tests__/snapshots/sdf/heart.png +0 -0
- package/src/__tests__/snapshots/sdf/line.png +0 -0
- package/src/__tests__/snapshots/sdf/rectangle.png +0 -0
- package/src/__tests__/snapshots/shader/bilinear-interpolation.png +0 -0
- package/src/__tests__/snapshots/shader/hue.png +0 -0
- package/src/__tests__/snapshots/shader/hue2.png +0 -0
- package/src/__tests__/snapshots/shader/shader1.png +0 -0
- package/src/__tests__/snapshots/shader/shader2.png +0 -0
- package/src/__tests__/snapshots/shader/sweep-gradient.png +0 -0
- package/src/__tests__/snapshots/text/text-bounds-android.png +0 -0
- package/src/__tests__/snapshots/text/text-bounds-ios.png +0 -0
- package/src/__tests__/snapshots/text/text-default-font-android.png +0 -0
- package/src/__tests__/snapshots/text/text-default-font-ios.png +0 -0
- package/src/__tests__/snapshots/text/text-path-bug-android.png +0 -0
- package/src/__tests__/snapshots/text/text-path-bug-ios.png +0 -0
- package/src/__tests__/snapshots/text/text-path-bug-node.png +0 -0
- package/src/__tests__/snapshots/text/text-path1-android.png +0 -0
- package/src/__tests__/snapshots/text/text-path1-ios.png +0 -0
- package/src/__tests__/snapshots/text/text-path1-node.png +0 -0
- package/src/__tests__/snapshots/text/text-path2-android.png +0 -0
- package/src/__tests__/snapshots/text/text-path2-ios.png +0 -0
- package/src/__tests__/snapshots/text/text-path2-node.png +0 -0
- package/src/__tests__/snapshots/transform/rectangles.png +0 -0
- package/src/__tests__/snapshots/transform/rotate-radiants.png +0 -0
- package/src/__tests__/snapshots/transform/rotate.png +0 -0
- package/src/__tests__/snapshots/transform/scale-origin.png +0 -0
- package/src/__tests__/snapshots/transform/scale.png +0 -0
- package/src/__tests__/snapshots/transform/skew.png +0 -0
- package/src/__tests__/snapshots/transparent.png +0 -0
- package/src/__tests__/snapshots/vertices/billinear-gradient.png +0 -0
- package/src/__tests__/snapshots/vertices/strip.png +0 -0
- package/src/__tests__/snapshots/vertices/vertices.png +0 -0
- package/src/dom/__tests__/Compose.spec.tsx +42 -0
- package/src/dom/__tests__/Demos.spec.tsx +145 -0
- package/src/dom/__tests__/DrawingContext.spec.tsx +99 -0
- package/src/dom/__tests__/Drawings.spec.tsx +95 -0
- package/src/dom/__tests__/Group.spec.tsx +132 -0
- package/src/dom/__tests__/Paint.spec.tsx +100 -0
- package/src/dom/__tests__/RenderNodes.spec.tsx +44 -0
- package/src/dom/__tests__/Shaders.spec.tsx +123 -0
- package/src/renderer/__tests__/Data.spec.tsx +67 -0
- package/src/renderer/__tests__/Drawings.spec.tsx +96 -0
- package/src/renderer/__tests__/FitBox.spec.tsx +126 -0
- package/src/renderer/__tests__/Glyphs.spec.tsx +46 -0
- package/src/renderer/__tests__/Image.spec.tsx +45 -0
- package/src/renderer/__tests__/Paths.spec.tsx +75 -0
- package/src/renderer/__tests__/Picture.spec.tsx +82 -0
- package/src/renderer/__tests__/Simple.spec.tsx +81 -0
- package/src/renderer/__tests__/SkiaDOM.spec.tsx +46 -0
- package/src/renderer/__tests__/Surfaces.spec.tsx +73 -0
- package/src/renderer/__tests__/Text.spec.tsx +134 -0
- package/src/renderer/__tests__/TouchHandler.spec.tsx +113 -0
- package/src/renderer/__tests__/Transform.spec.tsx +72 -0
- package/src/renderer/__tests__/documentation/Group.spec.tsx +171 -0
- package/src/renderer/__tests__/documentation/getting-started/HelloWorld.spec.tsx +51 -0
- package/src/renderer/__tests__/documentation/paint/Overview.spec.tsx +84 -0
- package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +46 -0
- package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +88 -0
- package/src/renderer/__tests__/e2e/Atlas.spec.tsx +358 -0
- package/src/renderer/__tests__/e2e/BackdropFilters.spec.tsx +141 -0
- package/src/renderer/__tests__/e2e/Blending.spec.tsx +115 -0
- package/src/renderer/__tests__/e2e/Blur.spec.tsx +56 -0
- package/src/renderer/__tests__/e2e/Box.spec.tsx +83 -0
- package/src/renderer/__tests__/e2e/ColorFilters.spec.tsx +212 -0
- package/src/renderer/__tests__/e2e/Composition/ColorFilterComposition.spec.tsx +81 -0
- package/src/renderer/__tests__/e2e/CoonPatch.spec.tsx +74 -0
- package/src/renderer/__tests__/e2e/DataEncoding.spec.tsx +75 -0
- package/src/renderer/__tests__/e2e/Drawings.spec.tsx +209 -0
- package/src/renderer/__tests__/e2e/FontMgr.spec.tsx +150 -0
- package/src/renderer/__tests__/e2e/Gradient.spec.tsx +40 -0
- package/src/renderer/__tests__/e2e/Group.spec.tsx +129 -0
- package/src/renderer/__tests__/e2e/Image.spec.tsx +139 -0
- package/src/renderer/__tests__/e2e/ImageEncoding.spec.tsx +255 -0
- package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +230 -0
- package/src/renderer/__tests__/e2e/Mask.spec.tsx +85 -0
- package/src/renderer/__tests__/e2e/Matrix4.spec.tsx +275 -0
- package/src/renderer/__tests__/e2e/NativeBuffer.spec.tsx +156 -0
- package/src/renderer/__tests__/e2e/Offscreen.spec.tsx +109 -0
- package/src/renderer/__tests__/e2e/Opacity.spec.tsx +278 -0
- package/src/renderer/__tests__/e2e/Paint.spec.tsx +170 -0
- package/src/renderer/__tests__/e2e/ParagraphPaint.spec.tsx +262 -0
- package/src/renderer/__tests__/e2e/Paragraphs.spec.tsx +615 -0
- package/src/renderer/__tests__/e2e/PathEffects.spec.tsx +73 -0
- package/src/renderer/__tests__/e2e/Paths.spec.tsx +390 -0
- package/src/renderer/__tests__/e2e/Picture.spec.tsx +134 -0
- package/src/renderer/__tests__/e2e/Point.spec.tsx +35 -0
- package/src/renderer/__tests__/e2e/Rect.spec.tsx +139 -0
- package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +324 -0
- package/src/renderer/__tests__/e2e/SDF.spec.tsx +148 -0
- package/src/renderer/__tests__/e2e/SVG.spec.tsx +191 -0
- package/src/renderer/__tests__/e2e/Shader.spec.tsx +260 -0
- package/src/renderer/__tests__/e2e/Snapshot.spec.tsx +29 -0
- package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +17 -0
- package/src/renderer/__tests__/e2e/Text.spec.tsx +109 -0
- package/src/renderer/__tests__/e2e/TextPath.spec.tsx +45 -0
- package/src/renderer/__tests__/e2e/Transforms.spec.tsx +63 -0
- package/src/renderer/__tests__/e2e/Vertices.spec.tsx +30 -0
- package/src/renderer/__tests__/e2e/Video.ts +69 -0
- package/src/renderer/__tests__/e2e/setup/Paragraph.ts +56 -0
- package/src/renderer/__tests__/e2e/setup/SVG.ts +27 -0
- package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +31 -0
- package/src/renderer/__tests__/e2e/setup/index.ts +3 -0
- package/src/renderer/__tests__/examples/BlendModes.spec.tsx +123 -0
- package/src/renderer/__tests__/setup.tsx +489 -0
- package/src/skia/__tests__/ColorFilter.spec.ts +67 -0
- package/src/skia/__tests__/Data.spec.ts +29 -0
- package/src/skia/__tests__/Drawings.spec.ts +119 -0
- package/src/skia/__tests__/Enums.spec.ts +114 -0
- package/src/skia/__tests__/Geometry.spec.ts +39 -0
- package/src/skia/__tests__/ImageFilter.spec.ts +19 -0
- package/src/skia/__tests__/Mock.spec.ts +7 -0
- package/src/skia/__tests__/Paint.spec.ts +25 -0
- package/src/skia/__tests__/Path.spec.ts +386 -0
- package/src/skia/__tests__/RuntimeEffect.spec.ts +66 -0
- package/src/skia/__tests__/Shader.spec.ts +96 -0
- package/src/skia/__tests__/Text.spec.ts +32 -0
- package/src/skia/__tests__/Transform.spec.ts +89 -0
- package/src/skia/__tests__/Vertices.spec.ts +40 -0
- package/src/skia/__tests__/assets/DIN-Medium.ttf +0 -0
- package/src/skia/__tests__/assets/NotoColorEmoji.ttf +0 -0
- package/src/skia/__tests__/assets/NotoSansSC-Regular.otf +0 -0
- package/src/skia/__tests__/assets/Pacifico-Regular.ttf +0 -0
- package/src/skia/__tests__/assets/Roboto-BlackItalic.ttf +0 -0
- package/src/skia/__tests__/assets/Roboto-Bold.ttf +0 -0
- package/src/skia/__tests__/assets/Roboto-Italic.ttf +0 -0
- package/src/skia/__tests__/assets/Roboto-Medium.ttf +0 -0
- package/src/skia/__tests__/assets/Roboto-Regular.ttf +0 -0
- package/src/skia/__tests__/assets/UberMove-Medium_mono.ttf +0 -0
- package/src/skia/__tests__/assets/bird.gif +0 -0
- package/src/skia/__tests__/assets/box.png +0 -0
- package/src/skia/__tests__/assets/box2.png +0 -0
- package/src/skia/__tests__/assets/card.png +0 -0
- package/src/skia/__tests__/assets/mask.png +0 -0
- package/src/skia/__tests__/assets/oslo.jpg +0 -0
- package/src/skia/__tests__/assets/product.png +0 -0
- package/src/skia/__tests__/assets/skia_logo.png +0 -0
- package/src/skia/__tests__/assets/skia_logo_jpeg.jpg +0 -0
- package/src/skia/__tests__/assets/tiger.svg +724 -0
- package/src/skia/__tests__/assets/zurich.jpg +0 -0
- package/src/skia/__tests__/setup.ts +77 -0
@@ -0,0 +1,358 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { checkImage, docPath } from "../../../__tests__/setup";
|
4
|
+
import { importSkia, surface } from "../setup";
|
5
|
+
import { Atlas, Circle, Group, Rect } from "../../components";
|
6
|
+
|
7
|
+
describe("Atlas", () => {
|
8
|
+
it("should read the RSXform properties", async () => {
|
9
|
+
const result = await surface.eval((Skia) => {
|
10
|
+
const transform = Skia.RSXform(1, 2, 3, 4);
|
11
|
+
return [transform.scos, transform.ssin, transform.tx, transform.ty];
|
12
|
+
});
|
13
|
+
expect(result).toEqual([1, 2, 3, 4]);
|
14
|
+
});
|
15
|
+
it("should draw the atlas using the imperative API", async () => {
|
16
|
+
const img = await surface.drawOffscreen((Skia, canvas) => {
|
17
|
+
const size = 200;
|
18
|
+
const texSurface = Skia.Surface.MakeOffscreen(size, size)!;
|
19
|
+
const texCanvas = texSurface.getCanvas();
|
20
|
+
texCanvas.drawColor(Skia.Color("red"));
|
21
|
+
const tex = texSurface.makeImageSnapshot();
|
22
|
+
const srcs = [
|
23
|
+
Skia.XYWHRect(0, 0, size, size),
|
24
|
+
Skia.XYWHRect(0, 0, size, size),
|
25
|
+
];
|
26
|
+
const dsts = [Skia.RSXform(0.5, 0, 0, 0), Skia.RSXform(0, 0.5, 200, 100)];
|
27
|
+
const paint = Skia.Paint();
|
28
|
+
canvas.drawAtlas(tex, srcs, dsts, paint);
|
29
|
+
});
|
30
|
+
checkImage(img, "snapshots/atlas/simple.png");
|
31
|
+
});
|
32
|
+
// it("should test the RSXforms (1)", async () => {
|
33
|
+
// const { Skia } = importSkia();
|
34
|
+
// const scos = Math.cos(Math.PI / 4);
|
35
|
+
// const ssin = Math.sin(Math.PI / 4);
|
36
|
+
// const px = 25;
|
37
|
+
// const py = 25;
|
38
|
+
// const tx = px - scos * px + ssin * py;
|
39
|
+
// const ty = py - ssin * px - scos * py;
|
40
|
+
// const f1 = Skia.RSXform(scos, ssin, tx, ty);
|
41
|
+
// const result = await surface.eval((Sk) => {
|
42
|
+
// const f2 = Sk.RSXformFromRadians(1, Math.PI / 4, 0, 0, 25, 25);
|
43
|
+
// return [f2.scos, f2.ssin, f2.tx, f2.ty];
|
44
|
+
// });
|
45
|
+
// expect(result).toEqual([f1.scos, f1.ssin, f1.tx, f1.ty]);
|
46
|
+
// });
|
47
|
+
it("should test the RSXforms (2)", async () => {
|
48
|
+
const { Skia } = importSkia();
|
49
|
+
const f1 = Skia.RSXformFromRadians(1, Math.PI / 4, 0, 0, 25, 25);
|
50
|
+
const result = await surface.eval((Sk) => {
|
51
|
+
const f2 = Sk.RSXformFromRadians(1, Math.PI / 4, 0, 0, 25, 25);
|
52
|
+
return [f2.scos, f2.ssin, f2.tx, f2.ty];
|
53
|
+
});
|
54
|
+
expect(result[0]).toBeCloseTo(f1.scos);
|
55
|
+
expect(result[1]).toBeCloseTo(f1.ssin);
|
56
|
+
expect(result[2]).toBeCloseTo(f1.tx);
|
57
|
+
expect(result[3]).toBeCloseTo(f1.ty);
|
58
|
+
});
|
59
|
+
it("should test the RSXforms (3)", async () => {
|
60
|
+
const { Skia } = importSkia();
|
61
|
+
const image = (() => {
|
62
|
+
const texSurface = Skia.Surface.MakeOffscreen(50, 50)!;
|
63
|
+
const texCanvas = texSurface.getCanvas();
|
64
|
+
texCanvas.drawColor(Skia.Color("cyan"));
|
65
|
+
return texSurface.makeImageSnapshot();
|
66
|
+
})();
|
67
|
+
const rct = Skia.XYWHRect(0, 0, 50, 50);
|
68
|
+
const scos = Math.cos(Math.PI / 4);
|
69
|
+
const ssin = Math.sin(Math.PI / 4);
|
70
|
+
const px = 25;
|
71
|
+
const py = 25;
|
72
|
+
const tx = px - scos * px + ssin * py;
|
73
|
+
const ty = py - ssin * px - scos * py;
|
74
|
+
const img = await surface.draw(
|
75
|
+
<Group>
|
76
|
+
<Atlas
|
77
|
+
image={image}
|
78
|
+
sprites={[rct, rct, rct, rct]}
|
79
|
+
transforms={[
|
80
|
+
Skia.RSXform(scos, ssin, tx, ty),
|
81
|
+
Skia.RSXformFromRadians(1, Math.PI / 4, 0, 0, 25, 25),
|
82
|
+
Skia.RSXform(scos, ssin, 100 + tx, ty),
|
83
|
+
Skia.RSXformFromRadians(1, Math.PI / 4, 100, 0, 125, 25),
|
84
|
+
]}
|
85
|
+
/>
|
86
|
+
<Circle r={5} color="red" cx={px} cy={py} />
|
87
|
+
</Group>
|
88
|
+
);
|
89
|
+
checkImage(img, "snapshots/atlas/rsxform1.png", {
|
90
|
+
maxPixelDiff: 500,
|
91
|
+
});
|
92
|
+
});
|
93
|
+
it("should test the RSXforms (4)", async () => {
|
94
|
+
const { Skia } = importSkia();
|
95
|
+
const image = (() => {
|
96
|
+
const texSurface = Skia.Surface.MakeOffscreen(50, 50)!;
|
97
|
+
const texCanvas = texSurface.getCanvas();
|
98
|
+
texCanvas.drawColor(Skia.Color("cyan"));
|
99
|
+
return texSurface.makeImageSnapshot();
|
100
|
+
})();
|
101
|
+
const rct = Skia.XYWHRect(0, 0, 50, 50);
|
102
|
+
const scos = Math.cos(Math.PI / 4);
|
103
|
+
const ssin = Math.sin(Math.PI / 4);
|
104
|
+
const px = 25;
|
105
|
+
const py = 25;
|
106
|
+
const tx = px - scos * px + ssin * py;
|
107
|
+
const ty = py - ssin * px - scos * py;
|
108
|
+
const img = await surface.draw(
|
109
|
+
<Atlas
|
110
|
+
image={image}
|
111
|
+
sprites={[rct, rct, rct, rct, rct]}
|
112
|
+
transforms={[
|
113
|
+
Skia.RSXform(1, 0, 0, 0),
|
114
|
+
Skia.RSXform(0.5, 0, 100, 12.5),
|
115
|
+
Skia.RSXform(scos, ssin, 200, 0),
|
116
|
+
Skia.RSXform(scos, ssin, 0, 200),
|
117
|
+
Skia.RSXform(scos, ssin, tx, 100 + ty),
|
118
|
+
]}
|
119
|
+
/>
|
120
|
+
);
|
121
|
+
checkImage(img, "snapshots/atlas/rsxform.png", {
|
122
|
+
maxPixelDiff: 500,
|
123
|
+
});
|
124
|
+
});
|
125
|
+
it("Simple Atlas", async () => {
|
126
|
+
const { Skia } = importSkia();
|
127
|
+
const image = (() => {
|
128
|
+
const texSurface = Skia.Surface.MakeOffscreen(75, 75)!;
|
129
|
+
const texCanvas = texSurface.getCanvas();
|
130
|
+
texCanvas.drawColor(Skia.Color("red"));
|
131
|
+
return texSurface.makeImageSnapshot();
|
132
|
+
})();
|
133
|
+
const img = await surface.draw(
|
134
|
+
<Atlas
|
135
|
+
image={image}
|
136
|
+
sprites={[Skia.XYWHRect(0, 0, 75, 75), Skia.XYWHRect(0, 0, 75, 75)]}
|
137
|
+
transforms={[Skia.RSXform(0.5, 0, 0, 0), Skia.RSXform(0, 0.5, 50, 50)]}
|
138
|
+
/>
|
139
|
+
);
|
140
|
+
checkImage(img, "snapshots/atlas/simple2.png", {
|
141
|
+
maxPixelDiff: 500,
|
142
|
+
});
|
143
|
+
});
|
144
|
+
it("Simple Atlas identity", async () => {
|
145
|
+
const { Skia } = importSkia();
|
146
|
+
const size = 75;
|
147
|
+
const texSurface = Skia.Surface.MakeOffscreen(size, size)!;
|
148
|
+
const texCanvas = texSurface.getCanvas();
|
149
|
+
texCanvas.drawColor(Skia.Color("red"));
|
150
|
+
const image = texSurface.makeImageSnapshot();
|
151
|
+
const img = await surface.draw(
|
152
|
+
<Atlas
|
153
|
+
image={image}
|
154
|
+
sprites={[
|
155
|
+
Skia.XYWHRect(0, 0, size, size),
|
156
|
+
Skia.XYWHRect(0, 0, size, size),
|
157
|
+
]}
|
158
|
+
transforms={[Skia.RSXform(1, 0, 0, 0), Skia.RSXform(1, 0, 0, 0)]}
|
159
|
+
/>
|
160
|
+
);
|
161
|
+
checkImage(img, "snapshots/atlas/identity.png");
|
162
|
+
});
|
163
|
+
it("Atlas documentation example", async () => {
|
164
|
+
const { Skia, rect, drawAsImage } = importSkia();
|
165
|
+
const size = { width: 25, height: 25 * 0.45 };
|
166
|
+
const strokeWidth = 2;
|
167
|
+
const textureSize = {
|
168
|
+
width: size.width + strokeWidth,
|
169
|
+
height: size.height + strokeWidth,
|
170
|
+
};
|
171
|
+
const texture = drawAsImage(
|
172
|
+
<Group>
|
173
|
+
<Rect
|
174
|
+
rect={rect(strokeWidth / 2, strokeWidth / 2, size.width, size.height)}
|
175
|
+
color="cyan"
|
176
|
+
/>
|
177
|
+
<Rect
|
178
|
+
rect={rect(strokeWidth / 2, strokeWidth / 2, size.width, size.height)}
|
179
|
+
color="blue"
|
180
|
+
style="stroke"
|
181
|
+
strokeWidth={strokeWidth}
|
182
|
+
/>
|
183
|
+
</Group>,
|
184
|
+
textureSize
|
185
|
+
);
|
186
|
+
const numberOfBoxes = 150;
|
187
|
+
const pos = { x: 128, y: 128 };
|
188
|
+
const width = 256;
|
189
|
+
const sprites = new Array(numberOfBoxes)
|
190
|
+
.fill(0)
|
191
|
+
.map(() => rect(0, 0, textureSize.width, textureSize.height));
|
192
|
+
const transforms = new Array(numberOfBoxes).fill(0).map((_, i) => {
|
193
|
+
const tx = 5 + ((i * size.width) % width);
|
194
|
+
const ty = 25 + Math.floor(i / (width / size.width)) * size.width;
|
195
|
+
const r = Math.atan2(pos.y - ty, pos.x - tx);
|
196
|
+
return Skia.RSXform(Math.cos(r), Math.sin(r), tx, ty);
|
197
|
+
});
|
198
|
+
|
199
|
+
const img = await surface.draw(
|
200
|
+
<Atlas image={texture} sprites={sprites} transforms={transforms} />
|
201
|
+
);
|
202
|
+
checkImage(img, docPath("atlas/hello-world.png"), {
|
203
|
+
maxPixelDiff: 500,
|
204
|
+
});
|
205
|
+
});
|
206
|
+
it("should use the colors property properly", async () => {
|
207
|
+
const { Skia, rect, drawAsImage } = importSkia();
|
208
|
+
const size = { width: 25, height: 25 * 0.45 };
|
209
|
+
const strokeWidth = 2;
|
210
|
+
const textureSize = {
|
211
|
+
width: size.width + strokeWidth,
|
212
|
+
height: size.height + strokeWidth,
|
213
|
+
};
|
214
|
+
const texture = drawAsImage(
|
215
|
+
<Group>
|
216
|
+
<Rect
|
217
|
+
rect={rect(strokeWidth / 2, strokeWidth / 2, size.width, size.height)}
|
218
|
+
color="black"
|
219
|
+
/>
|
220
|
+
</Group>,
|
221
|
+
textureSize
|
222
|
+
);
|
223
|
+
const numberOfBoxes = 150;
|
224
|
+
const pos = { x: 128, y: 128 };
|
225
|
+
const width = 256;
|
226
|
+
const sprites = new Array(numberOfBoxes)
|
227
|
+
.fill(0)
|
228
|
+
.map(() => rect(0, 0, textureSize.width, textureSize.height));
|
229
|
+
const transforms = new Array(numberOfBoxes).fill(0).map((_, i) => {
|
230
|
+
const tx = 5 + ((i * size.width) % width);
|
231
|
+
const ty = 25 + Math.floor(i / (width / size.width)) * size.width;
|
232
|
+
const r = Math.atan2(pos.y - ty, pos.x - tx);
|
233
|
+
return Skia.RSXform(Math.cos(r), Math.sin(r), tx, ty);
|
234
|
+
});
|
235
|
+
class SeededRandom {
|
236
|
+
private seed: number;
|
237
|
+
|
238
|
+
constructor(seed: number) {
|
239
|
+
this.seed = seed;
|
240
|
+
}
|
241
|
+
|
242
|
+
// Linear Congruential Generator
|
243
|
+
next(): number {
|
244
|
+
this.seed = (this.seed * 9301 + 49297) % 233280;
|
245
|
+
return this.seed / 233280;
|
246
|
+
}
|
247
|
+
}
|
248
|
+
|
249
|
+
function generateSeededRandomColor(seed: number): string {
|
250
|
+
const random = new SeededRandom(seed);
|
251
|
+
|
252
|
+
const red = Math.floor(random.next() * 256);
|
253
|
+
const green = Math.floor(random.next() * 256);
|
254
|
+
const blue = Math.floor(random.next() * 256);
|
255
|
+
|
256
|
+
const redHex = red.toString(16).padStart(2, "0");
|
257
|
+
const greenHex = green.toString(16).padStart(2, "0");
|
258
|
+
const blueHex = blue.toString(16).padStart(2, "0");
|
259
|
+
|
260
|
+
return `#${redHex}${greenHex}${blueHex}`;
|
261
|
+
}
|
262
|
+
|
263
|
+
const colors = new Array(numberOfBoxes)
|
264
|
+
.fill(0)
|
265
|
+
.map((_, i) => Skia.Color(generateSeededRandomColor(i)));
|
266
|
+
const img = await surface.draw(
|
267
|
+
<Atlas
|
268
|
+
image={texture}
|
269
|
+
sprites={sprites}
|
270
|
+
transforms={transforms}
|
271
|
+
colors={colors}
|
272
|
+
/>
|
273
|
+
);
|
274
|
+
checkImage(img, docPath("atlas/colors.png"), {
|
275
|
+
maxPixelDiff: 500,
|
276
|
+
});
|
277
|
+
});
|
278
|
+
it("should use the colors and blend mode property properly", async () => {
|
279
|
+
const { Skia, rect, drawAsImage } = importSkia();
|
280
|
+
const size = { width: 25, height: 25 * 0.45 };
|
281
|
+
const strokeWidth = 2;
|
282
|
+
const textureSize = {
|
283
|
+
width: size.width + strokeWidth,
|
284
|
+
height: size.height + strokeWidth,
|
285
|
+
};
|
286
|
+
const texture = drawAsImage(
|
287
|
+
<Group>
|
288
|
+
<Rect
|
289
|
+
rect={rect(strokeWidth / 2, strokeWidth / 2, size.width, size.height)}
|
290
|
+
color="rgb(36,43,56)"
|
291
|
+
/>
|
292
|
+
</Group>,
|
293
|
+
textureSize
|
294
|
+
);
|
295
|
+
const numberOfBoxes = 150;
|
296
|
+
const pos = { x: 128, y: 128 };
|
297
|
+
const width = 256;
|
298
|
+
const sprites = new Array(numberOfBoxes)
|
299
|
+
.fill(0)
|
300
|
+
.map(() => rect(0, 0, textureSize.width, textureSize.height));
|
301
|
+
const transforms = new Array(numberOfBoxes).fill(0).map((_, i) => {
|
302
|
+
const tx = 5 + ((i * size.width) % width);
|
303
|
+
const ty = 25 + Math.floor(i / (width / size.width)) * size.width;
|
304
|
+
const r = Math.atan2(pos.y - ty, pos.x - tx);
|
305
|
+
return Skia.RSXform(Math.cos(r), Math.sin(r), tx, ty);
|
306
|
+
});
|
307
|
+
const colors = new Array(numberOfBoxes)
|
308
|
+
.fill(0)
|
309
|
+
.map(() => Skia.Color("#61bea2"));
|
310
|
+
const img = await surface.draw(
|
311
|
+
<Atlas
|
312
|
+
image={texture}
|
313
|
+
sprites={sprites}
|
314
|
+
transforms={transforms}
|
315
|
+
colors={colors}
|
316
|
+
blendMode="screen"
|
317
|
+
/>
|
318
|
+
);
|
319
|
+
checkImage(img, docPath("atlas/colors-and-blend-mode.png"), {
|
320
|
+
maxPixelDiff: 500,
|
321
|
+
});
|
322
|
+
});
|
323
|
+
it("should accept null as a texture", async () => {
|
324
|
+
const { Skia, rect } = importSkia();
|
325
|
+
const size = { width: 25, height: 25 * 0.45 };
|
326
|
+
const textureSize = {
|
327
|
+
width: 0,
|
328
|
+
height: 0,
|
329
|
+
};
|
330
|
+
const numberOfBoxes = 150;
|
331
|
+
const pos = { x: 128, y: 128 };
|
332
|
+
const width = 256;
|
333
|
+
const sprites = new Array(numberOfBoxes)
|
334
|
+
.fill(0)
|
335
|
+
.map(() => rect(0, 0, textureSize.width, textureSize.height));
|
336
|
+
const transforms = new Array(numberOfBoxes).fill(0).map((_, i) => {
|
337
|
+
const tx = 5 + ((i * size.width) % width);
|
338
|
+
const ty = 25 + Math.floor(i / (width / size.width)) * size.width;
|
339
|
+
const r = Math.atan2(pos.y - ty, pos.x - tx);
|
340
|
+
return Skia.RSXform(Math.cos(r), Math.sin(r), tx, ty);
|
341
|
+
});
|
342
|
+
const colors = new Array(numberOfBoxes)
|
343
|
+
.fill(0)
|
344
|
+
.map(() => Skia.Color("#61bea2"));
|
345
|
+
const img = await surface.draw(
|
346
|
+
<Atlas
|
347
|
+
image={null}
|
348
|
+
sprites={sprites}
|
349
|
+
transforms={transforms}
|
350
|
+
colors={colors}
|
351
|
+
blendMode="screen"
|
352
|
+
/>
|
353
|
+
);
|
354
|
+
checkImage(img, docPath("atlas/null.png"), {
|
355
|
+
maxPixelDiff: 500,
|
356
|
+
});
|
357
|
+
});
|
358
|
+
});
|
@@ -0,0 +1,141 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { checkImage, docPath } from "../../../__tests__/setup";
|
4
|
+
import {
|
5
|
+
BackdropBlur,
|
6
|
+
BackdropFilter,
|
7
|
+
Blur,
|
8
|
+
Circle,
|
9
|
+
ColorMatrix,
|
10
|
+
Fill,
|
11
|
+
Image,
|
12
|
+
LinearGradient,
|
13
|
+
} from "../../components";
|
14
|
+
import { importSkia, surface, images } from "../setup";
|
15
|
+
import { Group } from "../../components/Group";
|
16
|
+
|
17
|
+
// https://kazzkiq.github.io/svg-color-filter/
|
18
|
+
const BLACK_AND_WHITE = [
|
19
|
+
0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0,
|
20
|
+
];
|
21
|
+
|
22
|
+
describe("Backdrop Filters", () => {
|
23
|
+
it("A black and white color filter as backdrop color filter", async () => {
|
24
|
+
const { oslo } = images;
|
25
|
+
const { width } = surface;
|
26
|
+
const size = width;
|
27
|
+
const img = await surface.draw(
|
28
|
+
<Group>
|
29
|
+
<Image
|
30
|
+
image={oslo}
|
31
|
+
x={0}
|
32
|
+
y={0}
|
33
|
+
width={width}
|
34
|
+
height={width}
|
35
|
+
fit="cover"
|
36
|
+
/>
|
37
|
+
<BackdropFilter
|
38
|
+
clip={{ x: 0, y: size / 2, width: size, height: size / 2 }}
|
39
|
+
filter={<ColorMatrix matrix={BLACK_AND_WHITE} />}
|
40
|
+
/>
|
41
|
+
</Group>
|
42
|
+
);
|
43
|
+
checkImage(img, docPath("black-and-white-backdrop-filter.png"));
|
44
|
+
});
|
45
|
+
it("Blur backdrop filter", async () => {
|
46
|
+
const { oslo } = images;
|
47
|
+
const { width } = surface;
|
48
|
+
const size = width;
|
49
|
+
const img = await surface.draw(
|
50
|
+
<Group>
|
51
|
+
<Fill color="white" />
|
52
|
+
<Image
|
53
|
+
image={oslo}
|
54
|
+
x={0}
|
55
|
+
y={0}
|
56
|
+
width={width}
|
57
|
+
height={width}
|
58
|
+
fit="cover"
|
59
|
+
/>
|
60
|
+
<BackdropBlur
|
61
|
+
blur={4 / 3}
|
62
|
+
clip={{ x: 0, y: size / 2, width: size, height: size / 2 }}
|
63
|
+
>
|
64
|
+
<Fill color="rgba(0, 0, 0, 0.5)" />
|
65
|
+
</BackdropBlur>
|
66
|
+
</Group>
|
67
|
+
);
|
68
|
+
checkImage(img, docPath("blur-backdrop-filter.png"));
|
69
|
+
});
|
70
|
+
it("should display the Aurora Example", async () => {
|
71
|
+
const { width, height } = surface;
|
72
|
+
const { vec } = importSkia();
|
73
|
+
const c = vec(width / 2, height / 2);
|
74
|
+
const r = c.x - 32 / 3;
|
75
|
+
const clip = { x: 0, y: c.y, width, height: c.y };
|
76
|
+
const img = await surface.draw(
|
77
|
+
<>
|
78
|
+
<Fill color="black" />
|
79
|
+
<Circle c={c} r={r}>
|
80
|
+
<LinearGradient
|
81
|
+
start={vec(c.x - r, c.y - r)}
|
82
|
+
end={vec(c.x + r, c.y + r)}
|
83
|
+
colors={["#FFF723", "#E70696"]}
|
84
|
+
/>
|
85
|
+
</Circle>
|
86
|
+
<BackdropFilter filter={<Blur blur={10 / 3} />} clip={clip}>
|
87
|
+
<Fill color="rgba(0, 0, 0, 0.3)" />
|
88
|
+
</BackdropFilter>
|
89
|
+
</>
|
90
|
+
);
|
91
|
+
checkImage(img, docPath("blur-backdrop-aurora.png"));
|
92
|
+
});
|
93
|
+
it("should display the Aurora Example with the BackdropBlur component", async () => {
|
94
|
+
const { width, height } = surface;
|
95
|
+
const { vec } = importSkia();
|
96
|
+
const c = vec(width / 2, height / 2);
|
97
|
+
const r = c.x - 32 / 3;
|
98
|
+
const clip = { x: 0, y: c.y, width, height: c.y };
|
99
|
+
const img = await surface.draw(
|
100
|
+
<>
|
101
|
+
<Fill color="black" />
|
102
|
+
<Circle c={c} r={r}>
|
103
|
+
<LinearGradient
|
104
|
+
start={vec(c.x - r, c.y - r)}
|
105
|
+
end={vec(c.x + r, c.y + r)}
|
106
|
+
colors={["#FFF723", "#E70696"]}
|
107
|
+
/>
|
108
|
+
</Circle>
|
109
|
+
<BackdropBlur blur={10 / 3} clip={clip}>
|
110
|
+
<Fill color="rgba(0, 0, 0, 0.3)" />
|
111
|
+
</BackdropBlur>
|
112
|
+
</>
|
113
|
+
);
|
114
|
+
checkImage(img, docPath("blur-backdrop-aurora.png"));
|
115
|
+
});
|
116
|
+
it("should display the Aurora Example with the BackdropBlur component and a string as clipping path", async () => {
|
117
|
+
const { width, height } = surface;
|
118
|
+
const { vec, Skia } = importSkia();
|
119
|
+
const c = vec(width / 2, height / 2);
|
120
|
+
const r = c.x - 32 / 3;
|
121
|
+
const path = Skia.Path.Make();
|
122
|
+
path.addRect(Skia.XYWHRect(0, c.y, width, c.y));
|
123
|
+
const clip = path.toSVGString();
|
124
|
+
const img = await surface.draw(
|
125
|
+
<>
|
126
|
+
<Fill color="black" />
|
127
|
+
<Circle c={c} r={r}>
|
128
|
+
<LinearGradient
|
129
|
+
start={vec(c.x - r, c.y - r)}
|
130
|
+
end={vec(c.x + r, c.y + r)}
|
131
|
+
colors={["#FFF723", "#E70696"]}
|
132
|
+
/>
|
133
|
+
</Circle>
|
134
|
+
<BackdropBlur blur={10 / 3} clip={clip}>
|
135
|
+
<Fill color="rgba(0, 0, 0, 0.3)" />
|
136
|
+
</BackdropBlur>
|
137
|
+
</>
|
138
|
+
);
|
139
|
+
checkImage(img, docPath("blur-backdrop-aurora.png"));
|
140
|
+
});
|
141
|
+
});
|
@@ -0,0 +1,115 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { importSkia, surface } from "../setup";
|
4
|
+
import { docPath, checkImage } from "../../../__tests__/setup";
|
5
|
+
import {
|
6
|
+
Blend,
|
7
|
+
ColorShader,
|
8
|
+
Fill,
|
9
|
+
Group,
|
10
|
+
LinearGradient,
|
11
|
+
RadialGradient,
|
12
|
+
} from "../../components";
|
13
|
+
|
14
|
+
describe("Test Blending", () => {
|
15
|
+
it("should display a linear gradient", async () => {
|
16
|
+
const { width, height } = surface;
|
17
|
+
const image = await surface.draw(
|
18
|
+
<Group>
|
19
|
+
<LinearGradient
|
20
|
+
colors={["cyan", "magenta", "yellow"]}
|
21
|
+
start={{ x: 0, y: 0 }}
|
22
|
+
end={{ x: width, y: height }}
|
23
|
+
/>
|
24
|
+
<Fill />
|
25
|
+
</Group>
|
26
|
+
);
|
27
|
+
checkImage(image, "snapshots/runtime-effects/linear-gradient.png");
|
28
|
+
});
|
29
|
+
|
30
|
+
it("should display a color", async () => {
|
31
|
+
const image = await surface.draw(
|
32
|
+
<Fill>
|
33
|
+
<ColorShader color="lightblue" />
|
34
|
+
</Fill>
|
35
|
+
);
|
36
|
+
checkImage(image, docPath("shaders/color.png"));
|
37
|
+
});
|
38
|
+
|
39
|
+
it("should blend cyan/magenta/yellow to black (multiply)", async () => {
|
40
|
+
const { vec } = importSkia();
|
41
|
+
const { width } = surface;
|
42
|
+
const r = width / 2;
|
43
|
+
const c = vec(r, r);
|
44
|
+
const image = await surface.draw(
|
45
|
+
<Fill>
|
46
|
+
<Blend mode="multiply">
|
47
|
+
<RadialGradient r={r} c={c} colors={["cyan", "magenta"]} />
|
48
|
+
<RadialGradient r={r} c={c} colors={["magenta", "yellow"]} />
|
49
|
+
<RadialGradient r={r} c={c} colors={["yellow", "cyan"]} />
|
50
|
+
</Blend>
|
51
|
+
</Fill>
|
52
|
+
);
|
53
|
+
checkImage(image, "snapshots/runtime-effects/blend-multiply.png");
|
54
|
+
});
|
55
|
+
|
56
|
+
it("should blend using color burn", async () => {
|
57
|
+
const { vec } = importSkia();
|
58
|
+
const { width } = surface;
|
59
|
+
const r = width / 2;
|
60
|
+
const c = vec(r, r);
|
61
|
+
let image = await surface.draw(
|
62
|
+
<Fill>
|
63
|
+
<Blend mode="colorBurn">
|
64
|
+
<RadialGradient r={r} c={c} colors={["magenta", "yellow"]} />
|
65
|
+
<RadialGradient r={r} c={c} colors={["magenta", "yellow"]} />
|
66
|
+
<RadialGradient r={r} c={c} colors={["yellow", "cyan"]} />
|
67
|
+
</Blend>
|
68
|
+
</Fill>
|
69
|
+
);
|
70
|
+
checkImage(image, "snapshots/runtime-effects/blend-color-burn.png", {
|
71
|
+
maxPixelDiff: 324,
|
72
|
+
});
|
73
|
+
image = await surface.draw(
|
74
|
+
<Fill>
|
75
|
+
<Blend mode="colorBurn">
|
76
|
+
<RadialGradient r={r} c={c} colors={["yellow", "cyan"]} />
|
77
|
+
<RadialGradient r={r} c={c} colors={["magenta", "yellow"]} />
|
78
|
+
<RadialGradient r={r} c={c} colors={["magenta", "yellow"]} />
|
79
|
+
</Blend>
|
80
|
+
</Fill>
|
81
|
+
);
|
82
|
+
checkImage(image, "snapshots/runtime-effects/blend-color-burn2.png", {
|
83
|
+
maxPixelDiff: 324,
|
84
|
+
});
|
85
|
+
});
|
86
|
+
|
87
|
+
it("should blend using multiply", async () => {
|
88
|
+
const { vec } = importSkia();
|
89
|
+
const { width } = surface;
|
90
|
+
const r = width / 2;
|
91
|
+
const c = vec(r, r);
|
92
|
+
let image = await surface.draw(
|
93
|
+
<Fill>
|
94
|
+
<Blend mode="colorBurn">
|
95
|
+
<RadialGradient r={r} c={c} colors={["yellow", "cyan"]} />
|
96
|
+
<RadialGradient r={r} c={c} colors={["cyan", "magenta"]} />
|
97
|
+
<RadialGradient r={r} c={c} colors={["magenta", "yellow"]} />
|
98
|
+
</Blend>
|
99
|
+
</Fill>
|
100
|
+
);
|
101
|
+
checkImage(image, "snapshots/runtime-effects/blend-color-burn3.png");
|
102
|
+
image = await surface.draw(
|
103
|
+
<Fill>
|
104
|
+
<Blend mode="colorBurn">
|
105
|
+
<RadialGradient r={r} c={c} colors={["yellow", "cyan"]} />
|
106
|
+
<Blend mode="colorBurn">
|
107
|
+
<RadialGradient r={r} c={c} colors={["cyan", "magenta"]} />
|
108
|
+
<RadialGradient r={r} c={c} colors={["magenta", "yellow"]} />
|
109
|
+
</Blend>
|
110
|
+
</Blend>
|
111
|
+
</Fill>
|
112
|
+
);
|
113
|
+
checkImage(image, "snapshots/runtime-effects/blend-color-burn3.png");
|
114
|
+
});
|
115
|
+
});
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { checkImage, docPath, processResult } from "../../../__tests__/setup";
|
4
|
+
import { Blur, Image } from "../../components";
|
5
|
+
import { PIXEL_RATIO, surface, images } from "../setup";
|
6
|
+
import { Group } from "../../components/Group";
|
7
|
+
import { setupSkia } from "../../../skia/__tests__/setup";
|
8
|
+
import { TileMode } from "../../../skia/types";
|
9
|
+
import { fitRects } from "../../../dom/nodes";
|
10
|
+
|
11
|
+
describe("Blur Image Filter", () => {
|
12
|
+
it("should build the reference build images for later", async () => {
|
13
|
+
const { oslo } = images;
|
14
|
+
const { surface: ckSurface, Skia } = setupSkia(
|
15
|
+
surface.width * PIXEL_RATIO,
|
16
|
+
surface.height * PIXEL_RATIO
|
17
|
+
);
|
18
|
+
const canvas = ckSurface.getCanvas();
|
19
|
+
const imgRect = Skia.XYWHRect(0, 0, oslo.width(), oslo.height());
|
20
|
+
const { src, dst } = fitRects("cover", imgRect, {
|
21
|
+
x: 0,
|
22
|
+
y: 0,
|
23
|
+
width: surface.width,
|
24
|
+
height: surface.height,
|
25
|
+
});
|
26
|
+
|
27
|
+
const m3 = Skia.Matrix();
|
28
|
+
m3.scale(3, 3);
|
29
|
+
|
30
|
+
const paint = Skia.Paint();
|
31
|
+
paint.setImageFilter(Skia.ImageFilter.MakeBlur(4, 4, TileMode.Decal, null));
|
32
|
+
canvas.save();
|
33
|
+
canvas.concat(m3);
|
34
|
+
canvas.drawImageRect(oslo, src, dst, paint);
|
35
|
+
canvas.restore();
|
36
|
+
processResult(ckSurface, docPath("blur.png"));
|
37
|
+
});
|
38
|
+
it("should blur the image with tile mode=decal", async () => {
|
39
|
+
const { oslo } = images;
|
40
|
+
const { width } = surface;
|
41
|
+
const img = await surface.draw(
|
42
|
+
<Group>
|
43
|
+
<Blur blur={4} />
|
44
|
+
<Image
|
45
|
+
image={oslo}
|
46
|
+
x={0}
|
47
|
+
y={0}
|
48
|
+
width={width}
|
49
|
+
height={width}
|
50
|
+
fit="cover"
|
51
|
+
/>
|
52
|
+
</Group>
|
53
|
+
);
|
54
|
+
checkImage(img, docPath("blur.png"));
|
55
|
+
});
|
56
|
+
});
|