Skip to content

Commit 607a7c3

Browse files
fix: revert gradient transform changes
1 parent 8f4e16f commit 607a7c3

File tree

12 files changed

+41
-48
lines changed

12 files changed

+41
-48
lines changed

android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerDelegate.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ public void setProperty(T view, String propName, @Nullable Object value) {
7575
case "gradientUnits":
7676
mViewManager.setGradientUnits(view, value == null ? 0 : ((Double) value).intValue());
7777
break;
78+
case "gradientTransform":
79+
mViewManager.setGradientTransform(view, (ReadableArray) value);
80+
break;
7881
default:
7982
super.setProperty(view, propName, value);
8083
}

android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerInterface.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,5 @@ public interface RNSVGLinearGradientManagerInterface<T extends View> {
3232
void setY2(T view, Dynamic value);
3333
void setGradient(T view, @Nullable ReadableArray value);
3434
void setGradientUnits(T view, int value);
35+
void setGradientTransform(T view, @Nullable ReadableArray value);
3536
}

android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerDelegate.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ public void setProperty(T view, String propName, @Nullable Object value) {
8181
case "gradientUnits":
8282
mViewManager.setGradientUnits(view, value == null ? 0 : ((Double) value).intValue());
8383
break;
84+
case "gradientTransform":
85+
mViewManager.setGradientTransform(view, (ReadableArray) value);
86+
break;
8487
default:
8588
super.setProperty(view, propName, value);
8689
}

android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerInterface.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,5 @@ public interface RNSVGRadialGradientManagerInterface<T extends View> {
3434
void setRy(T view, Dynamic value);
3535
void setGradient(T view, @Nullable ReadableArray value);
3636
void setGradientUnits(T view, int value);
37+
void setGradientTransform(T view, @Nullable ReadableArray value);
3738
}

apple/Elements/RNSVGLinearGradient.mm

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,15 @@ - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &
7272
self.gradient = gradientArray;
7373
}
7474
self.gradientUnits = newProps.gradientUnits == 0 ? kRNSVGUnitsObjectBoundingBox : kRNSVGUnitsUserSpaceOnUse;
75+
if (newProps.gradientTransform.size() == 6) {
76+
self.gradientTransform = CGAffineTransformMake(
77+
newProps.gradientTransform.at(0),
78+
newProps.gradientTransform.at(1),
79+
newProps.gradientTransform.at(2),
80+
newProps.gradientTransform.at(3),
81+
newProps.gradientTransform.at(4),
82+
newProps.gradientTransform.at(5));
83+
}
7584

7685
setCommonNodeProps(newProps, self);
7786
_props = std::static_pointer_cast<RNSVGLinearGradientProps const>(props);

apple/Elements/RNSVGRadialGradient.mm

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,16 @@ - (void)updateProps:(Props::Shared const &)props oldProps:(Props::Shared const &
7878
self.gradient = gradientArray;
7979
}
8080
self.gradientUnits = newProps.gradientUnits == 0 ? kRNSVGUnitsObjectBoundingBox : kRNSVGUnitsUserSpaceOnUse;
81-
81+
if (newProps.gradientTransform.size() == 6) {
82+
self.gradientTransform = CGAffineTransformMake(
83+
newProps.gradientTransform.at(0),
84+
newProps.gradientTransform.at(1),
85+
newProps.gradientTransform.at(2),
86+
newProps.gradientTransform.at(3),
87+
newProps.gradientTransform.at(4),
88+
newProps.gradientTransform.at(5));
89+
}
90+
8291
setCommonNodeProps(newProps, self);
8392
_props = std::static_pointer_cast<RNSVGRadialGradientProps const>(props);
8493
}

apps/paper-example/ios/Podfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1645,7 +1645,7 @@ PODS:
16451645
- ReactCommon/turbomodule/bridging
16461646
- ReactCommon/turbomodule/core
16471647
- Yoga
1648-
- RNSVG (15.10.0):
1648+
- RNSVG (15.12.1):
16491649
- React-Core
16501650
- SocketRocket (0.7.1)
16511651
- Yoga (0.0.0)
@@ -1940,7 +1940,7 @@ SPEC CHECKSUMS:
19401940
RNGestureHandler: 511250b190a284388f9dd0d2e56c1df76f14cfb8
19411941
RNReanimated: 3e6072b3d49d4fc687b8f1ba3022f0fdc0b43969
19421942
RNScreens: c7ceced6a8384cb9be5e7a5e88e9e714401fd958
1943-
RNSVG: 58bad41c581b62cac6265c2899f8f943db527159
1943+
RNSVG: 61b5de449d8daa7b75da111990fee37baeb4a6f2
19441944
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
19451945
Yoga: f8ec45ce98bba1bc93dd28f2ee37215180e6d2b6
19461946

src/elements/LinearGradient.tsx

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import type { NumberProp, TransformProps, Units } from '../lib/extract/types';
55
import Shape from './Shape';
66
import RNSVGLinearGradient from '../fabric/LinearGradientNativeComponent';
77
import type { NativeMethods } from 'react-native';
8-
import { extractTransformSvgView } from '../lib/extract/extractTransform';
98

109
export interface LinearGradientProps {
1110
children?: ReactElement[];
@@ -30,34 +29,15 @@ export default class LinearGradient extends Shape<LinearGradientProps> {
3029

3130
render() {
3231
const { props } = this;
33-
const { x1, y1, x2, y2, gradientTransform } = props;
32+
const { x1, y1, x2, y2 } = props;
3433
const linearGradientProps = { x1, y1, x2, y2 };
35-
const gradientProps = extractGradient(props, this);
36-
37-
if (gradientProps) {
38-
const transform = extractTransformSvgView({
39-
transform: gradientTransform,
40-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
41-
} as any);
42-
43-
return (
44-
<RNSVGLinearGradient
45-
ref={(ref) =>
46-
this.refMethod(ref as (LinearGradient & NativeMethods) | null)
47-
}
48-
{...linearGradientProps}
49-
{...gradientProps}
50-
style={{ transform }}
51-
/>
52-
);
53-
}
54-
5534
return (
5635
<RNSVGLinearGradient
5736
ref={(ref) =>
5837
this.refMethod(ref as (LinearGradient & NativeMethods) | null)
5938
}
6039
{...linearGradientProps}
40+
{...extractGradient(props, this)}
6141
/>
6242
);
6343
}

src/elements/RadialGradient.tsx

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import type { NumberProp, TransformProps, Units } from '../lib/extract/types';
55
import Shape from './Shape';
66
import RNSVGRadialGradient from '../fabric/RadialGradientNativeComponent';
77
import type { NativeMethods } from 'react-native';
8-
import { extractTransformSvgView } from '../lib/extract/extractTransform';
98

109
export interface RadialGradientProps {
1110
children?: ReactElement[];
@@ -32,7 +31,7 @@ export default class RadialGradient extends Shape<RadialGradientProps> {
3231

3332
render() {
3433
const { props } = this;
35-
const { rx, ry, r, cx, cy, fx = cx, fy = cy, gradientTransform } = props;
34+
const { rx, ry, r, cx, cy, fx = cx, fy = cy } = props;
3635
const radialGradientProps = {
3736
fx,
3837
fy,
@@ -41,32 +40,13 @@ export default class RadialGradient extends Shape<RadialGradientProps> {
4140
cx,
4241
cy,
4342
};
44-
const gradientProps = extractGradient(props, this);
45-
46-
if (gradientProps) {
47-
const transform = extractTransformSvgView({
48-
transform: gradientTransform,
49-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
50-
} as any);
51-
52-
return (
53-
<RNSVGRadialGradient
54-
ref={(ref) =>
55-
this.refMethod(ref as (RadialGradient & NativeMethods) | null)
56-
}
57-
{...radialGradientProps}
58-
{...gradientProps}
59-
style={{ transform }}
60-
/>
61-
);
62-
}
63-
6443
return (
6544
<RNSVGRadialGradient
6645
ref={(ref) =>
6746
this.refMethod(ref as (RadialGradient & NativeMethods) | null)
6847
}
6948
{...radialGradientProps}
49+
{...extractGradient(props, this)}
7050
/>
7151
);
7252
}

src/fabric/LinearGradientNativeComponent.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ interface NativeProps extends ViewProps, SvgNodeCommonProps {
3030
y2?: UnsafeMixed<NumberProp>;
3131
gradient?: ReadonlyArray<Float>;
3232
gradientUnits?: Int32;
33+
gradientTransform?: ReadonlyArray<Float> | null;
3334
}
3435

3536
export default codegenNativeComponent<NativeProps>('RNSVGLinearGradient', {

0 commit comments

Comments
 (0)