@shopify/react-native-skia 0.1.164 → 0.1.165
Sign up to get free protection for your applications and to get access to all the features.
- package/cpp/api/JsiSkRuntimeEffect.h +7 -2
- package/cpp/rnskia/RNSkDomView.cpp +1 -1
- package/cpp/rnskia/RNSkPlatformContext.h +2 -6
- package/cpp/rnskia/dom/base/DrawingContext.cpp +5 -38
- package/cpp/rnskia/dom/base/DrawingContext.h +3 -17
- package/cpp/rnskia/dom/nodes/JsiCircleNode.h +0 -2
- package/cpp/rnskia/dom/nodes/JsiCustomDrawingNode.h +1 -3
- package/cpp/rnskia/dom/nodes/JsiImageFilterNodes.h +2 -2
- package/cpp/rnskia/dom/props/CircleProp.h +2 -0
- package/cpp/rnskia/dom/props/ColorProp.h +9 -4
- package/cpp/rnskia/dom/props/ImageProps.h +3 -2
- package/cpp/rnskia/dom/props/PaintProps.h +15 -6
- package/cpp/rnskia/dom/props/RectProp.h +11 -4
- package/cpp/rnskia/dom/props/UniformsProp.h +86 -123
- package/cpp/rnskia/values/RNSkReadonlyValue.h +2 -6
- package/lib/commonjs/dom/nodes/datatypes/Circle.js +6 -1
- package/lib/commonjs/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.js +3 -3
- package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/commonjs/dom/nodes/drawings/ImageNode.js +2 -2
- package/lib/commonjs/dom/nodes/drawings/ImageNode.js.map +1 -1
- package/lib/commonjs/dom/types/Common.js.map +1 -1
- package/lib/commonjs/dom/types/Drawings.js.map +1 -1
- package/lib/commonjs/renderer/components/Mask.js +2 -6
- package/lib/commonjs/renderer/components/Mask.js.map +1 -1
- package/lib/commonjs/renderer/components/image/Image.js +0 -5
- package/lib/commonjs/renderer/components/image/Image.js.map +1 -1
- package/lib/commonjs/renderer/components/image/ImageShader.js +20 -10
- package/lib/commonjs/renderer/components/image/ImageShader.js.map +1 -1
- package/lib/commonjs/renderer/components/imageFilters/Blur.js +10 -5
- package/lib/commonjs/renderer/components/imageFilters/Blur.js.map +1 -1
- package/lib/commonjs/renderer/components/imageFilters/Morphology.js +10 -5
- package/lib/commonjs/renderer/components/imageFilters/Morphology.js.map +1 -1
- package/lib/commonjs/renderer/components/imageFilters/Offset.js +12 -6
- package/lib/commonjs/renderer/components/imageFilters/Offset.js.map +1 -1
- package/lib/commonjs/renderer/components/maskFilters/Blur.js +12 -6
- package/lib/commonjs/renderer/components/maskFilters/Blur.js.map +1 -1
- package/lib/commonjs/renderer/components/pathEffects/Discrete.js +10 -5
- package/lib/commonjs/renderer/components/pathEffects/Discrete.js.map +1 -1
- package/lib/commonjs/renderer/components/shaders/FractalNoise.js +14 -7
- package/lib/commonjs/renderer/components/shaders/FractalNoise.js.map +1 -1
- package/lib/commonjs/renderer/components/shaders/Shader.js +10 -5
- package/lib/commonjs/renderer/components/shaders/Shader.js.map +1 -1
- package/lib/commonjs/renderer/components/shaders/Turbulence.js +14 -7
- package/lib/commonjs/renderer/components/shaders/Turbulence.js.map +1 -1
- package/lib/commonjs/renderer/components/shapes/Circle.js +0 -6
- package/lib/commonjs/renderer/components/shapes/Circle.js.map +1 -1
- package/lib/commonjs/renderer/components/shapes/FitBox.js +1 -4
- package/lib/commonjs/renderer/components/shapes/FitBox.js.map +1 -1
- package/lib/commonjs/renderer/components/shapes/Oval.js +0 -4
- package/lib/commonjs/renderer/components/shapes/Oval.js.map +1 -1
- package/lib/commonjs/renderer/components/shapes/Path.js +12 -6
- package/lib/commonjs/renderer/components/shapes/Path.js.map +1 -1
- package/lib/commonjs/renderer/components/shapes/Points.js +10 -5
- package/lib/commonjs/renderer/components/shapes/Points.js.map +1 -1
- package/lib/commonjs/renderer/components/shapes/RoundedRect.js +0 -3
- package/lib/commonjs/renderer/components/shapes/RoundedRect.js.map +1 -1
- package/lib/commonjs/renderer/components/shapes/Vertices.js +10 -5
- package/lib/commonjs/renderer/components/shapes/Vertices.js.map +1 -1
- package/lib/commonjs/renderer/components/text/Glyphs.js +12 -6
- package/lib/commonjs/renderer/components/text/Glyphs.js.map +1 -1
- package/lib/commonjs/renderer/components/text/Text.js +12 -6
- package/lib/commonjs/renderer/components/text/Text.js.map +1 -1
- package/lib/commonjs/renderer/components/text/TextBlob.js +12 -6
- package/lib/commonjs/renderer/components/text/TextBlob.js.map +1 -1
- package/lib/commonjs/renderer/components/text/TextPath.js +10 -5
- package/lib/commonjs/renderer/components/text/TextPath.js.map +1 -1
- package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/commonjs/skia/types/RuntimeEffect/RuntimeEffect.js.map +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.js +3 -2
- package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +6 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffectFactory.js +1 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffectFactory.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Circle.js +8 -1
- package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Rect.js +7 -3
- package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/module/dom/nodes/drawings/ImageNode.js +4 -2
- package/lib/module/dom/nodes/drawings/ImageNode.js.map +1 -1
- package/lib/module/dom/types/Common.js.map +1 -1
- package/lib/module/dom/types/Drawings.js.map +1 -1
- package/lib/module/renderer/components/Mask.js +2 -6
- package/lib/module/renderer/components/Mask.js.map +1 -1
- package/lib/module/renderer/components/image/Image.js +0 -5
- package/lib/module/renderer/components/image/Image.js.map +1 -1
- package/lib/module/renderer/components/image/ImageShader.js +20 -10
- package/lib/module/renderer/components/image/ImageShader.js.map +1 -1
- package/lib/module/renderer/components/imageFilters/Blur.js +10 -5
- package/lib/module/renderer/components/imageFilters/Blur.js.map +1 -1
- package/lib/module/renderer/components/imageFilters/Morphology.js +10 -5
- package/lib/module/renderer/components/imageFilters/Morphology.js.map +1 -1
- package/lib/module/renderer/components/imageFilters/Offset.js +12 -6
- package/lib/module/renderer/components/imageFilters/Offset.js.map +1 -1
- package/lib/module/renderer/components/maskFilters/Blur.js +12 -6
- package/lib/module/renderer/components/maskFilters/Blur.js.map +1 -1
- package/lib/module/renderer/components/pathEffects/Discrete.js +10 -5
- package/lib/module/renderer/components/pathEffects/Discrete.js.map +1 -1
- package/lib/module/renderer/components/shaders/FractalNoise.js +14 -7
- package/lib/module/renderer/components/shaders/FractalNoise.js.map +1 -1
- package/lib/module/renderer/components/shaders/Shader.js +10 -5
- package/lib/module/renderer/components/shaders/Shader.js.map +1 -1
- package/lib/module/renderer/components/shaders/Turbulence.js +14 -7
- package/lib/module/renderer/components/shaders/Turbulence.js.map +1 -1
- package/lib/module/renderer/components/shapes/Circle.js +0 -6
- package/lib/module/renderer/components/shapes/Circle.js.map +1 -1
- package/lib/module/renderer/components/shapes/FitBox.js +1 -4
- package/lib/module/renderer/components/shapes/FitBox.js.map +1 -1
- package/lib/module/renderer/components/shapes/Oval.js +0 -4
- package/lib/module/renderer/components/shapes/Oval.js.map +1 -1
- package/lib/module/renderer/components/shapes/Path.js +12 -6
- package/lib/module/renderer/components/shapes/Path.js.map +1 -1
- package/lib/module/renderer/components/shapes/Points.js +10 -5
- package/lib/module/renderer/components/shapes/Points.js.map +1 -1
- package/lib/module/renderer/components/shapes/RoundedRect.js +0 -3
- package/lib/module/renderer/components/shapes/RoundedRect.js.map +1 -1
- package/lib/module/renderer/components/shapes/Vertices.js +10 -5
- package/lib/module/renderer/components/shapes/Vertices.js.map +1 -1
- package/lib/module/renderer/components/text/Glyphs.js +12 -6
- package/lib/module/renderer/components/text/Glyphs.js.map +1 -1
- package/lib/module/renderer/components/text/Text.js +12 -6
- package/lib/module/renderer/components/text/Text.js.map +1 -1
- package/lib/module/renderer/components/text/TextBlob.js +12 -6
- package/lib/module/renderer/components/text/TextBlob.js.map +1 -1
- package/lib/module/renderer/components/text/TextPath.js +10 -5
- package/lib/module/renderer/components/text/TextPath.js.map +1 -1
- package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/module/skia/types/RuntimeEffect/RuntimeEffect.js.map +1 -1
- package/lib/module/skia/types/Shader/Shader.js +3 -2
- package/lib/module/skia/types/Shader/Shader.js.map +1 -1
- package/lib/module/skia/web/JsiSkRuntimeEffect.js +6 -1
- package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRuntimeEffectFactory.js +1 -1
- package/lib/module/skia/web/JsiSkRuntimeEffectFactory.js.map +1 -1
- package/lib/typescript/src/dom/nodes/datatypes/Circle.d.ts +4 -1
- package/lib/typescript/src/dom/types/Common.d.ts +4 -4
- package/lib/typescript/src/dom/types/Drawings.d.ts +1 -1
- package/lib/typescript/src/renderer/components/Mask.d.ts +3 -9
- package/lib/typescript/src/renderer/components/image/Image.d.ts +1 -8
- package/lib/typescript/src/renderer/components/image/ImageShader.d.ts +2 -12
- package/lib/typescript/src/renderer/components/imageFilters/Blur.d.ts +2 -7
- package/lib/typescript/src/renderer/components/imageFilters/Morphology.d.ts +2 -7
- package/lib/typescript/src/renderer/components/imageFilters/Offset.d.ts +2 -8
- package/lib/typescript/src/renderer/components/maskFilters/Blur.d.ts +2 -8
- package/lib/typescript/src/renderer/components/pathEffects/Discrete.d.ts +2 -7
- package/lib/typescript/src/renderer/components/shaders/FractalNoise.d.ts +2 -9
- package/lib/typescript/src/renderer/components/shaders/Shader.d.ts +2 -7
- package/lib/typescript/src/renderer/components/shaders/Turbulence.d.ts +2 -9
- package/lib/typescript/src/renderer/components/shapes/Circle.d.ts +1 -9
- package/lib/typescript/src/renderer/components/shapes/FitBox.d.ts +2 -7
- package/lib/typescript/src/renderer/components/shapes/Oval.d.ts +1 -7
- package/lib/typescript/src/renderer/components/shapes/Path.d.ts +2 -8
- package/lib/typescript/src/renderer/components/shapes/Points.d.ts +2 -7
- package/lib/typescript/src/renderer/components/shapes/RoundedRect.d.ts +1 -6
- package/lib/typescript/src/renderer/components/shapes/Vertices.d.ts +2 -7
- package/lib/typescript/src/renderer/components/text/Glyphs.d.ts +2 -8
- package/lib/typescript/src/renderer/components/text/Text.d.ts +2 -8
- package/lib/typescript/src/renderer/components/text/TextBlob.d.ts +2 -8
- package/lib/typescript/src/renderer/components/text/TextPath.d.ts +2 -7
- package/lib/typescript/src/renderer/processors/Animations/Animations.d.ts +5 -0
- package/lib/typescript/src/skia/types/RuntimeEffect/RuntimeEffect.d.ts +4 -0
- package/lib/typescript/src/skia/types/Shader/Shader.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +3 -1
- package/package.json +1 -1
- package/src/dom/nodes/datatypes/Circle.ts +1 -1
- package/src/dom/nodes/datatypes/Rect.ts +3 -3
- package/src/dom/nodes/drawings/ImageNode.ts +2 -1
- package/src/dom/types/Common.ts +4 -4
- package/src/dom/types/Drawings.ts +1 -1
- package/src/renderer/components/Mask.tsx +8 -8
- package/src/renderer/components/image/Image.tsx +0 -6
- package/src/renderer/components/image/ImageShader.tsx +24 -12
- package/src/renderer/components/imageFilters/Blur.tsx +6 -7
- package/src/renderer/components/imageFilters/Morphology.tsx +6 -7
- package/src/renderer/components/imageFilters/Offset.tsx +7 -8
- package/src/renderer/components/maskFilters/Blur.tsx +7 -8
- package/src/renderer/components/pathEffects/Discrete.tsx +6 -9
- package/src/renderer/components/shaders/FractalNoise.tsx +18 -9
- package/src/renderer/components/shaders/Shader.tsx +6 -7
- package/src/renderer/components/shaders/Turbulence.tsx +15 -9
- package/src/renderer/components/shapes/Circle.tsx +0 -4
- package/src/renderer/components/shapes/FitBox.tsx +2 -6
- package/src/renderer/components/shapes/Oval.tsx +0 -5
- package/src/renderer/components/shapes/Path.tsx +7 -8
- package/src/renderer/components/shapes/Points.tsx +6 -7
- package/src/renderer/components/shapes/RoundedRect.tsx +0 -4
- package/src/renderer/components/shapes/Vertices.tsx +6 -7
- package/src/renderer/components/text/Glyphs.tsx +7 -8
- package/src/renderer/components/text/Text.tsx +7 -8
- package/src/renderer/components/text/TextBlob.tsx +7 -8
- package/src/renderer/components/text/TextPath.tsx +6 -7
- package/src/renderer/processors/Animations/Animations.ts +9 -3
- package/src/skia/types/RuntimeEffect/RuntimeEffect.ts +5 -0
- package/src/skia/types/Shader/Shader.ts +5 -3
- package/src/skia/web/JsiSkRuntimeEffect.ts +5 -1
- package/src/skia/web/JsiSkRuntimeEffectFactory.ts +1 -1
@@ -1,13 +1,12 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors/Animations/Animations";
|
4
4
|
import type { OffsetImageFilterProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const Offset = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
x
|
12
|
-
y: 0,
|
6
|
+
export const Offset = ({
|
7
|
+
x = 0,
|
8
|
+
y = 0,
|
9
|
+
...props
|
10
|
+
}: SkiaDefaultProps<OffsetImageFilterProps, "x" | "y">) => {
|
11
|
+
return <skOffsetImageFilter x={x} y={y} {...props} />;
|
13
12
|
};
|
@@ -1,13 +1,12 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
3
|
import type { BlurMaskFilterProps } from "../../../dom/types";
|
4
|
-
import type {
|
4
|
+
import type { SkiaDefaultProps } from "../../processors/Animations/Animations";
|
5
5
|
|
6
|
-
export const BlurMask = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
style
|
12
|
-
respectCTM: true,
|
6
|
+
export const BlurMask = ({
|
7
|
+
style = "normal",
|
8
|
+
respectCTM = true,
|
9
|
+
...props
|
10
|
+
}: SkiaDefaultProps<BlurMaskFilterProps, "style" | "respectCTM">) => {
|
11
|
+
return <skBlurMaskFilter style={style} respectCTM={respectCTM} {...props} />;
|
13
12
|
};
|
@@ -1,14 +1,11 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors/Animations/Animations";
|
4
4
|
import type { DiscretePathEffectProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const DiscretePathEffect = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
}
|
11
|
-
|
12
|
-
DiscretePathEffect.defaultProps = {
|
13
|
-
seed: 0,
|
6
|
+
export const DiscretePathEffect = ({
|
7
|
+
seed = 0,
|
8
|
+
...props
|
9
|
+
}: SkiaDefaultProps<DiscretePathEffectProps, "seed">) => {
|
10
|
+
return <skDiscretePathEffect seed={seed} {...props} />;
|
14
11
|
};
|
@@ -1,14 +1,23 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
3
|
import type { FractalNoiseProps } from "../../../dom/types";
|
4
|
-
import type {
|
4
|
+
import type { SkiaDefaultProps } from "../../processors/Animations/Animations";
|
5
5
|
|
6
|
-
export const FractalNoise = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
tileHeight
|
6
|
+
export const FractalNoise = ({
|
7
|
+
seed = 0,
|
8
|
+
tileWidth = 0,
|
9
|
+
tileHeight = 0,
|
10
|
+
...props
|
11
|
+
}: SkiaDefaultProps<
|
12
|
+
FractalNoiseProps,
|
13
|
+
"seed" | "tileHeight" | "tileWidth"
|
14
|
+
>) => {
|
15
|
+
return (
|
16
|
+
<skFractalNoise
|
17
|
+
seed={seed}
|
18
|
+
tileWidth={tileWidth}
|
19
|
+
tileHeight={tileHeight}
|
20
|
+
{...props}
|
21
|
+
/>
|
22
|
+
);
|
14
23
|
};
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors";
|
4
4
|
import type { ShaderProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const Shader = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
uniforms: [],
|
6
|
+
export const Shader = ({
|
7
|
+
uniforms = {},
|
8
|
+
...props
|
9
|
+
}: SkiaDefaultProps<ShaderProps, "uniforms">) => {
|
10
|
+
return <skShader uniforms={uniforms} {...props} />;
|
12
11
|
};
|
@@ -1,14 +1,20 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
3
|
import type { TurbulenceProps } from "../../../dom/types";
|
4
|
-
import type {
|
4
|
+
import type { SkiaDefaultProps } from "../../processors/Animations/Animations";
|
5
5
|
|
6
|
-
export const Turbulence = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
6
|
+
export const Turbulence = ({
|
7
|
+
seed = 0,
|
8
|
+
tileWidth = 0,
|
9
|
+
tileHeight = 0,
|
10
|
+
...props
|
11
|
+
}: SkiaDefaultProps<TurbulenceProps, "seed" | "tileWidth" | "tileHeight">) => {
|
12
|
+
return (
|
13
|
+
<skTurbulence
|
14
|
+
seed={seed}
|
15
|
+
tileWidth={tileWidth}
|
16
|
+
tileHeight={tileHeight}
|
17
|
+
{...props}
|
18
|
+
/>
|
19
|
+
);
|
14
20
|
};
|
@@ -7,7 +7,7 @@ import type { SkRect } from "../../../skia/types";
|
|
7
7
|
import { Group } from "../Group";
|
8
8
|
|
9
9
|
interface FitProps {
|
10
|
-
fit
|
10
|
+
fit?: Fit;
|
11
11
|
src: SkRect;
|
12
12
|
dst: SkRect;
|
13
13
|
children: ReactNode | ReactNode[];
|
@@ -18,11 +18,7 @@ export const fitbox = (fit: Fit, src: SkRect, dst: SkRect) => {
|
|
18
18
|
return rect2rect(rects.src, rects.dst);
|
19
19
|
};
|
20
20
|
|
21
|
-
export const FitBox = ({ fit, src, dst, children }: FitProps) => {
|
21
|
+
export const FitBox = ({ fit = "contain", src, dst, children }: FitProps) => {
|
22
22
|
const transform = useMemo(() => fitbox(fit, src, dst), [dst, fit, src]);
|
23
23
|
return <Group transform={transform}>{children}</Group>;
|
24
24
|
};
|
25
|
-
|
26
|
-
FitBox.defaultProps = {
|
27
|
-
fit: "contain",
|
28
|
-
};
|
@@ -1,13 +1,12 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors";
|
4
4
|
import type { PathProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const Path = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
start
|
12
|
-
end: 1,
|
6
|
+
export const Path = ({
|
7
|
+
start = 0,
|
8
|
+
end = 1,
|
9
|
+
...props
|
10
|
+
}: SkiaDefaultProps<PathProps, "start" | "end">) => {
|
11
|
+
return <skPath start={start} end={end} {...props} />;
|
13
12
|
};
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors/Animations/Animations";
|
4
4
|
import type { PointsProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const Points = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
mode: "points",
|
6
|
+
export const Points = ({
|
7
|
+
mode = "points",
|
8
|
+
...props
|
9
|
+
}: SkiaDefaultProps<PointsProps, "mode">) => {
|
10
|
+
return <skPoints mode={mode} {...props} />;
|
12
11
|
};
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors";
|
4
4
|
import type { VerticesProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const Vertices = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
mode: "triangles",
|
6
|
+
export const Vertices = ({
|
7
|
+
mode = "triangles",
|
8
|
+
...props
|
9
|
+
}: SkiaDefaultProps<VerticesProps, "mode">) => {
|
10
|
+
return <skVertices mode={mode} {...props} />;
|
12
11
|
};
|
@@ -1,13 +1,12 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
3
|
import type { GlyphsProps } from "../../../dom/types";
|
4
|
-
import type {
|
4
|
+
import type { SkiaDefaultProps } from "../../processors/Animations/Animations";
|
5
5
|
|
6
|
-
export const Glyphs = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
x
|
12
|
-
y: 0,
|
6
|
+
export const Glyphs = ({
|
7
|
+
x = 0,
|
8
|
+
y = 0,
|
9
|
+
...props
|
10
|
+
}: SkiaDefaultProps<GlyphsProps, "x" | "y">) => {
|
11
|
+
return <skGlyphs x={x} y={y} {...props} />;
|
13
12
|
};
|
@@ -1,13 +1,12 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors";
|
4
4
|
import type { TextProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const Text = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
x
|
12
|
-
y: 0,
|
6
|
+
export const Text = ({
|
7
|
+
x = 0,
|
8
|
+
y = 0,
|
9
|
+
...props
|
10
|
+
}: SkiaDefaultProps<TextProps, "x" | "y">) => {
|
11
|
+
return <skText x={x} y={y} {...props} />;
|
13
12
|
};
|
@@ -1,13 +1,12 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors";
|
4
4
|
import type { TextBlobProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const TextBlob = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
x
|
12
|
-
y: 0,
|
6
|
+
export const TextBlob = ({
|
7
|
+
x = 0,
|
8
|
+
y = 0,
|
9
|
+
...props
|
10
|
+
}: SkiaDefaultProps<TextBlobProps, "x" | "y">) => {
|
11
|
+
return <skTextBlob x={x} y={y} {...props} />;
|
13
12
|
};
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import React from "react";
|
2
2
|
|
3
|
-
import type {
|
3
|
+
import type { SkiaDefaultProps } from "../../processors";
|
4
4
|
import type { TextPathProps } from "../../../dom/types";
|
5
5
|
|
6
|
-
export const TextPath = (
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
initialOffset: 0,
|
6
|
+
export const TextPath = ({
|
7
|
+
initialOffset = 0,
|
8
|
+
...props
|
9
|
+
}: SkiaDefaultProps<TextPathProps, "initialOffset">) => {
|
10
|
+
return <skTextPath initialOffset={initialOffset} {...props} />;
|
12
11
|
};
|
@@ -54,10 +54,16 @@ export type AnimatedProps<T, O extends keyof T | never = never> = {
|
|
54
54
|
: AnimatedProp<T[K]>;
|
55
55
|
};
|
56
56
|
|
57
|
-
// TODO: switch to AnimatedProps<GroupProps> and remove duplicate properties.
|
58
|
-
// For instance matrix in color filter becomes colorMatrix
|
59
|
-
|
60
57
|
export type SkiaProps<
|
61
58
|
P = object,
|
62
59
|
O extends keyof P | never = never
|
63
60
|
> = AnimatedProps<P, O>;
|
61
|
+
|
62
|
+
type WithOptional<T extends object, N extends keyof T> = Omit<T, N> & {
|
63
|
+
[K in N]?: T[K];
|
64
|
+
};
|
65
|
+
|
66
|
+
export type SkiaDefaultProps<
|
67
|
+
T extends object,
|
68
|
+
N extends keyof T
|
69
|
+
> = WithOptional<SkiaProps<T>, N>;
|
@@ -9,7 +9,7 @@ export type SkShader = SkJSIInstance<"Shader">;
|
|
9
9
|
|
10
10
|
export type UniformValue = number | Vector | readonly number[];
|
11
11
|
|
12
|
-
export type Uniform = UniformValue | readonly UniformValue[];
|
12
|
+
export type Uniform = UniformValue | readonly UniformValue[] | Float32Array;
|
13
13
|
|
14
14
|
export interface Uniforms {
|
15
15
|
[name: string]: Uniform;
|
@@ -36,10 +36,12 @@ export const processUniforms = (
|
|
36
36
|
.fill(0)
|
37
37
|
.flatMap((_, i) => {
|
38
38
|
const name = source.getUniformName(i);
|
39
|
-
const
|
40
|
-
if (
|
39
|
+
const rawValue = uniforms[name];
|
40
|
+
if (rawValue === undefined) {
|
41
41
|
throw new Error(`No value specified for uniform ${name}`);
|
42
42
|
}
|
43
|
+
const value =
|
44
|
+
rawValue instanceof Float32Array ? Array.from(rawValue) : rawValue;
|
43
45
|
const result = Array.isArray(value)
|
44
46
|
? value.flatMap(processValue)
|
45
47
|
: processValue(value as UniformValue);
|
@@ -11,10 +11,14 @@ export class JsiSkRuntimeEffect
|
|
11
11
|
extends HostObject<RuntimeEffect, "RuntimeEffect">
|
12
12
|
implements SkRuntimeEffect
|
13
13
|
{
|
14
|
-
constructor(CanvasKit: CanvasKit, ref: RuntimeEffect) {
|
14
|
+
constructor(CanvasKit: CanvasKit, ref: RuntimeEffect, private sksl: string) {
|
15
15
|
super(CanvasKit, ref, "RuntimeEffect");
|
16
16
|
}
|
17
17
|
|
18
|
+
source() {
|
19
|
+
return this.sksl;
|
20
|
+
}
|
21
|
+
|
18
22
|
makeShader(uniforms: number[], localMatrix?: SkMatrix) {
|
19
23
|
return new JsiSkShader(
|
20
24
|
this.CanvasKit,
|