@shopify/react-native-skia 1.7.6 → 1.7.7
Sign up to get free protection for your applications and to get access to all the features.
- package/android/cpp/rnskia-android/OpenGLWindowContext.h +8 -1
- package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp +4 -4
- package/android/cpp/rnskia-android/RNSkOpenGLCanvasProvider.h +2 -2
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaBaseView.java +13 -0
- package/android/src/main/java/com/shopify/reactnative/skia/SkiaTextureView.java +24 -1
- package/cpp/rnskia/RNSkJsiViewApi.h +0 -3
- package/cpp/rnskia/RNSkView.h +6 -6
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.h +2 -2
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +2 -2
- package/lib/commonjs/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +2 -3
- package/lib/commonjs/dom/nodes/datatypes/Circle.js +11 -6
- package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Enum.js +1 -0
- package/lib/commonjs/dom/nodes/datatypes/Enum.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Fitting.js +1 -10
- package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Gradient.js +3 -2
- package/lib/commonjs/dom/nodes/datatypes/Gradient.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Path.js +4 -1
- package/lib/commonjs/dom/nodes/datatypes/Path.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Radius.js +1 -0
- package/lib/commonjs/dom/nodes/datatypes/Radius.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +3 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.js +17 -7
- package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +2 -1
- package/lib/commonjs/dom/nodes/datatypes/Transform.js +32 -1
- package/lib/commonjs/dom/nodes/datatypes/Transform.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/Box.js +4 -5
- package/lib/commonjs/dom/nodes/drawings/Box.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/CircleNode.js +1 -1
- package/lib/commonjs/dom/nodes/drawings/CircleNode.js.map +1 -1
- package/lib/commonjs/dom/types/DeclarationContext.d.ts +4 -4
- package/lib/commonjs/dom/types/DeclarationContext.js +8 -2
- package/lib/commonjs/dom/types/DeclarationContext.js.map +1 -1
- package/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
- package/lib/commonjs/external/reanimated/renderHelpers.js +11 -6
- package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/commonjs/renderer/HostConfig.js +8 -4
- package/lib/commonjs/renderer/HostConfig.js.map +1 -1
- package/lib/commonjs/renderer/__tests__/setup.d.ts +2 -3
- package/lib/commonjs/renderer/processors/Animations/Animations.d.ts +1 -2
- package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/commonjs/renderer/typeddash.js +5 -1
- package/lib/commonjs/renderer/typeddash.js.map +1 -1
- package/lib/commonjs/skia/__tests__/setup.d.ts +0 -3
- package/lib/commonjs/skia/types/Path/Path.js +5 -1
- package/lib/commonjs/skia/types/Path/Path.js.map +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.js +8 -6
- package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
- package/lib/commonjs/sksg/Container.d.ts +19 -0
- package/lib/commonjs/sksg/Container.js +102 -0
- package/lib/commonjs/sksg/Container.js.map +1 -0
- package/lib/commonjs/sksg/DrawingContext.d.ts +16 -0
- package/lib/commonjs/sksg/DrawingContext.js +186 -0
- package/lib/commonjs/sksg/DrawingContext.js.map +1 -0
- package/lib/commonjs/sksg/HostConfig.d.ts +19 -0
- package/lib/commonjs/sksg/HostConfig.js +168 -0
- package/lib/commonjs/sksg/HostConfig.js.map +1 -0
- package/lib/commonjs/sksg/Reconciler.d.ts +17 -0
- package/lib/commonjs/sksg/Reconciler.js +54 -0
- package/lib/commonjs/sksg/Reconciler.js.map +1 -0
- package/lib/commonjs/sksg/__tests__/MockDeclaration.d.ts +57 -0
- package/lib/commonjs/sksg/nodes/Node.d.ts +7 -0
- package/lib/commonjs/sksg/nodes/Node.js +6 -0
- package/lib/commonjs/sksg/nodes/Node.js.map +1 -0
- package/lib/commonjs/sksg/nodes/colorFilters.d.ts +7 -0
- package/lib/commonjs/sksg/nodes/colorFilters.js +55 -0
- package/lib/commonjs/sksg/nodes/colorFilters.js.map +1 -0
- package/lib/commonjs/sksg/nodes/context.d.ts +3 -0
- package/lib/commonjs/sksg/nodes/context.js +448 -0
- package/lib/commonjs/sksg/nodes/context.js.map +1 -0
- package/lib/commonjs/sksg/nodes/drawings.d.ts +31 -0
- package/lib/commonjs/sksg/nodes/drawings.js +361 -0
- package/lib/commonjs/sksg/nodes/drawings.js.map +1 -0
- package/lib/commonjs/sksg/nodes/imageFilters.d.ts +14 -0
- package/lib/commonjs/sksg/nodes/imageFilters.js +135 -0
- package/lib/commonjs/sksg/nodes/imageFilters.js.map +1 -0
- package/lib/commonjs/sksg/nodes/index.d.ts +3 -0
- package/lib/commonjs/sksg/nodes/index.js +39 -0
- package/lib/commonjs/sksg/nodes/index.js.map +1 -0
- package/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
- package/lib/commonjs/sksg/nodes/paint.js +80 -0
- package/lib/commonjs/sksg/nodes/paint.js.map +1 -0
- package/lib/commonjs/sksg/nodes/pathEffects.d.ts +8 -0
- package/lib/commonjs/sksg/nodes/pathEffects.js +84 -0
- package/lib/commonjs/sksg/nodes/pathEffects.js.map +1 -0
- package/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
- package/lib/commonjs/sksg/nodes/shaders.js +156 -0
- package/lib/commonjs/sksg/nodes/shaders.js.map +1 -0
- package/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
- package/lib/commonjs/sksg/nodes/utils.js +25 -0
- package/lib/commonjs/sksg/nodes/utils.js.map +1 -0
- package/lib/commonjs/views/SkiaPictureView.js +0 -2
- package/lib/commonjs/views/SkiaPictureView.js.map +1 -1
- package/lib/commonjs/views/types.d.ts +2 -2
- package/lib/commonjs/views/types.js.map +1 -1
- package/lib/module/dom/nodes/JsiSkDOM.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Circle.d.ts +2 -3
- package/lib/module/dom/nodes/datatypes/Circle.js +12 -6
- package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Enum.js +2 -0
- package/lib/module/dom/nodes/datatypes/Enum.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Fitting.js +2 -10
- package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Gradient.js +4 -2
- package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Path.js +5 -1
- package/lib/module/dom/nodes/datatypes/Path.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Radius.js +2 -0
- package/lib/module/dom/nodes/datatypes/Radius.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Rect.d.ts +3 -1
- package/lib/module/dom/nodes/datatypes/Rect.js +14 -5
- package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Transform.d.ts +2 -1
- package/lib/module/dom/nodes/datatypes/Transform.js +31 -0
- package/lib/module/dom/nodes/datatypes/Transform.js.map +1 -1
- package/lib/module/dom/nodes/drawings/Box.js +1 -2
- package/lib/module/dom/nodes/drawings/Box.js.map +1 -1
- package/lib/module/dom/nodes/drawings/CircleNode.js +1 -1
- package/lib/module/dom/nodes/drawings/CircleNode.js.map +1 -1
- package/lib/module/dom/types/DeclarationContext.d.ts +4 -4
- package/lib/module/dom/types/DeclarationContext.js +9 -2
- package/lib/module/dom/types/DeclarationContext.js.map +1 -1
- package/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
- package/lib/module/external/reanimated/renderHelpers.js +8 -4
- package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/module/renderer/HostConfig.js +8 -4
- package/lib/module/renderer/HostConfig.js.map +1 -1
- package/lib/module/renderer/__tests__/setup.d.ts +2 -3
- package/lib/module/renderer/processors/Animations/Animations.d.ts +1 -2
- package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/module/renderer/typeddash.js +5 -1
- package/lib/module/renderer/typeddash.js.map +1 -1
- package/lib/module/skia/__tests__/setup.d.ts +0 -3
- package/lib/module/skia/types/Path/Path.js +5 -1
- package/lib/module/skia/types/Path/Path.js.map +1 -1
- package/lib/module/skia/types/Shader/Shader.js +9 -6
- package/lib/module/skia/types/Shader/Shader.js.map +1 -1
- package/lib/module/sksg/Container.d.ts +19 -0
- package/lib/module/sksg/Container.js +94 -0
- package/lib/module/sksg/Container.js.map +1 -0
- package/lib/module/sksg/DrawingContext.d.ts +16 -0
- package/lib/module/sksg/DrawingContext.js +180 -0
- package/lib/module/sksg/DrawingContext.js.map +1 -0
- package/lib/module/sksg/HostConfig.d.ts +19 -0
- package/lib/module/sksg/HostConfig.js +161 -0
- package/lib/module/sksg/HostConfig.js.map +1 -0
- package/lib/module/sksg/Reconciler.d.ts +17 -0
- package/lib/module/sksg/Reconciler.js +46 -0
- package/lib/module/sksg/Reconciler.js.map +1 -0
- package/lib/module/sksg/__tests__/MockDeclaration.d.ts +57 -0
- package/lib/module/sksg/nodes/Node.d.ts +7 -0
- package/lib/module/sksg/nodes/Node.js +2 -0
- package/lib/module/sksg/nodes/Node.js.map +1 -0
- package/lib/module/sksg/nodes/colorFilters.d.ts +7 -0
- package/lib/module/sksg/nodes/colorFilters.js +44 -0
- package/lib/module/sksg/nodes/colorFilters.js.map +1 -0
- package/lib/module/sksg/nodes/context.d.ts +3 -0
- package/lib/module/sksg/nodes/context.js +443 -0
- package/lib/module/sksg/nodes/context.js.map +1 -0
- package/lib/module/sksg/nodes/drawings.d.ts +31 -0
- package/lib/module/sksg/nodes/drawings.js +334 -0
- package/lib/module/sksg/nodes/drawings.js.map +1 -0
- package/lib/module/sksg/nodes/imageFilters.d.ts +14 -0
- package/lib/module/sksg/nodes/imageFilters.js +122 -0
- package/lib/module/sksg/nodes/imageFilters.js.map +1 -0
- package/lib/module/sksg/nodes/index.d.ts +3 -0
- package/lib/module/sksg/nodes/index.js +4 -0
- package/lib/module/sksg/nodes/index.js.map +1 -0
- package/lib/module/sksg/nodes/paint.d.ts +2 -0
- package/lib/module/sksg/nodes/paint.js +74 -0
- package/lib/module/sksg/nodes/paint.js.map +1 -0
- package/lib/module/sksg/nodes/pathEffects.d.ts +8 -0
- package/lib/module/sksg/nodes/pathEffects.js +72 -0
- package/lib/module/sksg/nodes/pathEffects.js.map +1 -0
- package/lib/module/sksg/nodes/shaders.d.ts +10 -0
- package/lib/module/sksg/nodes/shaders.js +142 -0
- package/lib/module/sksg/nodes/shaders.js.map +1 -0
- package/lib/module/sksg/nodes/utils.d.ts +3 -0
- package/lib/module/sksg/nodes/utils.js +18 -0
- package/lib/module/sksg/nodes/utils.js.map +1 -0
- package/lib/module/views/SkiaPictureView.js +0 -2
- package/lib/module/views/SkiaPictureView.js.map +1 -1
- package/lib/module/views/types.d.ts +2 -2
- package/lib/module/views/types.js.map +1 -1
- package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Circle.d.ts +1 -1
- package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Rect.d.ts +2 -0
- package/lib/typescript/lib/commonjs/dom/nodes/datatypes/Transform.d.ts +1 -0
- package/lib/typescript/lib/commonjs/external/reanimated/renderHelpers.d.ts +2 -0
- package/lib/typescript/lib/commonjs/renderer/HostConfig.d.ts +3 -1
- package/lib/typescript/lib/commonjs/sksg/Container.d.ts +16 -0
- package/lib/typescript/lib/commonjs/sksg/DrawingContext.d.ts +26 -0
- package/lib/typescript/lib/commonjs/sksg/HostConfig.d.ts +50 -0
- package/lib/typescript/lib/commonjs/sksg/Reconciler.d.ts +16 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/Node.d.ts +1 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/colorFilters.d.ts +7 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/context.d.ts +2 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/drawings.d.ts +23 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/imageFilters.d.ts +10 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/index.d.ts +1 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/paint.d.ts +2 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/pathEffects.d.ts +8 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/shaders.d.ts +10 -0
- package/lib/typescript/lib/commonjs/sksg/nodes/utils.d.ts +3 -0
- package/lib/typescript/lib/module/dom/nodes/datatypes/Circle.d.ts +1 -1
- package/lib/typescript/lib/module/dom/nodes/datatypes/Rect.d.ts +2 -0
- package/lib/typescript/lib/module/dom/nodes/datatypes/Transform.d.ts +1 -0
- package/lib/typescript/lib/module/external/reanimated/renderHelpers.d.ts +2 -0
- package/lib/typescript/lib/module/mock/index.d.ts +4 -1
- package/lib/typescript/lib/module/renderer/HostConfig.d.ts +3 -1
- package/lib/typescript/lib/module/sksg/Container.d.ts +15 -0
- package/lib/typescript/lib/module/sksg/DrawingContext.d.ts +26 -0
- package/lib/typescript/lib/module/sksg/HostConfig.d.ts +49 -0
- package/lib/typescript/lib/module/sksg/Reconciler.d.ts +15 -0
- package/lib/typescript/lib/module/sksg/nodes/colorFilters.d.ts +6 -0
- package/lib/typescript/lib/module/sksg/nodes/context.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/nodes/drawings.d.ts +22 -0
- package/lib/typescript/lib/module/sksg/nodes/imageFilters.d.ts +9 -0
- package/lib/typescript/lib/module/sksg/nodes/index.d.ts +3 -0
- package/lib/typescript/lib/module/sksg/nodes/paint.d.ts +1 -0
- package/lib/typescript/lib/module/sksg/nodes/pathEffects.d.ts +7 -0
- package/lib/typescript/lib/module/sksg/nodes/shaders.d.ts +9 -0
- package/lib/typescript/lib/module/sksg/nodes/utils.d.ts +2 -0
- package/lib/typescript/src/dom/nodes/datatypes/Circle.d.ts +2 -3
- package/lib/typescript/src/dom/nodes/datatypes/Rect.d.ts +3 -1
- package/lib/typescript/src/dom/nodes/datatypes/Transform.d.ts +2 -1
- package/lib/typescript/src/dom/types/DeclarationContext.d.ts +4 -4
- package/lib/typescript/src/external/reanimated/renderHelpers.d.ts +2 -0
- package/lib/typescript/src/renderer/__tests__/setup.d.ts +2 -3
- package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +1 -2
- package/lib/typescript/src/skia/__tests__/setup.d.ts +0 -3
- package/lib/typescript/src/sksg/Container.d.ts +19 -0
- package/lib/typescript/src/sksg/DrawingContext.d.ts +16 -0
- package/lib/typescript/src/sksg/HostConfig.d.ts +19 -0
- package/lib/typescript/src/sksg/Reconciler.d.ts +17 -0
- package/lib/typescript/src/sksg/__tests__/MockDeclaration.d.ts +57 -0
- package/lib/typescript/src/sksg/nodes/Node.d.ts +7 -0
- package/lib/typescript/src/sksg/nodes/colorFilters.d.ts +7 -0
- package/lib/typescript/src/sksg/nodes/context.d.ts +3 -0
- package/lib/typescript/src/sksg/nodes/drawings.d.ts +31 -0
- package/lib/typescript/src/sksg/nodes/imageFilters.d.ts +14 -0
- package/lib/typescript/src/sksg/nodes/index.d.ts +3 -0
- package/lib/typescript/src/sksg/nodes/paint.d.ts +2 -0
- package/lib/typescript/src/sksg/nodes/pathEffects.d.ts +8 -0
- package/lib/typescript/src/sksg/nodes/shaders.d.ts +10 -0
- package/lib/typescript/src/sksg/nodes/utils.d.ts +3 -0
- package/lib/typescript/src/views/types.d.ts +2 -2
- package/libs/{ios → apple}/libskia.xcframework/Info.plist +15 -0
- package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/{ios → apple}/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/apple/libskia.xcframework/macos-arm64_x86_64/libskia.a +0 -0
- package/libs/{ios → apple}/libskottie.xcframework/Info.plist +20 -5
- package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/{ios → apple}/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/apple/libskottie.xcframework/macos-arm64_x86_64/libskottie.a +0 -0
- package/libs/{ios → apple}/libskparagraph.xcframework/Info.plist +20 -5
- package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/{ios → apple}/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/apple/libskparagraph.xcframework/macos-arm64_x86_64/libskparagraph.a +0 -0
- package/libs/{ios → apple}/libsksg.xcframework/Info.plist +15 -0
- package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/{ios → apple}/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/apple/libsksg.xcframework/macos-arm64_x86_64/libsksg.a +0 -0
- package/libs/{ios → apple}/libskshaper.xcframework/Info.plist +20 -5
- package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/{ios → apple}/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/apple/libskshaper.xcframework/macos-arm64_x86_64/libskshaper.a +0 -0
- package/libs/{ios → apple}/libskunicode_core.xcframework/Info.plist +18 -3
- package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e/libskunicode_core.a +0 -0
- package/libs/{ios → apple}/libskunicode_core.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_core.a +0 -0
- package/libs/apple/libskunicode_core.xcframework/macos-arm64_x86_64/libskunicode_core.a +0 -0
- package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/Info.plist +15 -0
- package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e/libskunicode_libgrapheme.a +0 -0
- package/libs/{ios → apple}/libskunicode_libgrapheme.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode_libgrapheme.a +0 -0
- package/libs/apple/libskunicode_libgrapheme.xcframework/macos-arm64_x86_64/libskunicode_libgrapheme.a +0 -0
- package/libs/{ios → apple}/libsvg.xcframework/Info.plist +15 -0
- package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/{ios → apple}/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/libs/apple/libsvg.xcframework/macos-arm64_x86_64/libsvg.a +0 -0
- package/package.json +3 -3
- package/react-native-skia.podspec +9 -9
- package/src/__tests__/setup.ts +1 -1
- package/src/__tests__/snapshots/sksg/breathe-0.png +0 -0
- package/src/__tests__/snapshots/sksg/breathe.png +0 -0
- package/src/__tests__/snapshots/sksg/simple.png +0 -0
- package/src/__tests__/snapshots/sksg/simple2.png +0 -0
- package/src/dom/nodes/JsiSkDOM.ts +2 -1
- package/src/dom/nodes/datatypes/Circle.ts +7 -5
- package/src/dom/nodes/datatypes/Enum.ts +2 -0
- package/src/dom/nodes/datatypes/Fitting.ts +2 -5
- package/src/dom/nodes/datatypes/Gradient.ts +4 -7
- package/src/dom/nodes/datatypes/Path.ts +5 -2
- package/src/dom/nodes/datatypes/Radius.ts +2 -0
- package/src/dom/nodes/datatypes/Rect.ts +40 -6
- package/src/dom/nodes/datatypes/Transform.ts +29 -1
- package/src/dom/nodes/drawings/Box.ts +1 -29
- package/src/dom/nodes/drawings/CircleNode.ts +1 -1
- package/src/dom/types/DeclarationContext.ts +12 -2
- package/src/external/reanimated/renderHelpers.ts +8 -4
- package/src/renderer/HostConfig.ts +10 -4
- package/src/renderer/__tests__/documentation/shapes/Box.spec.tsx +2 -2
- package/src/renderer/__tests__/setup.tsx +17 -15
- package/src/renderer/processors/Animations/Animations.ts +1 -5
- package/src/renderer/typeddash.ts +4 -2
- package/src/skia/__tests__/setup.ts +1 -51
- package/src/skia/types/Path/Path.ts +4 -2
- package/src/skia/types/Shader/Shader.ts +7 -4
- package/src/sksg/Container.ts +102 -0
- package/src/sksg/DrawingContext.ts +221 -0
- package/src/sksg/HostConfig.ts +287 -0
- package/src/sksg/Reconciler.ts +59 -0
- package/src/sksg/__tests__/Declarations.spec.tsx +235 -0
- package/src/sksg/__tests__/MockDeclaration.ts +140 -0
- package/src/sksg/__tests__/Simple.spec.tsx +148 -0
- package/src/sksg/nodes/Node.ts +8 -0
- package/src/sksg/nodes/colorFilters.ts +60 -0
- package/src/sksg/nodes/context.ts +489 -0
- package/src/sksg/nodes/drawings.ts +393 -0
- package/src/sksg/nodes/imageFilters.ts +183 -0
- package/src/sksg/nodes/index.ts +3 -0
- package/src/sksg/nodes/paint.ts +75 -0
- package/src/sksg/nodes/pathEffects.ts +95 -0
- package/src/sksg/nodes/shaders.ts +203 -0
- package/src/sksg/nodes/utils.ts +23 -0
- package/src/views/SkiaPictureView.tsx +0 -2
- package/src/views/types.ts +2 -2
- package/lib/commonjs/dom/__tests__/Shaders.spec.d.ts +0 -1
- package/lib/commonjs/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Compose.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Demos.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/DrawingContext.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Drawings.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Group.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Paint.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/RenderNodes.spec.d.ts +0 -1
- package/lib/module/dom/__tests__/Shaders.spec.d.ts +0 -1
- package/lib/module/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Compose.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Demos.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/DrawingContext.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Drawings.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Group.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Paint.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/RenderNodes.spec.d.ts +0 -1
- package/lib/typescript/src/dom/__tests__/Shaders.spec.d.ts +0 -1
- package/lib/typescript/src/renderer/__tests__/SkiaDOM.spec.d.ts +0 -1
- package/src/dom/__tests__/Compose.spec.tsx +0 -42
- package/src/dom/__tests__/Demos.spec.tsx +0 -145
- package/src/dom/__tests__/DrawingContext.spec.tsx +0 -99
- package/src/dom/__tests__/Drawings.spec.tsx +0 -95
- package/src/dom/__tests__/Group.spec.tsx +0 -132
- package/src/dom/__tests__/Paint.spec.tsx +0 -100
- package/src/dom/__tests__/RenderNodes.spec.tsx +0 -44
- package/src/dom/__tests__/Shaders.spec.tsx +0 -123
- package/src/renderer/__tests__/SkiaDOM.spec.tsx +0 -46
- /package/lib/commonjs/{dom/__tests__/Compose.spec.d.ts → sksg/__tests__/Declarations.spec.d.ts} +0 -0
- /package/lib/commonjs/{dom/__tests__/Demos.spec.d.ts → sksg/__tests__/Simple.spec.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/DrawingContext.spec.d.ts → module/sksg/__tests__/Declarations.spec.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/Drawings.spec.d.ts → module/sksg/__tests__/Simple.spec.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/Group.spec.d.ts → typescript/lib/module/sksg/nodes/Node.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/Paint.spec.d.ts → typescript/src/sksg/__tests__/Declarations.spec.d.ts} +0 -0
- /package/lib/{commonjs/dom/__tests__/RenderNodes.spec.d.ts → typescript/src/sksg/__tests__/Simple.spec.d.ts} +0 -0
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { CornerPathEffectProps, DashPathEffectProps, DeclarationContext, DiscretePathEffectProps, Line2DPathEffectProps, Path1DPathEffectProps, Path2DPathEffectProps } from "../../dom/types";
|
2
|
+
export declare const makeDiscretePathEffect: (ctx: DeclarationContext, props: DiscretePathEffectProps) => import("../../skia/types").SkPathEffect;
|
3
|
+
export declare const makePath2DPathEffect: (ctx: DeclarationContext, props: Path2DPathEffectProps) => import("../../skia/types").SkPathEffect;
|
4
|
+
export declare const makeDashPathEffect: (ctx: DeclarationContext, props: DashPathEffectProps) => import("../../skia/types").SkPathEffect;
|
5
|
+
export declare const makeCornerPathEffect: (ctx: DeclarationContext, props: CornerPathEffectProps) => import("../../skia/types").SkPathEffect;
|
6
|
+
export declare const declareSumPathEffect: (ctx: DeclarationContext) => void;
|
7
|
+
export declare const makeLine2DPathEffect: (ctx: DeclarationContext, props: Line2DPathEffectProps) => import("../../skia/types").SkPathEffect;
|
8
|
+
export declare const makePath1DPathEffect: (ctx: DeclarationContext, props: Path1DPathEffectProps) => import("../../skia/types").SkPathEffect;
|
@@ -0,0 +1,72 @@
|
|
1
|
+
"worklet";
|
2
|
+
|
3
|
+
import { composeDeclarations, enumKey, processPath } from "../../dom/nodes";
|
4
|
+
import { Path1DEffectStyle } from "../../skia/types";
|
5
|
+
export const makeDiscretePathEffect = (ctx, props) => {
|
6
|
+
const {
|
7
|
+
length,
|
8
|
+
deviation,
|
9
|
+
seed
|
10
|
+
} = props;
|
11
|
+
return ctx.Skia.PathEffect.MakeDiscrete(length, deviation, seed);
|
12
|
+
};
|
13
|
+
export const makePath2DPathEffect = (ctx, props) => {
|
14
|
+
const {
|
15
|
+
matrix
|
16
|
+
} = props;
|
17
|
+
const path = processPath(ctx.Skia, props.path);
|
18
|
+
const pe = ctx.Skia.PathEffect.MakePath2D(matrix, path);
|
19
|
+
if (pe === null) {
|
20
|
+
throw new Error("Path2DPathEffect: invalid path");
|
21
|
+
}
|
22
|
+
return pe;
|
23
|
+
};
|
24
|
+
export const makeDashPathEffect = (ctx, props) => {
|
25
|
+
const {
|
26
|
+
intervals,
|
27
|
+
phase
|
28
|
+
} = props;
|
29
|
+
const pe = ctx.Skia.PathEffect.MakeDash(intervals, phase);
|
30
|
+
return pe;
|
31
|
+
};
|
32
|
+
export const makeCornerPathEffect = (ctx, props) => {
|
33
|
+
const {
|
34
|
+
r
|
35
|
+
} = props;
|
36
|
+
const pe = ctx.Skia.PathEffect.MakeCorner(r);
|
37
|
+
if (pe === null) {
|
38
|
+
throw new Error("CornerPathEffect: couldn't create path effect");
|
39
|
+
}
|
40
|
+
return pe;
|
41
|
+
};
|
42
|
+
export const declareSumPathEffect = ctx => {
|
43
|
+
// Note: decorateChildren functionality needs to be handled differently
|
44
|
+
const pes = ctx.pathEffects.popAll();
|
45
|
+
const pe = composeDeclarations(pes, ctx.Skia.PathEffect.MakeSum.bind(ctx.Skia.PathEffect));
|
46
|
+
ctx.pathEffects.push(pe);
|
47
|
+
};
|
48
|
+
export const makeLine2DPathEffect = (ctx, props) => {
|
49
|
+
const {
|
50
|
+
width,
|
51
|
+
matrix
|
52
|
+
} = props;
|
53
|
+
const pe = ctx.Skia.PathEffect.MakeLine2D(width, matrix);
|
54
|
+
if (pe === null) {
|
55
|
+
throw new Error("Line2DPathEffect: could not create path effect");
|
56
|
+
}
|
57
|
+
return pe;
|
58
|
+
};
|
59
|
+
export const makePath1DPathEffect = (ctx, props) => {
|
60
|
+
const {
|
61
|
+
advance,
|
62
|
+
phase,
|
63
|
+
style
|
64
|
+
} = props;
|
65
|
+
const path = processPath(ctx.Skia, props.path);
|
66
|
+
const pe = ctx.Skia.PathEffect.MakePath1D(path, advance, phase, Path1DEffectStyle[enumKey(style)]);
|
67
|
+
if (pe === null) {
|
68
|
+
throw new Error("Path1DPathEffect: could not create path effect");
|
69
|
+
}
|
70
|
+
return pe;
|
71
|
+
};
|
72
|
+
//# sourceMappingURL=pathEffects.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["composeDeclarations","enumKey","processPath","Path1DEffectStyle","makeDiscretePathEffect","ctx","props","length","deviation","seed","Skia","PathEffect","MakeDiscrete","makePath2DPathEffect","matrix","path","pe","MakePath2D","Error","makeDashPathEffect","intervals","phase","MakeDash","makeCornerPathEffect","r","MakeCorner","declareSumPathEffect","pes","pathEffects","popAll","MakeSum","bind","push","makeLine2DPathEffect","width","MakeLine2D","makePath1DPathEffect","advance","style","MakePath1D"],"sources":["pathEffects.ts"],"sourcesContent":["\"worklet\";\n\nimport { composeDeclarations, enumKey, processPath } from \"../../dom/nodes\";\nimport type {\n CornerPathEffectProps,\n DashPathEffectProps,\n DeclarationContext,\n DiscretePathEffectProps,\n Line2DPathEffectProps,\n Path1DPathEffectProps,\n Path2DPathEffectProps,\n} from \"../../dom/types\";\nimport { Path1DEffectStyle } from \"../../skia/types\";\n\nexport const makeDiscretePathEffect = (\n ctx: DeclarationContext,\n props: DiscretePathEffectProps\n) => {\n const { length, deviation, seed } = props;\n return ctx.Skia.PathEffect.MakeDiscrete(length, deviation, seed);\n};\n\nexport const makePath2DPathEffect = (\n ctx: DeclarationContext,\n props: Path2DPathEffectProps\n) => {\n const { matrix } = props;\n const path = processPath(ctx.Skia, props.path);\n const pe = ctx.Skia.PathEffect.MakePath2D(matrix, path);\n if (pe === null) {\n throw new Error(\"Path2DPathEffect: invalid path\");\n }\n return pe;\n};\n\nexport const makeDashPathEffect = (\n ctx: DeclarationContext,\n props: DashPathEffectProps\n) => {\n const { intervals, phase } = props;\n const pe = ctx.Skia.PathEffect.MakeDash(intervals, phase);\n return pe;\n};\n\nexport const makeCornerPathEffect = (\n ctx: DeclarationContext,\n props: CornerPathEffectProps\n) => {\n const { r } = props;\n const pe = ctx.Skia.PathEffect.MakeCorner(r);\n if (pe === null) {\n throw new Error(\"CornerPathEffect: couldn't create path effect\");\n }\n return pe;\n};\n\nexport const declareSumPathEffect = (ctx: DeclarationContext) => {\n // Note: decorateChildren functionality needs to be handled differently\n const pes = ctx.pathEffects.popAll();\n const pe = composeDeclarations(\n pes,\n ctx.Skia.PathEffect.MakeSum.bind(ctx.Skia.PathEffect)\n );\n ctx.pathEffects.push(pe);\n};\n\nexport const makeLine2DPathEffect = (\n ctx: DeclarationContext,\n props: Line2DPathEffectProps\n) => {\n const { width, matrix } = props;\n const pe = ctx.Skia.PathEffect.MakeLine2D(width, matrix);\n if (pe === null) {\n throw new Error(\"Line2DPathEffect: could not create path effect\");\n }\n return pe;\n};\n\nexport const makePath1DPathEffect = (\n ctx: DeclarationContext,\n props: Path1DPathEffectProps\n) => {\n const { advance, phase, style } = props;\n const path = processPath(ctx.Skia, props.path);\n const pe = ctx.Skia.PathEffect.MakePath1D(\n path,\n advance,\n phase,\n Path1DEffectStyle[enumKey(style)]\n );\n if (pe === null) {\n throw new Error(\"Path1DPathEffect: could not create path effect\");\n }\n return pe;\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import type { ColorProps, DeclarationContext, FractalNoiseProps, ImageShaderProps, LinearGradientProps, RadialGradientProps, ShaderProps, SweepGradientProps, TurbulenceProps, TwoPointConicalGradientProps } from "../../dom/types";
|
2
|
+
export declare const declareShader: (ctx: DeclarationContext, props: ShaderProps) => void;
|
3
|
+
export declare const declareColorShader: (ctx: DeclarationContext, props: ColorProps) => void;
|
4
|
+
export declare const declareFractalNoiseShader: (ctx: DeclarationContext, props: FractalNoiseProps) => void;
|
5
|
+
export declare const declareTwoPointConicalGradientShader: (ctx: DeclarationContext, props: TwoPointConicalGradientProps) => void;
|
6
|
+
export declare const declareRadialGradientShader: (ctx: DeclarationContext, props: RadialGradientProps) => void;
|
7
|
+
export declare const declareSweepGradientShader: (ctx: DeclarationContext, props: SweepGradientProps) => void;
|
8
|
+
export declare const declareLinearGradientShader: (ctx: DeclarationContext, props: LinearGradientProps) => void;
|
9
|
+
export declare const declareTurbulenceShader: (ctx: DeclarationContext, props: TurbulenceProps) => void;
|
10
|
+
export declare const declareImageShader: (ctx: DeclarationContext, props: ImageShaderProps) => void;
|
@@ -0,0 +1,142 @@
|
|
1
|
+
"worklet";
|
2
|
+
|
3
|
+
import { enumKey, fitRects, getRect, processGradientProps, processTransformProps, rect2rect } from "../../dom/nodes";
|
4
|
+
import { FilterMode, MipmapMode, processUniforms, TileMode } from "../../skia/types";
|
5
|
+
export const declareShader = (ctx, props) => {
|
6
|
+
const {
|
7
|
+
source,
|
8
|
+
uniforms,
|
9
|
+
...transform
|
10
|
+
} = props;
|
11
|
+
const m3 = ctx.Skia.Matrix();
|
12
|
+
processTransformProps(m3, transform);
|
13
|
+
const shader = source.makeShaderWithChildren(processUniforms(source, uniforms), ctx.shaders.popAll(), m3);
|
14
|
+
ctx.shaders.push(shader);
|
15
|
+
};
|
16
|
+
export const declareColorShader = (ctx, props) => {
|
17
|
+
const {
|
18
|
+
color
|
19
|
+
} = props;
|
20
|
+
const shader = ctx.Skia.Shader.MakeColor(ctx.Skia.Color(color));
|
21
|
+
ctx.shaders.push(shader);
|
22
|
+
};
|
23
|
+
export const declareFractalNoiseShader = (ctx, props) => {
|
24
|
+
const {
|
25
|
+
freqX,
|
26
|
+
freqY,
|
27
|
+
octaves,
|
28
|
+
seed,
|
29
|
+
tileWidth,
|
30
|
+
tileHeight
|
31
|
+
} = props;
|
32
|
+
const shader = ctx.Skia.Shader.MakeFractalNoise(freqX, freqY, octaves, seed, tileWidth, tileHeight);
|
33
|
+
ctx.shaders.push(shader);
|
34
|
+
};
|
35
|
+
export const declareTwoPointConicalGradientShader = (ctx, props) => {
|
36
|
+
const {
|
37
|
+
startR,
|
38
|
+
endR,
|
39
|
+
start,
|
40
|
+
end
|
41
|
+
} = props;
|
42
|
+
const {
|
43
|
+
colors,
|
44
|
+
positions,
|
45
|
+
mode,
|
46
|
+
localMatrix,
|
47
|
+
flags
|
48
|
+
} = processGradientProps(ctx.Skia, props);
|
49
|
+
const shader = ctx.Skia.Shader.MakeTwoPointConicalGradient(start, startR, end, endR, colors, positions, mode, localMatrix, flags);
|
50
|
+
ctx.shaders.push(shader);
|
51
|
+
};
|
52
|
+
export const declareRadialGradientShader = (ctx, props) => {
|
53
|
+
const {
|
54
|
+
c,
|
55
|
+
r
|
56
|
+
} = props;
|
57
|
+
const {
|
58
|
+
colors,
|
59
|
+
positions,
|
60
|
+
mode,
|
61
|
+
localMatrix,
|
62
|
+
flags
|
63
|
+
} = processGradientProps(ctx.Skia, props);
|
64
|
+
const shader = ctx.Skia.Shader.MakeRadialGradient(c, r, colors, positions, mode, localMatrix, flags);
|
65
|
+
ctx.shaders.push(shader);
|
66
|
+
};
|
67
|
+
export const declareSweepGradientShader = (ctx, props) => {
|
68
|
+
const {
|
69
|
+
c,
|
70
|
+
start,
|
71
|
+
end
|
72
|
+
} = props;
|
73
|
+
const {
|
74
|
+
colors,
|
75
|
+
positions,
|
76
|
+
mode,
|
77
|
+
localMatrix,
|
78
|
+
flags
|
79
|
+
} = processGradientProps(ctx.Skia, props);
|
80
|
+
const shader = ctx.Skia.Shader.MakeSweepGradient(c.x, c.y, colors, positions, mode, localMatrix, flags, start, end);
|
81
|
+
ctx.shaders.push(shader);
|
82
|
+
};
|
83
|
+
export const declareLinearGradientShader = (ctx, props) => {
|
84
|
+
const {
|
85
|
+
start,
|
86
|
+
end
|
87
|
+
} = props;
|
88
|
+
const {
|
89
|
+
colors,
|
90
|
+
positions,
|
91
|
+
mode,
|
92
|
+
localMatrix,
|
93
|
+
flags
|
94
|
+
} = processGradientProps(ctx.Skia, props);
|
95
|
+
const shader = ctx.Skia.Shader.MakeLinearGradient(start, end, colors, positions !== null && positions !== void 0 ? positions : null, mode, localMatrix, flags);
|
96
|
+
ctx.shaders.push(shader);
|
97
|
+
};
|
98
|
+
export const declareTurbulenceShader = (ctx, props) => {
|
99
|
+
const {
|
100
|
+
freqX,
|
101
|
+
freqY,
|
102
|
+
octaves,
|
103
|
+
seed,
|
104
|
+
tileWidth,
|
105
|
+
tileHeight
|
106
|
+
} = props;
|
107
|
+
const shader = ctx.Skia.Shader.MakeTurbulence(freqX, freqY, octaves, seed, tileWidth, tileHeight);
|
108
|
+
ctx.shaders.push(shader);
|
109
|
+
};
|
110
|
+
export const declareImageShader = (ctx, props) => {
|
111
|
+
const {
|
112
|
+
fit,
|
113
|
+
image,
|
114
|
+
tx,
|
115
|
+
ty,
|
116
|
+
fm,
|
117
|
+
mm,
|
118
|
+
...imageShaderProps
|
119
|
+
} = props;
|
120
|
+
if (!image) {
|
121
|
+
return;
|
122
|
+
}
|
123
|
+
const rct = getRect(ctx.Skia, imageShaderProps);
|
124
|
+
const m3 = ctx.Skia.Matrix();
|
125
|
+
if (rct) {
|
126
|
+
const rects = fitRects(fit, {
|
127
|
+
x: 0,
|
128
|
+
y: 0,
|
129
|
+
width: image.width(),
|
130
|
+
height: image.height()
|
131
|
+
}, rct);
|
132
|
+
const [x, y, sx, sy] = rect2rect(rects.src, rects.dst);
|
133
|
+
m3.translate(x.translateX, y.translateY);
|
134
|
+
m3.scale(sx.scaleX, sy.scaleY);
|
135
|
+
}
|
136
|
+
const lm = ctx.Skia.Matrix();
|
137
|
+
lm.concat(m3);
|
138
|
+
processTransformProps(lm, imageShaderProps);
|
139
|
+
const shader = image.makeShaderOptions(TileMode[enumKey(tx)], TileMode[enumKey(ty)], FilterMode[enumKey(fm)], MipmapMode[enumKey(mm)], lm);
|
140
|
+
ctx.shaders.push(shader);
|
141
|
+
};
|
142
|
+
//# sourceMappingURL=shaders.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["enumKey","fitRects","getRect","processGradientProps","processTransformProps","rect2rect","FilterMode","MipmapMode","processUniforms","TileMode","declareShader","ctx","props","source","uniforms","transform","m3","Skia","Matrix","shader","makeShaderWithChildren","shaders","popAll","push","declareColorShader","color","Shader","MakeColor","Color","declareFractalNoiseShader","freqX","freqY","octaves","seed","tileWidth","tileHeight","MakeFractalNoise","declareTwoPointConicalGradientShader","startR","endR","start","end","colors","positions","mode","localMatrix","flags","MakeTwoPointConicalGradient","declareRadialGradientShader","c","r","MakeRadialGradient","declareSweepGradientShader","MakeSweepGradient","x","y","declareLinearGradientShader","MakeLinearGradient","declareTurbulenceShader","MakeTurbulence","declareImageShader","fit","image","tx","ty","fm","mm","imageShaderProps","rct","rects","width","height","sx","sy","src","dst","translate","translateX","translateY","scale","scaleX","scaleY","lm","concat","makeShaderOptions"],"sources":["shaders.ts"],"sourcesContent":["\"worklet\";\n\nimport {\n enumKey,\n fitRects,\n getRect,\n processGradientProps,\n processTransformProps,\n rect2rect,\n} from \"../../dom/nodes\";\nimport type {\n ColorProps,\n DeclarationContext,\n FractalNoiseProps,\n ImageShaderProps,\n LinearGradientProps,\n RadialGradientProps,\n ShaderProps,\n SweepGradientProps,\n TurbulenceProps,\n TwoPointConicalGradientProps,\n} from \"../../dom/types\";\nimport {\n FilterMode,\n MipmapMode,\n processUniforms,\n TileMode,\n} from \"../../skia/types\";\n\nexport const declareShader = (ctx: DeclarationContext, props: ShaderProps) => {\n const { source, uniforms, ...transform } = props;\n const m3 = ctx.Skia.Matrix();\n processTransformProps(m3, transform);\n const shader = source.makeShaderWithChildren(\n processUniforms(source, uniforms),\n ctx.shaders.popAll(),\n m3\n );\n ctx.shaders.push(shader);\n};\n\nexport const declareColorShader = (\n ctx: DeclarationContext,\n props: ColorProps\n) => {\n const { color } = props;\n const shader = ctx.Skia.Shader.MakeColor(ctx.Skia.Color(color));\n ctx.shaders.push(shader);\n};\n\nexport const declareFractalNoiseShader = (\n ctx: DeclarationContext,\n props: FractalNoiseProps\n) => {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = props;\n const shader = ctx.Skia.Shader.MakeFractalNoise(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n ctx.shaders.push(shader);\n};\n\nexport const declareTwoPointConicalGradientShader = (\n ctx: DeclarationContext,\n props: TwoPointConicalGradientProps\n) => {\n const { startR, endR, start, end } = props;\n const { colors, positions, mode, localMatrix, flags } = processGradientProps(\n ctx.Skia,\n props\n );\n const shader = ctx.Skia.Shader.MakeTwoPointConicalGradient(\n start,\n startR,\n end,\n endR,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n};\n\nexport const declareRadialGradientShader = (\n ctx: DeclarationContext,\n props: RadialGradientProps\n) => {\n const { c, r } = props;\n const { colors, positions, mode, localMatrix, flags } = processGradientProps(\n ctx.Skia,\n props\n );\n const shader = ctx.Skia.Shader.MakeRadialGradient(\n c,\n r,\n colors,\n positions,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n};\n\nexport const declareSweepGradientShader = (\n ctx: DeclarationContext,\n props: SweepGradientProps\n) => {\n const { c, start, end } = props;\n const { colors, positions, mode, localMatrix, flags } = processGradientProps(\n ctx.Skia,\n props\n );\n const shader = ctx.Skia.Shader.MakeSweepGradient(\n c.x,\n c.y,\n colors,\n positions,\n mode,\n localMatrix,\n flags,\n start,\n end\n );\n ctx.shaders.push(shader);\n};\n\nexport const declareLinearGradientShader = (\n ctx: DeclarationContext,\n props: LinearGradientProps\n) => {\n const { start, end } = props;\n const { colors, positions, mode, localMatrix, flags } = processGradientProps(\n ctx.Skia,\n props\n );\n const shader = ctx.Skia.Shader.MakeLinearGradient(\n start,\n end,\n colors,\n positions ?? null,\n mode,\n localMatrix,\n flags\n );\n ctx.shaders.push(shader);\n};\n\nexport const declareTurbulenceShader = (\n ctx: DeclarationContext,\n props: TurbulenceProps\n) => {\n const { freqX, freqY, octaves, seed, tileWidth, tileHeight } = props;\n const shader = ctx.Skia.Shader.MakeTurbulence(\n freqX,\n freqY,\n octaves,\n seed,\n tileWidth,\n tileHeight\n );\n ctx.shaders.push(shader);\n};\n\nexport const declareImageShader = (\n ctx: DeclarationContext,\n props: ImageShaderProps\n) => {\n const { fit, image, tx, ty, fm, mm, ...imageShaderProps } = props;\n if (!image) {\n return;\n }\n\n const rct = getRect(ctx.Skia, imageShaderProps);\n const m3 = ctx.Skia.Matrix();\n if (rct) {\n const rects = fitRects(\n fit,\n { x: 0, y: 0, width: image.width(), height: image.height() },\n rct\n );\n const [x, y, sx, sy] = rect2rect(rects.src, rects.dst);\n m3.translate(x.translateX, y.translateY);\n m3.scale(sx.scaleX, sy.scaleY);\n }\n const lm = ctx.Skia.Matrix();\n lm.concat(m3);\n processTransformProps(lm, imageShaderProps);\n const shader = image.makeShaderOptions(\n TileMode[enumKey(tx)],\n TileMode[enumKey(ty)],\n FilterMode[enumKey(fm)],\n MipmapMode[enumKey(mm)],\n lm\n );\n ctx.shaders.push(shader);\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"worklet";
|
2
|
+
|
3
|
+
import { mapKeys } from "../../renderer/typeddash";
|
4
|
+
export const isSharedValue = value => {
|
5
|
+
// We cannot use `in` operator here because `value` could be a HostObject and therefore we cast.
|
6
|
+
return (value === null || value === void 0 ? void 0 : value._isReanimatedSharedValue) === true;
|
7
|
+
};
|
8
|
+
export const materialize = props => {
|
9
|
+
const result = Object.assign({}, props);
|
10
|
+
mapKeys(result).forEach(key => {
|
11
|
+
const value = result[key];
|
12
|
+
if (isSharedValue(value)) {
|
13
|
+
result[key] = value.value;
|
14
|
+
}
|
15
|
+
});
|
16
|
+
return result;
|
17
|
+
};
|
18
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["mapKeys","isSharedValue","value","_isReanimatedSharedValue","materialize","props","result","Object","assign","forEach","key"],"sources":["utils.ts"],"sourcesContent":["\"worklet\";\n\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport { mapKeys } from \"../../renderer/typeddash\";\n\nexport const isSharedValue = <T = unknown>(\n value: unknown\n): value is SharedValue<T> => {\n // We cannot use `in` operator here because `value` could be a HostObject and therefore we cast.\n return (value as Record<string, unknown>)?._isReanimatedSharedValue === true;\n};\n\nexport const materialize = <T extends object>(props: T) => {\n const result: T = Object.assign({}, props);\n mapKeys(result).forEach((key) => {\n const value = result[key];\n if (isSharedValue(value)) {\n result[key] = value.value as never;\n }\n });\n return result;\n};\n"],"mappings":"AAAA,SAAS;;AAIT,SAASA,OAAO,QAAQ,0BAA0B;AAElD,OAAO,MAAMC,aAAa,GACxBC,KAAc,IACc;EAC5B;EACA,OAAO,CAACA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAA8BC,wBAAwB,MAAK,IAAI;AAC9E,CAAC;AAED,OAAO,MAAMC,WAAW,GAAsBC,KAAQ,IAAK;EACzD,MAAMC,MAAS,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAEH,KAAK,CAAC;EAC1CL,OAAO,CAACM,MAAM,CAAC,CAACG,OAAO,CAAEC,GAAG,IAAK;IAC/B,MAAMR,KAAK,GAAGI,MAAM,CAACI,GAAG,CAAC;IACzB,IAAIT,aAAa,CAACC,KAAK,CAAC,EAAE;MACxBI,MAAM,CAACI,GAAG,CAAC,GAAGR,KAAK,CAACA,KAAc;IACpC;EACF,CAAC,CAAC;EACF,OAAOI,MAAM;AACf,CAAC","ignoreList":[]}
|
@@ -31,7 +31,6 @@ export class SkiaPictureView extends React.Component {
|
|
31
31
|
return this._nativeId;
|
32
32
|
}
|
33
33
|
componentDidUpdate(prevProps) {
|
34
|
-
console.log("componentDidUpdate");
|
35
34
|
const {
|
36
35
|
picture,
|
37
36
|
onSize
|
@@ -73,7 +72,6 @@ export class SkiaPictureView extends React.Component {
|
|
73
72
|
*/
|
74
73
|
redraw() {
|
75
74
|
assertSkiaViewApi();
|
76
|
-
console.log("Request redraw: ", this._nativeId);
|
77
75
|
SkiaViewApi.requestRedraw(this._nativeId);
|
78
76
|
}
|
79
77
|
render() {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","SkiaPictureViewNativeComponent","SkiaViewApi","SkiaViewNativeId","NativeSkiaPictureView","SkiaPictureView","Component","constructor","props","_defineProperty","_nativeId","current","picture","onSize","assertSkiaViewApi","setJsiProperty","tick","nativeId","componentDidUpdate","prevProps","
|
1
|
+
{"version":3,"names":["React","SkiaPictureViewNativeComponent","SkiaViewApi","SkiaViewNativeId","NativeSkiaPictureView","SkiaPictureView","Component","constructor","props","_defineProperty","_nativeId","current","picture","onSize","assertSkiaViewApi","setJsiProperty","tick","nativeId","componentDidUpdate","prevProps","componentWillUnmount","requestId","cancelAnimationFrame","redraw","mode","requestAnimationFrame","bind","makeImageSnapshot","rect","requestRedraw","render","debug","opaque","viewProps","createElement","_extends","collapsable","nativeID","Error"],"sources":["SkiaPictureView.tsx"],"sourcesContent":["import React from \"react\";\n\nimport type { SkRect } from \"../skia/types\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\n\nimport { SkiaViewApi } from \"./api\";\nimport type { SkiaPictureViewNativeProps } from \"./types\";\nimport { SkiaViewNativeId } from \"./SkiaViewNativeId\";\n\nconst NativeSkiaPictureView = SkiaPictureViewNativeComponent;\n\ninterface SkiaPictureViewProps extends SkiaPictureViewNativeProps {\n mode?: \"default\" | \"continuous\";\n}\n\nexport class SkiaPictureView extends React.Component<SkiaPictureViewProps> {\n private requestId = 0;\n\n constructor(props: SkiaPictureViewProps) {\n super(props);\n this._nativeId = SkiaViewNativeId.current++;\n const { picture, onSize } = props;\n if (picture) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n if (onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n this.tick();\n }\n\n private _nativeId: number;\n\n public get nativeId() {\n return this._nativeId;\n }\n\n componentDidUpdate(prevProps: SkiaPictureViewProps) {\n const { picture, onSize } = this.props;\n if (picture !== prevProps.picture) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"picture\", picture);\n }\n if (onSize !== prevProps.onSize) {\n assertSkiaViewApi();\n SkiaViewApi.setJsiProperty(this._nativeId, \"onSize\", onSize);\n }\n this.tick();\n }\n\n componentWillUnmount() {\n if (this.requestId) {\n cancelAnimationFrame(this.requestId);\n }\n }\n\n private tick() {\n this.redraw();\n if (this.props.mode === \"continuous\") {\n this.requestId = requestAnimationFrame(this.tick.bind(this));\n }\n }\n\n /**\n * Creates a snapshot from the canvas in the surface\n * @param rect Rect to use as bounds. Optional.\n * @returns An Image object.\n */\n public makeImageSnapshot(rect?: SkRect) {\n assertSkiaViewApi();\n return SkiaViewApi.makeImageSnapshot(this._nativeId, rect);\n }\n\n /**\n * Sends a redraw request to the native SkiaView.\n */\n public redraw() {\n assertSkiaViewApi();\n SkiaViewApi.requestRedraw(this._nativeId);\n }\n\n render() {\n const { mode, debug = false, opaque = false, ...viewProps } = this.props;\n return (\n <NativeSkiaPictureView\n collapsable={false}\n nativeID={`${this._nativeId}`}\n debug={debug}\n opaque={opaque}\n {...viewProps}\n />\n );\n }\n}\n\nconst assertSkiaViewApi = () => {\n if (\n SkiaViewApi === null ||\n SkiaViewApi.setJsiProperty === null ||\n SkiaViewApi.requestRedraw === null ||\n SkiaViewApi.makeImageSnapshot === null\n ) {\n throw Error(\"Skia View Api was not found.\");\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { ViewProps } from "react-native";
|
2
|
+
import type { SharedValue } from "react-native-reanimated";
|
2
3
|
import type { GroupProps, RenderNode } from "../dom/types";
|
3
4
|
import type { SkImage, SkPicture, SkRect, SkSize } from "../skia/types";
|
4
|
-
import type { SharedValueType } from "../renderer/processors/Animations/Animations";
|
5
5
|
export type NativeSkiaViewProps = ViewProps & {
|
6
6
|
debug?: boolean;
|
7
7
|
opaque?: boolean;
|
@@ -27,7 +27,7 @@ export interface SkiaBaseViewProps extends ViewProps {
|
|
27
27
|
* Pass an animated value to the onSize property to get updates when
|
28
28
|
* the Skia view is resized.
|
29
29
|
*/
|
30
|
-
onSize?:
|
30
|
+
onSize?: SharedValue<SkSize>;
|
31
31
|
opaque?: boolean;
|
32
32
|
}
|
33
33
|
export interface SkiaPictureViewNativeProps extends SkiaBaseViewProps {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\n\nimport type { GroupProps, RenderNode } from \"../dom/types\";\nimport type { SkImage, SkPicture, SkRect, SkSize } from \"../skia/types\";\
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ViewProps } from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport type { GroupProps, RenderNode } from \"../dom/types\";\nimport type { SkImage, SkPicture, SkRect, SkSize } from \"../skia/types\";\n\nexport type NativeSkiaViewProps = ViewProps & {\n debug?: boolean;\n opaque?: boolean;\n};\n\nexport interface DrawingInfo {\n width: number;\n height: number;\n timestamp: number;\n}\n\nexport interface ISkiaViewApi {\n setJsiProperty: <T>(nativeId: number, name: string, value: T) => void;\n requestRedraw: (nativeId: number) => void;\n makeImageSnapshot: (nativeId: number, rect?: SkRect) => SkImage;\n makeImageSnapshotAsync: (nativeId: number, rect?: SkRect) => Promise<SkImage>;\n}\n\nexport interface SkiaBaseViewProps extends ViewProps {\n /**\n * When set to true the view will display information about the\n * average time it takes to render.\n */\n debug?: boolean;\n /**\n * Pass an animated value to the onSize property to get updates when\n * the Skia view is resized.\n */\n onSize?: SharedValue<SkSize>;\n\n opaque?: boolean;\n}\n\nexport interface SkiaPictureViewNativeProps extends SkiaBaseViewProps {\n picture?: SkPicture;\n}\n\nexport interface SkiaDomViewNativeProps extends SkiaBaseViewProps {\n root?: RenderNode<GroupProps>;\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -2,3 +2,5 @@ export const __esModule: boolean;
|
|
2
2
|
export function isEdge(pos: any, b: any): boolean;
|
3
3
|
export function processRect(Skia: any, def: any): any;
|
4
4
|
export function processRRect(Skia: any, def: any): any;
|
5
|
+
export function inflate(Skia: any, box: any, dx: any, dy: any, tx?: number, ty?: number): any;
|
6
|
+
export function deflate(Skia: any, box: any, dx: any, dy: any, tx?: number, ty?: number): any;
|
@@ -1,4 +1,6 @@
|
|
1
1
|
export const __esModule: boolean;
|
2
|
+
export const HAS_REANIMATED: any;
|
3
|
+
export const HAS_REANIMATED_3: any;
|
2
4
|
export function bindReanimatedProps(container: any, node: any, reanimatedProps: any): void;
|
3
5
|
export function extractReanimatedProps(props: any): any[];
|
4
6
|
export function unbindReanimatedNode(node: any): void;
|
@@ -1,6 +1,5 @@
|
|
1
1
|
export const __esModule: boolean;
|
2
2
|
export namespace skHostConfig {
|
3
|
-
let now: () => number;
|
4
3
|
let supportsMutation: boolean;
|
5
4
|
let isPrimaryRenderer: boolean;
|
6
5
|
let supportsPersistence: boolean;
|
@@ -34,5 +33,8 @@ export namespace skHostConfig {
|
|
34
33
|
function beforeActiveInstanceBlur(): void;
|
35
34
|
function afterActiveInstanceBlur(): void;
|
36
35
|
function detachDeletedInstance(): void;
|
36
|
+
function getInstanceFromNode(_node: any): null;
|
37
|
+
function prepareScopeUpdate(_scopeInstance: any, _instance: any): void;
|
38
|
+
function getInstanceFromScope(_scopeInstance: any): null;
|
37
39
|
}
|
38
40
|
export function debug(...args: any[]): void;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export class Container {
|
3
|
+
constructor(Skia: any, nativeId: any);
|
4
|
+
Skia: any;
|
5
|
+
nativeId: any;
|
6
|
+
set root(root: any);
|
7
|
+
get root(): any;
|
8
|
+
mapperId: any;
|
9
|
+
_root: any;
|
10
|
+
clear(): void;
|
11
|
+
redraw(): void;
|
12
|
+
getNativeId(): any;
|
13
|
+
unregisterValues(values: any): void;
|
14
|
+
registerValues(values: any): void;
|
15
|
+
drawOnCanvas(canvas: any): void;
|
16
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export class DrawingContext {
|
3
|
+
constructor(Skia: any, canvas: any);
|
4
|
+
Skia: any;
|
5
|
+
canvas: any;
|
6
|
+
paints: any[];
|
7
|
+
declCtx: any;
|
8
|
+
save(): void;
|
9
|
+
restore(): void;
|
10
|
+
get paint(): any;
|
11
|
+
getLocalPaints(): any[];
|
12
|
+
processPaint({ opacity, color, strokeWidth, blendMode, style, strokeJoin, strokeCap, strokeMiter, antiAlias, dither, paint: paintProp }: {
|
13
|
+
opacity: any;
|
14
|
+
color: any;
|
15
|
+
strokeWidth: any;
|
16
|
+
blendMode: any;
|
17
|
+
style: any;
|
18
|
+
strokeJoin: any;
|
19
|
+
strokeCap: any;
|
20
|
+
strokeMiter: any;
|
21
|
+
antiAlias: any;
|
22
|
+
dither: any;
|
23
|
+
paint: any;
|
24
|
+
}): boolean;
|
25
|
+
processMatrixAndClipping(props: any, layer: any): boolean;
|
26
|
+
}
|
@@ -0,0 +1,50 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export namespace sksgHostConfig {
|
3
|
+
let supportsMutation: boolean;
|
4
|
+
let isPrimaryRenderer: boolean;
|
5
|
+
let supportsPersistence: boolean;
|
6
|
+
let supportsHydration: boolean;
|
7
|
+
let scheduleTimeout: typeof setTimeout;
|
8
|
+
let cancelTimeout: typeof clearTimeout;
|
9
|
+
let noTimeout: number;
|
10
|
+
function getRootHostContext(_rootContainerInstance: any): null;
|
11
|
+
function getChildHostContext(_parentHostContext: any, _type: any, _rootContainerInstance: any): null;
|
12
|
+
function shouldSetTextContent(_type: any, _props: any): boolean;
|
13
|
+
function createTextInstance(_text: any, _rootContainerInstance: any, _hostContext: any, _internalInstanceHandle: any): never;
|
14
|
+
function createInstance(type: any, props: any, container: any, _hostContext: any, _internalInstanceHandle: any): {
|
15
|
+
type: any;
|
16
|
+
isDeclaration: boolean;
|
17
|
+
props: any;
|
18
|
+
children: never[];
|
19
|
+
};
|
20
|
+
function appendInitialChild(parentInstance: any, child: any): void;
|
21
|
+
function finalizeInitialChildren(parentInstance: any, _type: any, _props: any, _rootContainerInstance: any, _hostContext: any): boolean;
|
22
|
+
function commitMount(): void;
|
23
|
+
function prepareForCommit(_containerInfo: any): null;
|
24
|
+
function resetAfterCommit(container: any): void;
|
25
|
+
function getPublicInstance(node: any): any;
|
26
|
+
function commitTextUpdate(_textInstance: any, _oldText: any, _newText: any): void;
|
27
|
+
function clearContainer(container: any): void;
|
28
|
+
function prepareUpdate(_instance: any, _type: any, oldProps: any, newProps: any, container: any, _hostContext: any): any;
|
29
|
+
function preparePortalMount(): void;
|
30
|
+
function cloneInstance(instance: any, _updatePayload: any, _type: any, _oldProps: any, newProps: any, _internalInstanceHandle: any, keepChildren: any, _recyclableInstance: any): {
|
31
|
+
type: any;
|
32
|
+
props: any;
|
33
|
+
children: any[];
|
34
|
+
isDeclaration: any;
|
35
|
+
};
|
36
|
+
function createContainerChildSet(): never[];
|
37
|
+
function appendChildToContainerChildSet(childSet: any, child: any): void;
|
38
|
+
function finalizeContainerChildren(container: any, newChildren: any): void;
|
39
|
+
function replaceContainerChildren(container: any, newChildren: any): void;
|
40
|
+
function cloneHiddenInstance(_instance: any, _type: any, _props: any): never;
|
41
|
+
function cloneHiddenTextInstance(_instance: any, _text: any): never;
|
42
|
+
function getCurrentEventPriority(): number;
|
43
|
+
function beforeActiveInstanceBlur(): void;
|
44
|
+
function afterActiveInstanceBlur(): void;
|
45
|
+
function detachDeletedInstance(): void;
|
46
|
+
function getInstanceFromNode(_node: any): never;
|
47
|
+
function prepareScopeUpdate(_scopeInstance: any, _instance: any): never;
|
48
|
+
function getInstanceFromScope(_scopeInstance: any): never;
|
49
|
+
}
|
50
|
+
export function debug(...args: any[]): void;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export class SkiaSGRoot {
|
3
|
+
constructor(Skia: any, nativeId?: number);
|
4
|
+
container: _Container.Container;
|
5
|
+
root: any;
|
6
|
+
get sg(): {
|
7
|
+
type: any;
|
8
|
+
props: {};
|
9
|
+
children: any;
|
10
|
+
isDeclaration: boolean;
|
11
|
+
};
|
12
|
+
render(element: any): void;
|
13
|
+
drawOnCanvas(canvas: any): void;
|
14
|
+
unmount(): void;
|
15
|
+
}
|
16
|
+
import _Container = require("./Container");
|
@@ -0,0 +1 @@
|
|
1
|
+
export const __esModule: boolean;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export function makeBlendColorFilter(ctx: any, props: any): any;
|
3
|
+
export function makeSRGBToLinearGammaColorFilter(ctx: any): any;
|
4
|
+
export function makeLinearToSRGBGammaColorFilter(ctx: any): any;
|
5
|
+
export function declareLerpColorFilter(ctx: any, props: any): void;
|
6
|
+
export function makeMatrixColorFilter(ctx: any, props: any): any;
|
7
|
+
export function makeLumaColorFilter(ctx: any): any;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export function drawLine(ctx: any, props: any): void;
|
3
|
+
export function drawOval(ctx: any, props: any): void;
|
4
|
+
export function drawBox(ctx: any, props: any, children: any): void;
|
5
|
+
export function drawBoxShadow(_ctx: any, _props: any): void;
|
6
|
+
export function drawImage(ctx: any, props: any): void;
|
7
|
+
export function drawPoints(ctx: any, props: any): void;
|
8
|
+
export function drawVertices(ctx: any, props: any): void;
|
9
|
+
export function drawDiffRect(ctx: any, props: any): void;
|
10
|
+
export function drawTextPath(ctx: any, props: any): void;
|
11
|
+
export function drawText(ctx: any, props: any): void;
|
12
|
+
export function drawPatch(ctx: any, props: any): void;
|
13
|
+
export function drawPath(ctx: any, props: any): void;
|
14
|
+
export function drawRect(ctx: any, props: any): void;
|
15
|
+
export function drawRRect(ctx: any, props: any): void;
|
16
|
+
export function drawTextBlob(ctx: any, props: any): void;
|
17
|
+
export function drawGlyphs(ctx: any, props: any): void;
|
18
|
+
export function drawImageSVG(ctx: any, props: any): void;
|
19
|
+
export function drawParagraph(ctx: any, props: any): void;
|
20
|
+
export function drawPicture(ctx: any, props: any): void;
|
21
|
+
export function drawAtlas(ctx: any, props: any): void;
|
22
|
+
export function drawCircle(ctx: any, props: any): void;
|
23
|
+
export function drawFill(ctx: any, _props: any): void;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export const MorphologyOperator: {};
|
3
|
+
export function makeOffsetImageFilter(ctx: any, props: any): any;
|
4
|
+
export function declareDisplacementMapImageFilter(ctx: any, props: any): void;
|
5
|
+
export function makeBlurImageFilter(ctx: any, props: any): any;
|
6
|
+
export function makeDropShadowImageFilter(ctx: any, props: any): any;
|
7
|
+
export function makeMorphologyImageFilter(ctx: any, props: any): any;
|
8
|
+
export function makeRuntimeShaderImageFilter(ctx: any, props: any): any;
|
9
|
+
export function declareBlendImageFilter(ctx: any, props: any): void;
|
10
|
+
export function declareBlurMaskFilter(ctx: any, props: any): void;
|
@@ -0,0 +1 @@
|
|
1
|
+
export const __esModule: boolean;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export function makeDiscretePathEffect(ctx: any, props: any): any;
|
3
|
+
export function makePath2DPathEffect(ctx: any, props: any): any;
|
4
|
+
export function makeDashPathEffect(ctx: any, props: any): any;
|
5
|
+
export function makeCornerPathEffect(ctx: any, props: any): any;
|
6
|
+
export function declareSumPathEffect(ctx: any): void;
|
7
|
+
export function makeLine2DPathEffect(ctx: any, props: any): any;
|
8
|
+
export function makePath1DPathEffect(ctx: any, props: any): any;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export const __esModule: boolean;
|
2
|
+
export function declareShader(ctx: any, props: any): void;
|
3
|
+
export function declareColorShader(ctx: any, props: any): void;
|
4
|
+
export function declareFractalNoiseShader(ctx: any, props: any): void;
|
5
|
+
export function declareTwoPointConicalGradientShader(ctx: any, props: any): void;
|
6
|
+
export function declareRadialGradientShader(ctx: any, props: any): void;
|
7
|
+
export function declareSweepGradientShader(ctx: any, props: any): void;
|
8
|
+
export function declareLinearGradientShader(ctx: any, props: any): void;
|
9
|
+
export function declareTurbulenceShader(ctx: any, props: any): void;
|
10
|
+
export function declareImageShader(ctx: any, props: any): void;
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export function isCircleScalarDef(def: any): boolean;
|
2
|
-
export function processCircle(
|
2
|
+
export function processCircle(def: any): any;
|