@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,75 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { processResult } from "../../__tests__/setup";
|
4
|
+
import { Path } from "../components";
|
5
|
+
|
6
|
+
import { drawOnNode, width, importSkia } from "./setup";
|
7
|
+
|
8
|
+
const size = width;
|
9
|
+
|
10
|
+
describe("Path Examples", () => {
|
11
|
+
it("Should draw an arc", () => {
|
12
|
+
const { Skia } = importSkia();
|
13
|
+
const path = Skia.Path.Make();
|
14
|
+
const arcRect = {
|
15
|
+
x: 0,
|
16
|
+
y: 0,
|
17
|
+
width: size,
|
18
|
+
height: size,
|
19
|
+
};
|
20
|
+
path.addArc(arcRect, 45, 270);
|
21
|
+
const surface = drawOnNode(<Path path={path} color="lightblue" />);
|
22
|
+
processResult(surface, "snapshots/paths/arc.png");
|
23
|
+
});
|
24
|
+
|
25
|
+
it("Should draw an oval", () => {
|
26
|
+
const { Skia } = importSkia();
|
27
|
+
const path = Skia.Path.Make();
|
28
|
+
const rct = {
|
29
|
+
x: 0,
|
30
|
+
y: 0,
|
31
|
+
width: size,
|
32
|
+
height: size,
|
33
|
+
};
|
34
|
+
path.addOval(rct);
|
35
|
+
const surface = drawOnNode(<Path path={path} color="lightblue" />);
|
36
|
+
processResult(surface, "snapshots/paths/oval.png");
|
37
|
+
});
|
38
|
+
|
39
|
+
it("Should draw an rounded rectangle", () => {
|
40
|
+
const { Skia } = importSkia();
|
41
|
+
const path = Skia.Path.Make();
|
42
|
+
path.addRRect({
|
43
|
+
rect: {
|
44
|
+
x: 0,
|
45
|
+
y: 0,
|
46
|
+
width: size,
|
47
|
+
height: size,
|
48
|
+
},
|
49
|
+
rx: size / 4,
|
50
|
+
ry: size / 4,
|
51
|
+
});
|
52
|
+
const surface = drawOnNode(<Path path={path} color="lightblue" />);
|
53
|
+
processResult(surface, "snapshots/paths/rrect.png");
|
54
|
+
});
|
55
|
+
|
56
|
+
it("Should draw a polygon", () => {
|
57
|
+
const { Skia, vec } = importSkia();
|
58
|
+
const path = Skia.Path.Make();
|
59
|
+
const r = size / 4;
|
60
|
+
path.addPoly(
|
61
|
+
[
|
62
|
+
vec(r, r),
|
63
|
+
{ x: size - r, y: r },
|
64
|
+
vec(size - r, size - r),
|
65
|
+
{ x: r, y: size - r },
|
66
|
+
],
|
67
|
+
true
|
68
|
+
);
|
69
|
+
|
70
|
+
const surface = drawOnNode(
|
71
|
+
<Path path={path} strokeWidth={4} style="stroke" color="lightblue" />
|
72
|
+
);
|
73
|
+
processResult(surface, "snapshots/paths/poly.png");
|
74
|
+
});
|
75
|
+
});
|
@@ -0,0 +1,82 @@
|
|
1
|
+
import React, { useEffect, useMemo, useState } from "react";
|
2
|
+
|
3
|
+
import { processResult } from "../../__tests__/setup";
|
4
|
+
import { Fill, Picture, Group } from "../components";
|
5
|
+
|
6
|
+
import type { EmptyProps } from "./setup";
|
7
|
+
import { wait, importSkia, mountCanvas, width } from "./setup";
|
8
|
+
|
9
|
+
const CheckPicture = ({}: EmptyProps) => {
|
10
|
+
const { createPicture, Skia } = importSkia();
|
11
|
+
const [color, setColor] = useState("green");
|
12
|
+
const r = width / 2;
|
13
|
+
useEffect(() => {
|
14
|
+
setTimeout(() => {
|
15
|
+
setColor("red");
|
16
|
+
}, 16);
|
17
|
+
}, [Skia]);
|
18
|
+
const picture = useMemo(
|
19
|
+
() =>
|
20
|
+
createPicture((canvas) => {
|
21
|
+
const paint = Skia.Paint();
|
22
|
+
paint.setColor(Skia.Color(color));
|
23
|
+
canvas.drawCircle(r, r, r, paint);
|
24
|
+
}),
|
25
|
+
// In a non-test environment, createPicture and Skia will be top-level, not part of the array
|
26
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
27
|
+
[color]
|
28
|
+
);
|
29
|
+
return (
|
30
|
+
<Group>
|
31
|
+
<Fill color="white" />
|
32
|
+
<Picture picture={picture} />
|
33
|
+
</Group>
|
34
|
+
);
|
35
|
+
};
|
36
|
+
|
37
|
+
const CheckPicture2 = ({}: EmptyProps) => {
|
38
|
+
const { createPicture, Skia } = importSkia();
|
39
|
+
const [color, setColor] = useState("green");
|
40
|
+
const r = width / 2;
|
41
|
+
useEffect(() => {
|
42
|
+
setTimeout(() => {
|
43
|
+
setColor("red");
|
44
|
+
}, 16);
|
45
|
+
}, [Skia]);
|
46
|
+
const picture = useMemo(
|
47
|
+
() =>
|
48
|
+
createPicture((canvas) => {
|
49
|
+
const paint = Skia.Paint();
|
50
|
+
paint.setColor(Skia.Color(color));
|
51
|
+
canvas.drawCircle(r, r, r, paint);
|
52
|
+
}, Skia.XYWHRect(0, 0, r * 2, r * 2)),
|
53
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
54
|
+
[]
|
55
|
+
);
|
56
|
+
return (
|
57
|
+
<Group>
|
58
|
+
<Fill color="white" />
|
59
|
+
<Picture picture={picture} />
|
60
|
+
</Group>
|
61
|
+
);
|
62
|
+
};
|
63
|
+
|
64
|
+
describe("Picture", () => {
|
65
|
+
it("should respect dependency array", async () => {
|
66
|
+
const { surface, draw } = mountCanvas(<CheckPicture />);
|
67
|
+
draw();
|
68
|
+
processResult(surface, "snapshots/pictures/green.png");
|
69
|
+
await wait(32);
|
70
|
+
draw();
|
71
|
+
processResult(surface, "snapshots/pictures/red.png");
|
72
|
+
});
|
73
|
+
|
74
|
+
it("should not redraw if there are no dependency", async () => {
|
75
|
+
const { surface, draw } = mountCanvas(<CheckPicture2 />);
|
76
|
+
draw();
|
77
|
+
processResult(surface, "snapshots/pictures/green.png");
|
78
|
+
await wait(32);
|
79
|
+
draw();
|
80
|
+
processResult(surface, "snapshots/pictures/green.png");
|
81
|
+
});
|
82
|
+
});
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { processResult } from "../../__tests__/setup";
|
4
|
+
import { Group, Line, Points, Rect } from "../components";
|
5
|
+
import * as SkiaRenderer from "../index";
|
6
|
+
|
7
|
+
import { center, drawOnNode, width, importSkia } from "./setup";
|
8
|
+
|
9
|
+
const size = width / 2;
|
10
|
+
|
11
|
+
describe("Renderer", () => {
|
12
|
+
it("Loads renderer without Skia", () => {
|
13
|
+
expect(SkiaRenderer).toBeDefined();
|
14
|
+
});
|
15
|
+
it("Light blue rectangle", () => {
|
16
|
+
const surface = drawOnNode(
|
17
|
+
<Rect
|
18
|
+
x={(width - size) / 2}
|
19
|
+
y={(width - size) / 2}
|
20
|
+
width={size}
|
21
|
+
height={size}
|
22
|
+
color="lightblue"
|
23
|
+
/>
|
24
|
+
);
|
25
|
+
processResult(surface, "snapshots/drawings/lightblue-rect.png");
|
26
|
+
});
|
27
|
+
it("Scaled light blue rectangle", () => {
|
28
|
+
const scale = 2;
|
29
|
+
const scaled = size / scale;
|
30
|
+
const surface = drawOnNode(
|
31
|
+
<Group transform={[{ scale }]} origin={center}>
|
32
|
+
<Rect
|
33
|
+
x={(width - scaled) / 2}
|
34
|
+
y={(width - scaled) / 2}
|
35
|
+
width={scaled}
|
36
|
+
height={scaled}
|
37
|
+
color="lightblue"
|
38
|
+
/>
|
39
|
+
</Group>
|
40
|
+
);
|
41
|
+
processResult(surface, "snapshots/drawings/lightblue-rect.png");
|
42
|
+
});
|
43
|
+
it("Points", () => {
|
44
|
+
const { vec } = importSkia();
|
45
|
+
const c = { x: width / 2, y: size / 2 + 16 };
|
46
|
+
const S = 25;
|
47
|
+
const c1 = [
|
48
|
+
vec(c.x - 2 * S, c.y - S),
|
49
|
+
vec(c.x - S, c.y - 2 * S),
|
50
|
+
vec(c.x - S, c.y - S),
|
51
|
+
];
|
52
|
+
|
53
|
+
const c2 = [
|
54
|
+
vec(c.x, c.y - 2 * S),
|
55
|
+
vec(c.x + S, c.y),
|
56
|
+
vec(c.x + S, c.y - S),
|
57
|
+
];
|
58
|
+
|
59
|
+
const c3 = [
|
60
|
+
vec(c.x - 10, c.y + 10),
|
61
|
+
vec(c.x + S, c.y),
|
62
|
+
vec(c.x + S, c.y + S),
|
63
|
+
];
|
64
|
+
|
65
|
+
const c4 = [
|
66
|
+
vec(c.x - 2 * S, c.y + S),
|
67
|
+
vec(c.x - S, c.y + 2 * S),
|
68
|
+
vec(c.x - S, c.y + S),
|
69
|
+
];
|
70
|
+
|
71
|
+
const cubics = [...c1, ...c2, ...c3, ...c4];
|
72
|
+
const surface = drawOnNode(
|
73
|
+
<Group color="#61DAFB" style="stroke" strokeWidth={3}>
|
74
|
+
<Points mode="polygon" points={cubics} />
|
75
|
+
<Line p1={c} p2={vec(size, 0)} />
|
76
|
+
<Points mode="points" points={cubics} color="red" />
|
77
|
+
</Group>
|
78
|
+
);
|
79
|
+
processResult(surface, "snapshots/drawings/points.png");
|
80
|
+
});
|
81
|
+
});
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { NodeType } from "../../dom/types";
|
4
|
+
import { Circle, Group, Paint } from "../components";
|
5
|
+
|
6
|
+
import { width, height, mountCanvas } from "./setup";
|
7
|
+
|
8
|
+
describe("Test introductionary examples from our documentation", () => {
|
9
|
+
it("Should blend colors using multiplication", () => {
|
10
|
+
const r = width * 0.33;
|
11
|
+
const { root } = mountCanvas(
|
12
|
+
<Group blendMode="multiply">
|
13
|
+
<Circle cx={r} cy={r} r={r} color="cyan" />
|
14
|
+
<Circle cx={width - r} cy={r} r={r} color="magenta" />
|
15
|
+
<Circle cx={width / 2} cy={height - r} r={r} color="yellow" />
|
16
|
+
</Group>
|
17
|
+
);
|
18
|
+
expect(root.dom.children().length).toBe(1);
|
19
|
+
const child = root.dom.children()[0]!;
|
20
|
+
expect(child).toBeDefined();
|
21
|
+
expect(child.type).toBe(NodeType.Group);
|
22
|
+
expect(child.children().length).toBe(3);
|
23
|
+
});
|
24
|
+
it("Accept multiple paint definiton", () => {
|
25
|
+
const r = width * 0.33;
|
26
|
+
const strokeWidth = 30;
|
27
|
+
const { root } = mountCanvas(
|
28
|
+
<Circle cx={width / 2} cy={width / 2} r={r} color="red">
|
29
|
+
<Paint color="lightblue" />
|
30
|
+
<Paint color="#adbce6" style="stroke" strokeWidth={strokeWidth} />
|
31
|
+
<Paint color="#ade6d8" style="stroke" strokeWidth={strokeWidth / 2} />
|
32
|
+
</Circle>
|
33
|
+
);
|
34
|
+
expect(root.dom.children().length).toBe(1);
|
35
|
+
const child = root.dom.children()[0]!;
|
36
|
+
expect(child).toBeDefined();
|
37
|
+
expect(child.type).toBe(NodeType.Circle);
|
38
|
+
const circle = child;
|
39
|
+
expect(circle).toBeDefined();
|
40
|
+
expect(circle.type).toBe(NodeType.Circle);
|
41
|
+
expect(circle.children().length).toBe(3);
|
42
|
+
expect(circle.children()[0].type).toBe(NodeType.Paint);
|
43
|
+
expect(circle.children()[1].type).toBe(NodeType.Paint);
|
44
|
+
expect(circle.children()[2].type).toBe(NodeType.Paint);
|
45
|
+
});
|
46
|
+
});
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { Circle, Group } from "../components";
|
4
|
+
import { processResult } from "../../__tests__/setup";
|
5
|
+
import { setupSkia } from "../../skia/__tests__/setup";
|
6
|
+
|
7
|
+
import { drawOnNode } from "./setup";
|
8
|
+
|
9
|
+
describe("Surface", () => {
|
10
|
+
it("MakeNonImageTexture on a CPU surface shouldn't leak", () => {
|
11
|
+
const { Skia } = setupSkia();
|
12
|
+
// When leaking, the WASM memory limit will be reached quite quickly
|
13
|
+
// causing the test to fail
|
14
|
+
for (let i = 0; i < 500; i++) {
|
15
|
+
const surface = Skia.Surface.Make(1920, 1080)!;
|
16
|
+
const canvas = surface.getCanvas();
|
17
|
+
canvas.clear(Skia.Color("cyan"));
|
18
|
+
surface.flush();
|
19
|
+
const image = surface.makeImageSnapshot();
|
20
|
+
const copy = image.makeNonTextureImage();
|
21
|
+
copy.dispose();
|
22
|
+
image.dispose();
|
23
|
+
surface.dispose();
|
24
|
+
}
|
25
|
+
});
|
26
|
+
it("A raster surface shouldn't leak (1)", () => {
|
27
|
+
const { Skia } = setupSkia();
|
28
|
+
// When leaking, the WASM memory limit will be reached quite quickly
|
29
|
+
// causing the test to fail
|
30
|
+
for (let i = 0; i < 500; i++) {
|
31
|
+
const surface = Skia.Surface.Make(1920, 1080)!;
|
32
|
+
const canvas = surface.getCanvas();
|
33
|
+
canvas.clear(Skia.Color("cyan"));
|
34
|
+
surface.flush();
|
35
|
+
const image = surface.makeImageSnapshot();
|
36
|
+
image.dispose();
|
37
|
+
surface.dispose();
|
38
|
+
}
|
39
|
+
});
|
40
|
+
it("A raster surface shouldn't leak (2)", () => {
|
41
|
+
const { Skia } = setupSkia();
|
42
|
+
// When leaking, the WASM memory limit will be reached quite quickly
|
43
|
+
// causing the test to fail
|
44
|
+
for (let i = 0; i < 500; i++) {
|
45
|
+
const surface = Skia.Surface.MakeOffscreen(1920, 1080)!;
|
46
|
+
const canvas = surface.getCanvas();
|
47
|
+
canvas.clear(Skia.Color("cyan"));
|
48
|
+
surface.flush();
|
49
|
+
const image = surface.makeImageSnapshot();
|
50
|
+
image.dispose();
|
51
|
+
surface.dispose();
|
52
|
+
}
|
53
|
+
});
|
54
|
+
it("A raster surface shouldn't leak (3)", () => {
|
55
|
+
for (let i = 0; i < 10; i++) {
|
56
|
+
//const t = performance.now();
|
57
|
+
const r = 128;
|
58
|
+
const surface = drawOnNode(
|
59
|
+
<>
|
60
|
+
<Group blendMode="multiply">
|
61
|
+
<Circle cx={r} cy={r} r={r} color="cyan" />
|
62
|
+
<Circle cx={r} cy={r} r={r} color="magenta" />
|
63
|
+
<Circle cx={r} cy={r} r={r} color="yellow" />
|
64
|
+
</Group>
|
65
|
+
</>
|
66
|
+
);
|
67
|
+
surface.flush();
|
68
|
+
//console.log(`Iteration ${i} took ${Math.floor(performance.now() - t)}ms`);
|
69
|
+
processResult(surface, "snapshots/leak.png");
|
70
|
+
surface.dispose();
|
71
|
+
}
|
72
|
+
});
|
73
|
+
});
|
@@ -0,0 +1,134 @@
|
|
1
|
+
import fs from "fs";
|
2
|
+
import nodePath from "path";
|
3
|
+
|
4
|
+
import React from "react";
|
5
|
+
|
6
|
+
import { processResult, docPath } from "../../__tests__/setup";
|
7
|
+
import { TextPath, Fill, Text, Glyphs, TextBlob, Group } from "../components";
|
8
|
+
|
9
|
+
import {
|
10
|
+
drawOnNode,
|
11
|
+
width,
|
12
|
+
fontSize,
|
13
|
+
importSkia,
|
14
|
+
loadFont,
|
15
|
+
height,
|
16
|
+
} from "./setup";
|
17
|
+
|
18
|
+
describe("Test different text examples", () => {
|
19
|
+
it("Should draw Hello World", () => {
|
20
|
+
const font = loadFont("skia/__tests__/assets/Roboto-Medium.ttf");
|
21
|
+
const surface = drawOnNode(
|
22
|
+
<>
|
23
|
+
<Fill color="white" />
|
24
|
+
<Text x={0} y={fontSize} font={font} text="Hello World" />
|
25
|
+
</>
|
26
|
+
);
|
27
|
+
processResult(surface, docPath("text/hello-world.png"));
|
28
|
+
});
|
29
|
+
|
30
|
+
it("Should draw Hello World vertically", () => {
|
31
|
+
const font = loadFont("skia/__tests__/assets/Roboto-Medium.ttf");
|
32
|
+
const { Skia } = importSkia();
|
33
|
+
const glyphs = font
|
34
|
+
.getGlyphIDs("Hello World!")
|
35
|
+
.map((id, i) => ({ id, pos: Skia.Point(0, (i + 1) * fontSize) }));
|
36
|
+
const surface = drawOnNode(
|
37
|
+
<>
|
38
|
+
<Fill color="white" />
|
39
|
+
<Glyphs font={font} glyphs={glyphs} />
|
40
|
+
</>
|
41
|
+
);
|
42
|
+
processResult(surface, docPath("text/hello-world-vertical.png"));
|
43
|
+
});
|
44
|
+
|
45
|
+
it("Should render the text around a circle", () => {
|
46
|
+
const font = loadFont("skia/__tests__/assets/Roboto-Medium.ttf");
|
47
|
+
const { Skia } = importSkia();
|
48
|
+
const path = Skia.Path.Make();
|
49
|
+
const r = width / 2;
|
50
|
+
path.addCircle(r, r, r / 2);
|
51
|
+
const surface = drawOnNode(
|
52
|
+
<>
|
53
|
+
<Fill color="white" />
|
54
|
+
<Group transform={[{ rotate: Math.PI }]} origin={Skia.Point(r, r)}>
|
55
|
+
<TextPath font={font} path={path} text="Hello World!" />
|
56
|
+
</Group>
|
57
|
+
</>
|
58
|
+
);
|
59
|
+
processResult(surface, docPath("text/text-path.png"));
|
60
|
+
});
|
61
|
+
|
62
|
+
it("Should render a text blob", () => {
|
63
|
+
const font = loadFont("skia/__tests__/assets/Roboto-Medium.ttf");
|
64
|
+
const { Skia } = importSkia();
|
65
|
+
const blob = Skia.TextBlob.MakeFromText("Hello World!", font);
|
66
|
+
const surface = drawOnNode(
|
67
|
+
<>
|
68
|
+
<Fill color="white" />
|
69
|
+
<TextBlob blob={blob} y={fontSize} x={0} />
|
70
|
+
</>
|
71
|
+
);
|
72
|
+
processResult(surface, docPath("text/text-blob.png"));
|
73
|
+
});
|
74
|
+
|
75
|
+
it("Should render text with Emojis", () => {
|
76
|
+
const { Skia } = importSkia();
|
77
|
+
const data = Skia.Data.fromBytes(
|
78
|
+
fs.readFileSync(
|
79
|
+
nodePath.resolve(
|
80
|
+
__dirname,
|
81
|
+
"../../skia/__tests__/assets/NotoColorEmoji.ttf"
|
82
|
+
)
|
83
|
+
)
|
84
|
+
);
|
85
|
+
const tf = Skia.Typeface.MakeFreeTypeFaceFromData(data)!;
|
86
|
+
expect(tf).toBeTruthy();
|
87
|
+
const emojiFont = Skia.Font(tf, fontSize);
|
88
|
+
const surface = drawOnNode(
|
89
|
+
<>
|
90
|
+
<Fill color="white" />
|
91
|
+
<Text text="🙋🌎" font={emojiFont} y={fontSize} x={0} />
|
92
|
+
</>
|
93
|
+
);
|
94
|
+
processResult(surface, docPath("text/text-emoji.png"));
|
95
|
+
});
|
96
|
+
|
97
|
+
it("Should calculate chinese text width correctly", () => {
|
98
|
+
const { Skia } = importSkia();
|
99
|
+
const data = Skia.Data.fromBytes(
|
100
|
+
fs.readFileSync(
|
101
|
+
nodePath.resolve(
|
102
|
+
__dirname,
|
103
|
+
"../../skia/__tests__/assets/NotoSansSC-Regular.otf"
|
104
|
+
)
|
105
|
+
)
|
106
|
+
);
|
107
|
+
const tf = Skia.Typeface.MakeFreeTypeFaceFromData(data)!;
|
108
|
+
expect(tf).toBeTruthy();
|
109
|
+
const font = Skia.Font(tf, fontSize);
|
110
|
+
const text = "欢迎";
|
111
|
+
const padding = 16;
|
112
|
+
const surface = drawOnNode(
|
113
|
+
<>
|
114
|
+
<Text
|
115
|
+
text={text}
|
116
|
+
font={font}
|
117
|
+
y={height / 2}
|
118
|
+
x={(width - font.getTextWidth(text)) / 2}
|
119
|
+
/>
|
120
|
+
|
121
|
+
<Text
|
122
|
+
text={text}
|
123
|
+
font={font}
|
124
|
+
y={height / 2 + fontSize + padding}
|
125
|
+
x={(width - font.getTextWidth(text)) / 2}
|
126
|
+
style={"stroke"}
|
127
|
+
color={"black"}
|
128
|
+
strokeWidth={1}
|
129
|
+
/>
|
130
|
+
</>
|
131
|
+
);
|
132
|
+
processResult(surface, docPath("text/welcome.png"));
|
133
|
+
});
|
134
|
+
});
|
@@ -0,0 +1,113 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { TouchType } from "../../views/types";
|
4
|
+
|
5
|
+
import type { EmptyProps } from "./setup";
|
6
|
+
import { mountCanvas, importSkia } from "./setup";
|
7
|
+
|
8
|
+
const SimpleActiveTouch = ({}: EmptyProps) => {
|
9
|
+
const { useTouchHandler } = importSkia();
|
10
|
+
const touchHandler = useTouchHandler({
|
11
|
+
onStart: ({ x, y }) => {
|
12
|
+
expect(x).toBe(10);
|
13
|
+
expect(y).toBe(10);
|
14
|
+
},
|
15
|
+
onActive: ({ x, y, velocityX, velocityY }) => {
|
16
|
+
expect(x).toBe(20);
|
17
|
+
expect(y).toBe(20);
|
18
|
+
expect(velocityX).toBe(10);
|
19
|
+
expect(velocityY).toBe(10);
|
20
|
+
},
|
21
|
+
});
|
22
|
+
const history = [
|
23
|
+
[
|
24
|
+
{
|
25
|
+
x: 10,
|
26
|
+
y: 10,
|
27
|
+
force: 0,
|
28
|
+
type: TouchType.Start,
|
29
|
+
id: 2,
|
30
|
+
timestamp: 0,
|
31
|
+
},
|
32
|
+
],
|
33
|
+
[
|
34
|
+
{
|
35
|
+
x: 20,
|
36
|
+
y: 20,
|
37
|
+
force: 0,
|
38
|
+
type: TouchType.Active,
|
39
|
+
id: 2,
|
40
|
+
timestamp: 1,
|
41
|
+
},
|
42
|
+
],
|
43
|
+
];
|
44
|
+
touchHandler(history);
|
45
|
+
return null;
|
46
|
+
};
|
47
|
+
|
48
|
+
const SimpleEndTouch = ({}: EmptyProps) => {
|
49
|
+
const { useTouchHandler } = importSkia();
|
50
|
+
const touchHandler = useTouchHandler({
|
51
|
+
onStart: ({ x, y }) => {
|
52
|
+
expect(x).toBe(10);
|
53
|
+
expect(y).toBe(10);
|
54
|
+
},
|
55
|
+
onActive: ({ x, y, velocityX, velocityY }) => {
|
56
|
+
expect(x).toBe(20);
|
57
|
+
expect(y).toBe(20);
|
58
|
+
expect(velocityX).toBe(10);
|
59
|
+
expect(velocityY).toBe(10);
|
60
|
+
},
|
61
|
+
onEnd: ({ x, y, velocityX, velocityY }) => {
|
62
|
+
expect(x).toBe(30);
|
63
|
+
expect(y).toBe(30);
|
64
|
+
expect(velocityX).toBe(10);
|
65
|
+
expect(velocityY).toBe(10);
|
66
|
+
},
|
67
|
+
});
|
68
|
+
const history = [
|
69
|
+
[
|
70
|
+
{
|
71
|
+
x: 10,
|
72
|
+
y: 10,
|
73
|
+
force: 0,
|
74
|
+
type: TouchType.Start,
|
75
|
+
id: 2,
|
76
|
+
timestamp: 0,
|
77
|
+
},
|
78
|
+
],
|
79
|
+
[
|
80
|
+
{
|
81
|
+
x: 20,
|
82
|
+
y: 20,
|
83
|
+
force: 0,
|
84
|
+
type: TouchType.Active,
|
85
|
+
id: 2,
|
86
|
+
timestamp: 1,
|
87
|
+
},
|
88
|
+
],
|
89
|
+
[
|
90
|
+
{
|
91
|
+
x: 30,
|
92
|
+
y: 30,
|
93
|
+
force: 0,
|
94
|
+
type: TouchType.End,
|
95
|
+
id: 2,
|
96
|
+
timestamp: 2,
|
97
|
+
},
|
98
|
+
],
|
99
|
+
];
|
100
|
+
touchHandler(history);
|
101
|
+
return null;
|
102
|
+
};
|
103
|
+
|
104
|
+
describe("Test handling of touch information", () => {
|
105
|
+
it("Should check that the received values are correct", () => {
|
106
|
+
const { draw } = mountCanvas(<SimpleActiveTouch />);
|
107
|
+
draw();
|
108
|
+
});
|
109
|
+
it("Calculates the velocity properly onEnd event", () => {
|
110
|
+
const { draw } = mountCanvas(<SimpleEndTouch />);
|
111
|
+
draw();
|
112
|
+
});
|
113
|
+
});
|
@@ -0,0 +1,72 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import { processResult } from "../../__tests__/setup";
|
4
|
+
import { Group, Rect } from "../components";
|
5
|
+
import * as SkiaRenderer from "../index";
|
6
|
+
|
7
|
+
import { drawOnNode, width, importSkia } from "./setup";
|
8
|
+
|
9
|
+
describe("Renderer", () => {
|
10
|
+
it("Loads renderer without Skia", () => {
|
11
|
+
expect(SkiaRenderer).toBeDefined();
|
12
|
+
});
|
13
|
+
it("Scale with origin", () => {
|
14
|
+
const { Skia } = importSkia();
|
15
|
+
const size = width;
|
16
|
+
const origin = Skia.Point(size / 2, size / 2);
|
17
|
+
const surface = drawOnNode(
|
18
|
+
<Group transform={[{ scale: 0.5 }]} origin={origin}>
|
19
|
+
<Rect x={0} y={0} width={size} height={size} color="lightblue" />
|
20
|
+
</Group>
|
21
|
+
);
|
22
|
+
processResult(surface, "snapshots/transform/scale-origin.png");
|
23
|
+
});
|
24
|
+
it("Scale with origin using a matrix", () => {
|
25
|
+
const { Skia } = importSkia();
|
26
|
+
const size = width;
|
27
|
+
const matrix = Skia.Matrix();
|
28
|
+
const origin = Skia.Point(size / 2, size / 2);
|
29
|
+
matrix
|
30
|
+
.translate(origin.x, origin.y)
|
31
|
+
.scale(0.5)
|
32
|
+
.translate(-origin.x, -origin.y);
|
33
|
+
expect(matrix.get()).toStrictEqual([0.5, 0, 192, 0, 0.5, 192, 0, 0, 1]);
|
34
|
+
const surface = drawOnNode(
|
35
|
+
<Group matrix={matrix}>
|
36
|
+
<Rect x={0} y={0} width={size} height={size} color="lightblue" />
|
37
|
+
</Group>
|
38
|
+
);
|
39
|
+
processResult(surface, "snapshots/transform/scale-origin.png");
|
40
|
+
});
|
41
|
+
it("Scale with matrix and origin", () => {
|
42
|
+
const { Skia } = importSkia();
|
43
|
+
const size = width;
|
44
|
+
const matrix = Skia.Matrix();
|
45
|
+
const origin = Skia.Point(size / 2, size / 2);
|
46
|
+
matrix.scale(0.5);
|
47
|
+
const surface = drawOnNode(
|
48
|
+
<Group matrix={matrix} origin={origin}>
|
49
|
+
<Rect x={0} y={0} width={size} height={size} color="lightblue" />
|
50
|
+
</Group>
|
51
|
+
);
|
52
|
+
processResult(surface, "snapshots/transform/scale-origin.png");
|
53
|
+
});
|
54
|
+
it("Should rotate a rectangle to 180deg", () => {
|
55
|
+
const { Skia } = importSkia();
|
56
|
+
const size = width;
|
57
|
+
const origin = Skia.Point(size / 2, size / 2);
|
58
|
+
const w = size / 4;
|
59
|
+
const surface = drawOnNode(
|
60
|
+
<Group transform={[{ rotate: Math.PI }]} origin={origin}>
|
61
|
+
<Rect
|
62
|
+
x={origin.x - w / 2}
|
63
|
+
y={0}
|
64
|
+
width={w}
|
65
|
+
height={size}
|
66
|
+
color="lightblue"
|
67
|
+
/>
|
68
|
+
</Group>
|
69
|
+
);
|
70
|
+
processResult(surface, "snapshots/transform/rotate-radiants.png");
|
71
|
+
});
|
72
|
+
});
|