@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,615 @@
|
|
1
|
+
import { resolveFile, surface } from "../setup";
|
2
|
+
import { checkImage, docPath, itRunsE2eOnly } from "../../../__tests__/setup";
|
3
|
+
import {
|
4
|
+
FontStyle,
|
5
|
+
TextAlign,
|
6
|
+
TextDirection,
|
7
|
+
TextDecoration,
|
8
|
+
} from "../../../skia/types";
|
9
|
+
|
10
|
+
const Pacifico = Array.from(
|
11
|
+
resolveFile("skia/__tests__/assets/Pacifico-Regular.ttf")
|
12
|
+
);
|
13
|
+
|
14
|
+
const RobotoMedium = Array.from(
|
15
|
+
resolveFile("skia/__tests__/assets/Roboto-Medium.ttf")
|
16
|
+
);
|
17
|
+
|
18
|
+
const RobotoRegular = Array.from(
|
19
|
+
resolveFile("skia/__tests__/assets/Roboto-Regular.ttf")
|
20
|
+
);
|
21
|
+
|
22
|
+
const RobotoBold = Array.from(
|
23
|
+
resolveFile("skia/__tests__/assets/Roboto-Bold.ttf")
|
24
|
+
);
|
25
|
+
|
26
|
+
const RobotoItalic = Array.from(
|
27
|
+
resolveFile("skia/__tests__/assets/Roboto-Italic.ttf")
|
28
|
+
);
|
29
|
+
|
30
|
+
const Noto = Array.from(
|
31
|
+
resolveFile("skia/__tests__/assets/NotoColorEmoji.ttf")
|
32
|
+
);
|
33
|
+
|
34
|
+
describe("Paragraphs", () => {
|
35
|
+
it("Should build the first example from the documentation", async () => {
|
36
|
+
const img = await surface.drawOffscreen(
|
37
|
+
(Skia, canvas, ctx) => {
|
38
|
+
const robotoMedium = Skia.Typeface.MakeFreeTypeFaceFromData(
|
39
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.RobotoMedium))
|
40
|
+
)!;
|
41
|
+
const robotoRegular = Skia.Typeface.MakeFreeTypeFaceFromData(
|
42
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.RobotoRegular))
|
43
|
+
)!;
|
44
|
+
const provider = Skia.TypefaceFontProvider.Make();
|
45
|
+
provider.registerFont(robotoMedium, "Roboto");
|
46
|
+
provider.registerFont(robotoRegular, "Roboto");
|
47
|
+
if (ctx.OS === "node") {
|
48
|
+
const noto = Skia.Typeface.MakeFreeTypeFaceFromData(
|
49
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.Noto))
|
50
|
+
)!;
|
51
|
+
provider.registerFont(noto, "Noto");
|
52
|
+
}
|
53
|
+
const textStyle = {
|
54
|
+
color: Skia.Color("black"),
|
55
|
+
fontFamilies: ["Roboto", "Noto"],
|
56
|
+
fontSize: 50,
|
57
|
+
};
|
58
|
+
const para = Skia.ParagraphBuilder.Make(
|
59
|
+
{
|
60
|
+
textAlign: ctx.textAlign,
|
61
|
+
},
|
62
|
+
provider
|
63
|
+
)
|
64
|
+
.pushStyle(textStyle)
|
65
|
+
.addText("Say Hello to ")
|
66
|
+
.pushStyle({ ...textStyle, fontStyle: { weight: 500 } })
|
67
|
+
.addText("Skia 🎨")
|
68
|
+
.pop()
|
69
|
+
.build();
|
70
|
+
para.layout(ctx.width);
|
71
|
+
para.paint(canvas, 0, 0);
|
72
|
+
},
|
73
|
+
{
|
74
|
+
RobotoRegular,
|
75
|
+
RobotoMedium,
|
76
|
+
Noto: surface.OS === "node" ? Noto : [],
|
77
|
+
OS: surface.OS,
|
78
|
+
textAlign: TextAlign.Center,
|
79
|
+
width: surface.width,
|
80
|
+
}
|
81
|
+
);
|
82
|
+
checkImage(img, docPath(`paragraph/hello-world-${surface.OS}.png`), {
|
83
|
+
// In CI, the emoji font is different
|
84
|
+
maxPixelDiff: 15000,
|
85
|
+
});
|
86
|
+
});
|
87
|
+
it("Should build the example from the documentation with text styles", async () => {
|
88
|
+
const img = await surface.drawOffscreen(
|
89
|
+
(Skia, canvas, ctx) => {
|
90
|
+
const robotoBold = Skia.Typeface.MakeFreeTypeFaceFromData(
|
91
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.RobotoBold))
|
92
|
+
)!;
|
93
|
+
const robotoRegular = Skia.Typeface.MakeFreeTypeFaceFromData(
|
94
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.RobotoRegular))
|
95
|
+
)!;
|
96
|
+
const robotoItalic = Skia.Typeface.MakeFreeTypeFaceFromData(
|
97
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.RobotoItalic))
|
98
|
+
)!;
|
99
|
+
const provider = Skia.TypefaceFontProvider.Make();
|
100
|
+
provider.registerFont(robotoBold, "Roboto");
|
101
|
+
provider.registerFont(robotoRegular, "Roboto");
|
102
|
+
provider.registerFont(robotoItalic, "Roboto");
|
103
|
+
const textStyle = {
|
104
|
+
color: Skia.Color("black"),
|
105
|
+
fontFamilies: ["Roboto"],
|
106
|
+
fontSize: 24,
|
107
|
+
};
|
108
|
+
const para = Skia.ParagraphBuilder.Make({}, provider)
|
109
|
+
.pushStyle({ ...textStyle, fontStyle: ctx.Bold })
|
110
|
+
.addText("This text is bold\n")
|
111
|
+
.pop()
|
112
|
+
.pushStyle({ ...textStyle, fontStyle: ctx.Normal })
|
113
|
+
.addText("This text is regular\n")
|
114
|
+
.pop()
|
115
|
+
.pushStyle({ ...textStyle, fontStyle: ctx.Italic })
|
116
|
+
.addText("This text is italic")
|
117
|
+
.pop()
|
118
|
+
.build();
|
119
|
+
para.layout(ctx.width);
|
120
|
+
para.paint(canvas, 0, 0);
|
121
|
+
},
|
122
|
+
{
|
123
|
+
RobotoRegular,
|
124
|
+
RobotoBold,
|
125
|
+
RobotoItalic,
|
126
|
+
Bold: FontStyle.Bold,
|
127
|
+
Normal: FontStyle.Normal,
|
128
|
+
Italic: FontStyle.Italic,
|
129
|
+
width: surface.width,
|
130
|
+
}
|
131
|
+
);
|
132
|
+
checkImage(img, docPath(`paragraph/font-style-${surface.OS}.png`));
|
133
|
+
});
|
134
|
+
itRunsE2eOnly("should render simple paragraph", async () => {
|
135
|
+
const img = await surface.drawOffscreen(
|
136
|
+
(Skia, canvas, ctx) => {
|
137
|
+
const para = Skia.ParagraphBuilder.Make()
|
138
|
+
.pushStyle({ color: Skia.Color("black") })
|
139
|
+
.addText("Hello from Skia!")
|
140
|
+
.build();
|
141
|
+
para.layout(ctx.width);
|
142
|
+
para.paint(canvas, 0, 0);
|
143
|
+
},
|
144
|
+
{ width: surface.width }
|
145
|
+
);
|
146
|
+
checkImage(img, `snapshots/paragraph/simple-paragraph-${surface.OS}.png`);
|
147
|
+
});
|
148
|
+
it("should render simple paragraph with custom font", async () => {
|
149
|
+
const img = await surface.drawOffscreen(
|
150
|
+
(Skia, canvas, ctx) => {
|
151
|
+
const tf = Skia.Typeface.MakeFreeTypeFaceFromData(
|
152
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.Pacifico))
|
153
|
+
)!;
|
154
|
+
const provider = Skia.TypefaceFontProvider.Make();
|
155
|
+
provider.registerFont(tf, "Pacifico");
|
156
|
+
const para = Skia.ParagraphBuilder.Make({}, provider)
|
157
|
+
.pushStyle({
|
158
|
+
fontFamilies: ["Pacifico"],
|
159
|
+
fontSize: 50,
|
160
|
+
color: Skia.Color("blakc"),
|
161
|
+
})
|
162
|
+
.addText("Hello from Skia!")
|
163
|
+
.build();
|
164
|
+
para.layout(ctx.width);
|
165
|
+
para.paint(canvas, 0, 0);
|
166
|
+
},
|
167
|
+
{ Pacifico, width: surface.width }
|
168
|
+
);
|
169
|
+
checkImage(
|
170
|
+
img,
|
171
|
+
`snapshots/paragraph/simple-paragraph-with-provider-${surface.OS}.png`
|
172
|
+
);
|
173
|
+
});
|
174
|
+
|
175
|
+
itRunsE2eOnly("should render paragraph linebreaks", async () => {
|
176
|
+
const img = await surface.drawOffscreen(
|
177
|
+
(Skia, canvas, ctx) => {
|
178
|
+
const para = Skia.ParagraphBuilder.Make()
|
179
|
+
.pushStyle({ color: Skia.Color("black") })
|
180
|
+
.addText("Hello\nfrom Skia")
|
181
|
+
.build();
|
182
|
+
para.layout(ctx.width);
|
183
|
+
para.paint(canvas, 0, 0);
|
184
|
+
},
|
185
|
+
{ width: surface.width }
|
186
|
+
);
|
187
|
+
checkImage(
|
188
|
+
img,
|
189
|
+
`snapshots/paragraph/paragraph-linebreaks-${surface.OS}.png`
|
190
|
+
);
|
191
|
+
});
|
192
|
+
|
193
|
+
itRunsE2eOnly("should break when line is long", async () => {
|
194
|
+
const img = await surface.drawOffscreen((Skia, canvas) => {
|
195
|
+
const para = Skia.ParagraphBuilder.Make()
|
196
|
+
.pushStyle({ color: Skia.Color("black") })
|
197
|
+
.addText("Hello from a really, really long line - and from Skia!")
|
198
|
+
.build();
|
199
|
+
para.layout(50); // Layout width set to 50 as in the original test
|
200
|
+
para.paint(canvas, 0, 0);
|
201
|
+
});
|
202
|
+
checkImage(
|
203
|
+
img,
|
204
|
+
`snapshots/paragraph/paragraph-auto-linebreaks-${surface.OS}.png`
|
205
|
+
);
|
206
|
+
});
|
207
|
+
|
208
|
+
itRunsE2eOnly("should align text to the right", async () => {
|
209
|
+
const img = await surface.drawOffscreen(
|
210
|
+
(Skia, canvas, { textAlign, width }) => {
|
211
|
+
const para = Skia.ParagraphBuilder.Make({
|
212
|
+
textAlign,
|
213
|
+
})
|
214
|
+
.pushStyle({ color: Skia.Color("black") })
|
215
|
+
.addText("Hello Skia!")
|
216
|
+
.build();
|
217
|
+
para.layout(width);
|
218
|
+
para.paint(canvas, 0, 0);
|
219
|
+
},
|
220
|
+
{ width: surface.width, textAlign: TextAlign.Right }
|
221
|
+
);
|
222
|
+
checkImage(
|
223
|
+
img,
|
224
|
+
`snapshots/paragraph/paragraph-text-align-right-${surface.OS}.png`
|
225
|
+
);
|
226
|
+
});
|
227
|
+
|
228
|
+
itRunsE2eOnly("should align text centered", async () => {
|
229
|
+
const img = await surface.drawOffscreen(
|
230
|
+
(Skia, canvas, { width, textAlign }) => {
|
231
|
+
const para = Skia.ParagraphBuilder.Make({
|
232
|
+
textAlign,
|
233
|
+
})
|
234
|
+
.pushStyle({ color: Skia.Color("black") })
|
235
|
+
.addText("Hello Skia!")
|
236
|
+
.build();
|
237
|
+
para.layout(width);
|
238
|
+
para.paint(canvas, 0, 0);
|
239
|
+
},
|
240
|
+
{ width: surface.width, textAlign: TextAlign.Center }
|
241
|
+
);
|
242
|
+
checkImage(
|
243
|
+
img,
|
244
|
+
`snapshots/paragraph/paragraph-text-align-center-${surface.OS}.png`
|
245
|
+
);
|
246
|
+
});
|
247
|
+
|
248
|
+
itRunsE2eOnly("should align text justified", async () => {
|
249
|
+
const img = await surface.drawOffscreen(
|
250
|
+
(Skia, canvas, { textAlign, width }) => {
|
251
|
+
const para = Skia.ParagraphBuilder.Make({
|
252
|
+
textAlign,
|
253
|
+
textStyle: {
|
254
|
+
color: Skia.Color("black"),
|
255
|
+
},
|
256
|
+
})
|
257
|
+
.addText(
|
258
|
+
"Hello Skia this text should be justified - what do you think? Is it justified?"
|
259
|
+
)
|
260
|
+
.build();
|
261
|
+
para.layout(width);
|
262
|
+
para.paint(canvas, 0, 0);
|
263
|
+
},
|
264
|
+
{ textAlign: TextAlign.Justify, width: surface.width }
|
265
|
+
);
|
266
|
+
checkImage(
|
267
|
+
img,
|
268
|
+
`snapshots/paragraph/paragraph-text-align-justify-${surface.OS}.png`
|
269
|
+
);
|
270
|
+
});
|
271
|
+
|
272
|
+
itRunsE2eOnly("should align text justified", async () => {
|
273
|
+
const img = await surface.drawOffscreen(
|
274
|
+
(Skia, canvas, { textAlign, width }) => {
|
275
|
+
const para = Skia.ParagraphBuilder.Make({
|
276
|
+
textAlign,
|
277
|
+
textStyle: {
|
278
|
+
color: Skia.Color("black"),
|
279
|
+
},
|
280
|
+
})
|
281
|
+
.addText(
|
282
|
+
"Hello Skia this text should be justified - what do you think? Is it justified?"
|
283
|
+
)
|
284
|
+
.build();
|
285
|
+
para.layout(width);
|
286
|
+
para.paint(canvas, 0, 0);
|
287
|
+
},
|
288
|
+
{ width: surface.width, textAlign: TextAlign.Justify }
|
289
|
+
);
|
290
|
+
checkImage(
|
291
|
+
img,
|
292
|
+
`snapshots/paragraph/paragraph-text-align-justify-${surface.OS}.png`
|
293
|
+
);
|
294
|
+
});
|
295
|
+
|
296
|
+
itRunsE2eOnly("should render text right to left", async () => {
|
297
|
+
const img = await surface.drawOffscreen(
|
298
|
+
(Skia, canvas, { textDirection }) => {
|
299
|
+
const para = Skia.ParagraphBuilder.Make({
|
300
|
+
textDirection,
|
301
|
+
textStyle: {
|
302
|
+
color: Skia.Color("black"),
|
303
|
+
},
|
304
|
+
})
|
305
|
+
.addText("Hello Skia RTL\nThis is a new line")
|
306
|
+
.build();
|
307
|
+
para.layout(150);
|
308
|
+
para.paint(canvas, 0, 0);
|
309
|
+
},
|
310
|
+
{ textDirection: TextDirection.RTL }
|
311
|
+
);
|
312
|
+
checkImage(
|
313
|
+
img,
|
314
|
+
`snapshots/paragraph/paragraph-text-align-rtl-${surface.OS}.png`
|
315
|
+
);
|
316
|
+
});
|
317
|
+
|
318
|
+
itRunsE2eOnly(
|
319
|
+
"should show ellipse when line count is above max lines",
|
320
|
+
async () => {
|
321
|
+
const img = await surface.drawOffscreen(
|
322
|
+
(Skia, canvas) => {
|
323
|
+
const para = Skia.ParagraphBuilder.Make({
|
324
|
+
maxLines: 1,
|
325
|
+
ellipsis: "...",
|
326
|
+
textStyle: {
|
327
|
+
color: Skia.Color("black"),
|
328
|
+
},
|
329
|
+
})
|
330
|
+
.addText("Hello Skia - maxLine is 1!")
|
331
|
+
.build();
|
332
|
+
para.layout(50);
|
333
|
+
para.paint(canvas, 0, 0);
|
334
|
+
},
|
335
|
+
{ width: 50 }
|
336
|
+
);
|
337
|
+
checkImage(
|
338
|
+
img,
|
339
|
+
`snapshots/paragraph/paragraph-ellipse-${surface.OS}.png`
|
340
|
+
);
|
341
|
+
}
|
342
|
+
);
|
343
|
+
|
344
|
+
itRunsE2eOnly("should use textstyle in paraphstyle", async () => {
|
345
|
+
const img = await surface.drawOffscreen((Skia, canvas) => {
|
346
|
+
const para = Skia.ParagraphBuilder.Make()
|
347
|
+
.pushStyle({ color: Skia.Color("red") })
|
348
|
+
.addText("Hello Skia!")
|
349
|
+
.build();
|
350
|
+
para.layout(50);
|
351
|
+
para.paint(canvas, 0, 0);
|
352
|
+
});
|
353
|
+
checkImage(
|
354
|
+
img,
|
355
|
+
`snapshots/paragraph/paragraph-text-style-in-paragraph-style-${surface.OS}.png`
|
356
|
+
);
|
357
|
+
});
|
358
|
+
|
359
|
+
itRunsE2eOnly("should support colors", async () => {
|
360
|
+
const img = await surface.drawOffscreen((Skia, canvas) => {
|
361
|
+
const para = Skia.ParagraphBuilder.Make()
|
362
|
+
.pushStyle({ color: Skia.Color("red") })
|
363
|
+
.addText("Hello Skia in red color")
|
364
|
+
.pop()
|
365
|
+
.pushStyle({ backgroundColor: Skia.Color("blue") })
|
366
|
+
.addText("Hello Skia in blue backgroundcolor")
|
367
|
+
.pop()
|
368
|
+
.pushStyle({ foregroundColor: Skia.Color("yellow") })
|
369
|
+
.addText("Hello Skia with yellow foregroundcolor")
|
370
|
+
.pop()
|
371
|
+
.build();
|
372
|
+
para.layout(150);
|
373
|
+
para.paint(canvas, 0, 0);
|
374
|
+
});
|
375
|
+
checkImage(
|
376
|
+
img,
|
377
|
+
`snapshots/paragraph/paragraph-text-style-colors-${surface.OS}.png`
|
378
|
+
);
|
379
|
+
});
|
380
|
+
|
381
|
+
itRunsE2eOnly("should support text decoration", async () => {
|
382
|
+
const img = await surface.drawOffscreen(
|
383
|
+
(Skia, canvas, { underline, overline, lineThrough }) => {
|
384
|
+
const para = Skia.ParagraphBuilder.Make()
|
385
|
+
.pushStyle({
|
386
|
+
decoration: underline,
|
387
|
+
decorationColor: Skia.Color("blue"),
|
388
|
+
color: Skia.Color("black"),
|
389
|
+
})
|
390
|
+
.addText("Hello Skia with blue underline")
|
391
|
+
.pop()
|
392
|
+
.pushStyle({
|
393
|
+
decoration: lineThrough,
|
394
|
+
decorationColor: Skia.Color("red"),
|
395
|
+
color: Skia.Color("black"),
|
396
|
+
})
|
397
|
+
.addText("Hello Skia with red strike-through")
|
398
|
+
.pop()
|
399
|
+
.pushStyle({
|
400
|
+
decoration: overline,
|
401
|
+
decorationColor: Skia.Color("green"),
|
402
|
+
color: Skia.Color("black"),
|
403
|
+
})
|
404
|
+
.addText("Hello Skia with green overline")
|
405
|
+
.pop()
|
406
|
+
.build();
|
407
|
+
para.layout(150);
|
408
|
+
para.paint(canvas, 0, 0);
|
409
|
+
},
|
410
|
+
{
|
411
|
+
underline: TextDecoration.Underline,
|
412
|
+
lineThrough: TextDecoration.LineThrough,
|
413
|
+
overline: TextDecoration.Overline,
|
414
|
+
}
|
415
|
+
);
|
416
|
+
checkImage(
|
417
|
+
img,
|
418
|
+
`snapshots/paragraph/paragraph-text-style-decoration-${surface.OS}.png`
|
419
|
+
);
|
420
|
+
});
|
421
|
+
|
422
|
+
itRunsE2eOnly("should support font styling", async () => {
|
423
|
+
const img = await surface.drawOffscreen(
|
424
|
+
(Skia, canvas, { bold, boldItalic, italic }) => {
|
425
|
+
const para = Skia.ParagraphBuilder.Make()
|
426
|
+
.pushStyle({
|
427
|
+
fontStyle: italic,
|
428
|
+
color: Skia.Color("black"),
|
429
|
+
})
|
430
|
+
.addText("Hello Skia in italic")
|
431
|
+
.pop()
|
432
|
+
.pushStyle({ fontStyle: bold, color: Skia.Color("black") })
|
433
|
+
.addText("Hello Skia in bold")
|
434
|
+
.pop()
|
435
|
+
.pushStyle({
|
436
|
+
fontStyle: boldItalic,
|
437
|
+
color: Skia.Color("black"),
|
438
|
+
})
|
439
|
+
.addText("Hello Skia in bold-italic")
|
440
|
+
.pop()
|
441
|
+
.build();
|
442
|
+
para.layout(150);
|
443
|
+
para.paint(canvas, 0, 0);
|
444
|
+
},
|
445
|
+
{
|
446
|
+
bold: FontStyle.Bold,
|
447
|
+
italic: FontStyle.Italic,
|
448
|
+
boldItalic: FontStyle.BoldItalic,
|
449
|
+
}
|
450
|
+
);
|
451
|
+
checkImage(
|
452
|
+
img,
|
453
|
+
`snapshots/paragraph/paragraph-text-style-font-style-${surface.OS}.png`
|
454
|
+
);
|
455
|
+
});
|
456
|
+
|
457
|
+
itRunsE2eOnly("should draw the bounding box (1)", async () => {
|
458
|
+
const img = await surface.drawOffscreen(
|
459
|
+
(Skia, canvas, { bold, boldItalic, italic }) => {
|
460
|
+
const para = Skia.ParagraphBuilder.Make()
|
461
|
+
.pushStyle({
|
462
|
+
fontStyle: italic,
|
463
|
+
color: Skia.Color("black"),
|
464
|
+
})
|
465
|
+
.addText("Hello Skia in italic")
|
466
|
+
.pop()
|
467
|
+
.pushStyle({ fontStyle: bold, color: Skia.Color("black") })
|
468
|
+
.addText("Hello Skia in bold")
|
469
|
+
.pop()
|
470
|
+
.pushStyle({
|
471
|
+
fontStyle: boldItalic,
|
472
|
+
color: Skia.Color("black"),
|
473
|
+
})
|
474
|
+
.addText("Hello Skia in bold-italic")
|
475
|
+
.pop()
|
476
|
+
.build();
|
477
|
+
para.layout(150);
|
478
|
+
const paint = Skia.Paint();
|
479
|
+
paint.setColor(Skia.Color("cyan"));
|
480
|
+
canvas.drawRect(
|
481
|
+
Skia.XYWHRect(0, 0, para.getMaxWidth(), para.getHeight()),
|
482
|
+
paint
|
483
|
+
);
|
484
|
+
para.paint(canvas, 0, 0);
|
485
|
+
},
|
486
|
+
{
|
487
|
+
bold: FontStyle.Bold,
|
488
|
+
italic: FontStyle.Italic,
|
489
|
+
boldItalic: FontStyle.BoldItalic,
|
490
|
+
}
|
491
|
+
);
|
492
|
+
checkImage(
|
493
|
+
img,
|
494
|
+
`snapshots/paragraph/paragraph-text-style-font-style-${surface.OS}-box.png`
|
495
|
+
);
|
496
|
+
});
|
497
|
+
|
498
|
+
it("should draw the bounding box (2)", async () => {
|
499
|
+
const img = await surface.drawOffscreen(
|
500
|
+
(Skia, canvas, ctx) => {
|
501
|
+
const robotoRegular = Skia.Typeface.MakeFreeTypeFaceFromData(
|
502
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.RobotoRegular))
|
503
|
+
)!;
|
504
|
+
const provider = Skia.TypefaceFontProvider.Make();
|
505
|
+
provider.registerFont(robotoRegular, "Roboto");
|
506
|
+
const para = Skia.ParagraphBuilder.Make({}, provider)
|
507
|
+
.pushStyle({
|
508
|
+
fontFamilies: ["Roboto"],
|
509
|
+
color: Skia.Color("black"),
|
510
|
+
fontSize: 30,
|
511
|
+
})
|
512
|
+
.addText("Say Hello to React Native Skia")
|
513
|
+
.pop()
|
514
|
+
.build();
|
515
|
+
para.layout(150);
|
516
|
+
const paint = Skia.Paint();
|
517
|
+
paint.setColor(Skia.Color("cyan"));
|
518
|
+
const height = para.getHeight();
|
519
|
+
const width = para.getLongestLine();
|
520
|
+
canvas.drawRect(Skia.XYWHRect(0, 0, width, height), paint);
|
521
|
+
para.paint(canvas, 0, 0);
|
522
|
+
},
|
523
|
+
{
|
524
|
+
RobotoRegular,
|
525
|
+
}
|
526
|
+
);
|
527
|
+
checkImage(
|
528
|
+
img,
|
529
|
+
`snapshots/paragraph/paragraph-bounding-box-${surface.OS}.png`
|
530
|
+
);
|
531
|
+
});
|
532
|
+
it("should draw the bounding box (3)", async () => {
|
533
|
+
const img = await surface.drawOffscreen(
|
534
|
+
(Skia, canvas, ctx) => {
|
535
|
+
const robotoRegular = Skia.Typeface.MakeFreeTypeFaceFromData(
|
536
|
+
Skia.Data.fromBytes(new Uint8Array(ctx.RobotoRegular))
|
537
|
+
)!;
|
538
|
+
const provider = Skia.TypefaceFontProvider.Make();
|
539
|
+
provider.registerFont(robotoRegular, "Roboto");
|
540
|
+
const para = Skia.ParagraphBuilder.Make({}, provider)
|
541
|
+
.pushStyle({
|
542
|
+
fontFamilies: ["Roboto"],
|
543
|
+
color: Skia.Color("black"),
|
544
|
+
fontSize: 30,
|
545
|
+
})
|
546
|
+
.addText("Say Hello to React Native Skia")
|
547
|
+
.pop()
|
548
|
+
.build();
|
549
|
+
const maxWidth = ctx.canvasWidth * 0.78125;
|
550
|
+
para.layout(maxWidth);
|
551
|
+
const paint = Skia.Paint();
|
552
|
+
paint.setColor(Skia.Color("magenta"));
|
553
|
+
const height = para.getHeight();
|
554
|
+
const width = para.getLongestLine();
|
555
|
+
canvas.drawRect(Skia.XYWHRect(0, 0, maxWidth, ctx.canvasHeight), paint);
|
556
|
+
paint.setColor(Skia.Color("cyan"));
|
557
|
+
canvas.drawRect(Skia.XYWHRect(0, 0, width, height), paint);
|
558
|
+
para.paint(canvas, 0, 0);
|
559
|
+
},
|
560
|
+
{
|
561
|
+
RobotoRegular,
|
562
|
+
canvasWidth: surface.width,
|
563
|
+
canvasHeight: surface.height,
|
564
|
+
}
|
565
|
+
);
|
566
|
+
checkImage(img, docPath(`paragraph/boundingbox-${surface.OS}.png`));
|
567
|
+
});
|
568
|
+
|
569
|
+
itRunsE2eOnly("should return the paragraph height", async () => {
|
570
|
+
const { width, height } = await surface.eval((Skia) => {
|
571
|
+
const para = Skia.ParagraphBuilder.Make()
|
572
|
+
.pushStyle({
|
573
|
+
color: Skia.Color("black"),
|
574
|
+
fontSize: 25,
|
575
|
+
shadows: [
|
576
|
+
{
|
577
|
+
color: Skia.Color("#ff000044"),
|
578
|
+
blurRadius: 4,
|
579
|
+
offset: { x: 4, y: 4 },
|
580
|
+
},
|
581
|
+
],
|
582
|
+
})
|
583
|
+
.addText("Hello Skia with red shadow")
|
584
|
+
.build();
|
585
|
+
para.layout(150);
|
586
|
+
return { height: para.getHeight(), width: para.getMaxWidth() };
|
587
|
+
});
|
588
|
+
expect(width).toBe(150);
|
589
|
+
expect(height).toBeGreaterThan(25);
|
590
|
+
});
|
591
|
+
itRunsE2eOnly("should support font shadows", async () => {
|
592
|
+
const img = await surface.drawOffscreen((Skia, canvas) => {
|
593
|
+
const para = Skia.ParagraphBuilder.Make()
|
594
|
+
.pushStyle({
|
595
|
+
color: Skia.Color("black"),
|
596
|
+
fontSize: 25,
|
597
|
+
shadows: [
|
598
|
+
{
|
599
|
+
color: Skia.Color("#ff000044"),
|
600
|
+
blurRadius: 4,
|
601
|
+
offset: { x: 4, y: 4 },
|
602
|
+
},
|
603
|
+
],
|
604
|
+
})
|
605
|
+
.addText("Hello Skia with red shadow")
|
606
|
+
.build();
|
607
|
+
para.layout(150);
|
608
|
+
para.paint(canvas, 0, 0);
|
609
|
+
});
|
610
|
+
checkImage(
|
611
|
+
img,
|
612
|
+
`snapshots/paragraph/paragraph-text-style-font-shadow-${surface.OS}.png`
|
613
|
+
);
|
614
|
+
});
|
615
|
+
});
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import React from "react";
|
2
|
+
|
3
|
+
import type { Skia } from "../../../skia/types";
|
4
|
+
import { checkImage, itRunsE2eOnly } from "../../../__tests__/setup";
|
5
|
+
import {
|
6
|
+
DiscretePathEffect,
|
7
|
+
Fill,
|
8
|
+
Path,
|
9
|
+
SumPathEffect,
|
10
|
+
} from "../../components";
|
11
|
+
import { surface, importSkia } from "../setup";
|
12
|
+
|
13
|
+
const star = (Skia: Skia) => {
|
14
|
+
const R = 115.2;
|
15
|
+
const C = 128.0;
|
16
|
+
const path = Skia.Path.Make();
|
17
|
+
path.moveTo(C + R, C);
|
18
|
+
for (let i = 1; i < 8; ++i) {
|
19
|
+
const a = 2.6927937 * i;
|
20
|
+
path.lineTo(C + R * Math.cos(a), C + R * Math.sin(a));
|
21
|
+
}
|
22
|
+
return path;
|
23
|
+
};
|
24
|
+
|
25
|
+
describe("Path Effects", () => {
|
26
|
+
// Everything noise related, we don't want to run on a CPU backend
|
27
|
+
itRunsE2eOnly("should apply the discrete path effect nicely", async () => {
|
28
|
+
const { Skia } = importSkia();
|
29
|
+
const path = star(Skia);
|
30
|
+
const img = await surface.draw(
|
31
|
+
<>
|
32
|
+
<Fill color="white" />
|
33
|
+
<Path path={path} style="stroke" strokeWidth={2} color="lightblue">
|
34
|
+
<DiscretePathEffect length={10} deviation={4} seed={0} />
|
35
|
+
</Path>
|
36
|
+
</>
|
37
|
+
);
|
38
|
+
checkImage(img, "snapshots/path-effects/discrete.png");
|
39
|
+
});
|
40
|
+
itRunsE2eOnly("should sum two path effects", async () => {
|
41
|
+
const { Skia } = importSkia();
|
42
|
+
const path = star(Skia);
|
43
|
+
let img = await surface.draw(
|
44
|
+
<>
|
45
|
+
<Fill color="white" />
|
46
|
+
<Path path={path} style="stroke" strokeWidth={2} color="lightblue">
|
47
|
+
<SumPathEffect>
|
48
|
+
<DiscretePathEffect length={10} deviation={4} seed={0} />
|
49
|
+
<DiscretePathEffect length={10} deviation={4} seed={12345} />
|
50
|
+
</SumPathEffect>
|
51
|
+
</Path>
|
52
|
+
</>
|
53
|
+
);
|
54
|
+
checkImage(img, "snapshots/path-effects/discrete.png", {
|
55
|
+
shouldFail: true,
|
56
|
+
});
|
57
|
+
checkImage(img, "snapshots/path-effects/sum.png");
|
58
|
+
img = await surface.draw(
|
59
|
+
<>
|
60
|
+
<Fill color="white" />
|
61
|
+
<Path path={path} style="stroke" strokeWidth={2} color="lightblue">
|
62
|
+
<SumPathEffect>
|
63
|
+
<DiscretePathEffect length={10} deviation={4} seed={0} />
|
64
|
+
<DiscretePathEffect length={10} deviation={4} seed={12345} />
|
65
|
+
<DiscretePathEffect length={10} deviation={4} seed={123456789} />
|
66
|
+
</SumPathEffect>
|
67
|
+
</Path>
|
68
|
+
</>
|
69
|
+
);
|
70
|
+
checkImage(img, "snapshots/path-effects/sum.png", { shouldFail: true });
|
71
|
+
checkImage(img, "snapshots/path-effects/sum2.png");
|
72
|
+
});
|
73
|
+
});
|