Skip to content

Commit 50c2289

Browse files
authored
feat: use dynamics instead of strings for props that can be either string or number (#2238)
# Summary PR bringing proper support for react-native-reanimated in the library by using dynamics instead of strings for props that can be either string or number.
1 parent e332c4a commit 50c2289

File tree

118 files changed

+933
-2870
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+933
-2870
lines changed

FabricExample/ios/Podfile.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,7 +1171,7 @@ PODS:
11711171
- ReactCommon/turbomodule/bridging
11721172
- ReactCommon/turbomodule/core
11731173
- Yoga
1174-
- RNSVG (14.1.0):
1174+
- RNSVG (15.0.0):
11751175
- glog
11761176
- hermes-engine
11771177
- RCT-Folly (= 2022.05.16.00)
@@ -1189,9 +1189,9 @@ PODS:
11891189
- React-utils
11901190
- ReactCommon/turbomodule/bridging
11911191
- ReactCommon/turbomodule/core
1192-
- RNSVG/common (= 14.1.0)
1192+
- RNSVG/common (= 15.0.0)
11931193
- Yoga
1194-
- RNSVG/common (14.1.0):
1194+
- RNSVG/common (15.0.0):
11951195
- glog
11961196
- hermes-engine
11971197
- RCT-Folly (= 2022.05.16.00)
@@ -1482,7 +1482,7 @@ SPEC CHECKSUMS:
14821482
React-utils: debda2c206770ee2785bdebb7f16d8db9f18838a
14831483
ReactCommon: ddb128564dcbfa0287d3d1a2d10f8c7457c971f6
14841484
RNReanimated: 71030d84b41327898b22cab449eb5379baf8725e
1485-
RNSVG: 95341a1f9dc5b08bfbb4312cc20e321063f17883
1485+
RNSVG: da171fbe23686685cce6bf80f6ecca07108cbd79
14861486
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
14871487
Yoga: 4f53dc50008d626fa679c7a1cb4bed898f8c0bde
14881488

FabricExample/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
"dependencies": {
1313
"react": "18.2.0",
1414
"react-native": "0.73.1",
15-
1615
"react-native-reanimated": "^3.6.1",
1716
"react-native-svg": "link:../"
1817
},

android/src/main/java/com/horcrux/svg/CircleView.java

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -31,46 +31,16 @@ public void setCx(Dynamic cx) {
3131
invalidate();
3232
}
3333

34-
public void setCx(String cx) {
35-
mCx = SVGLength.from(cx);
36-
invalidate();
37-
}
38-
39-
public void setCx(Double cx) {
40-
mCx = SVGLength.from(cx);
41-
invalidate();
42-
}
43-
4434
public void setCy(Dynamic cy) {
4535
mCy = SVGLength.from(cy);
4636
invalidate();
4737
}
4838

49-
public void setCy(String cy) {
50-
mCy = SVGLength.from(cy);
51-
invalidate();
52-
}
53-
54-
public void setCy(Double cy) {
55-
mCy = SVGLength.from(cy);
56-
invalidate();
57-
}
58-
5939
public void setR(Dynamic r) {
6040
mR = SVGLength.from(r);
6141
invalidate();
6242
}
6343

64-
public void setR(String r) {
65-
mR = SVGLength.from(r);
66-
invalidate();
67-
}
68-
69-
public void setR(Double r) {
70-
mR = SVGLength.from(r);
71-
invalidate();
72-
}
73-
7444
@Override
7545
Path getPath(Canvas canvas, Paint paint) {
7646
Path path = new Path();

android/src/main/java/com/horcrux/svg/EllipseView.java

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -33,61 +33,21 @@ public void setCx(Dynamic cx) {
3333
invalidate();
3434
}
3535

36-
public void setCx(String cx) {
37-
mCx = SVGLength.from(cx);
38-
invalidate();
39-
}
40-
41-
public void setCx(Double cx) {
42-
mCx = SVGLength.from(cx);
43-
invalidate();
44-
}
45-
4636
public void setCy(Dynamic cy) {
4737
mCy = SVGLength.from(cy);
4838
invalidate();
4939
}
5040

51-
public void setCy(String cy) {
52-
mCy = SVGLength.from(cy);
53-
invalidate();
54-
}
55-
56-
public void setCy(Double cy) {
57-
mCy = SVGLength.from(cy);
58-
invalidate();
59-
}
60-
6141
public void setRx(Dynamic rx) {
6242
mRx = SVGLength.from(rx);
6343
invalidate();
6444
}
6545

66-
public void setRx(String rx) {
67-
mRx = SVGLength.from(rx);
68-
invalidate();
69-
}
70-
71-
public void setRx(Double rx) {
72-
mRx = SVGLength.from(rx);
73-
invalidate();
74-
}
75-
7646
public void setRy(Dynamic ry) {
7747
mRy = SVGLength.from(ry);
7848
invalidate();
7949
}
8050

81-
public void setRy(String ry) {
82-
mRy = SVGLength.from(ry);
83-
invalidate();
84-
}
85-
86-
public void setRy(Double ry) {
87-
mRy = SVGLength.from(ry);
88-
invalidate();
89-
}
90-
9151
@Override
9252
Path getPath(Canvas canvas, Paint paint) {
9353
Path path = new Path();

android/src/main/java/com/horcrux/svg/ForeignObjectView.java

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -52,61 +52,21 @@ public void setX(Dynamic x) {
5252
invalidate();
5353
}
5454

55-
public void setX(String x) {
56-
mX = SVGLength.from(x);
57-
invalidate();
58-
}
59-
60-
public void setX(Double x) {
61-
mX = SVGLength.from(x);
62-
invalidate();
63-
}
64-
6555
public void setY(Dynamic y) {
6656
mY = SVGLength.from(y);
6757
invalidate();
6858
}
6959

70-
public void setY(String y) {
71-
mY = SVGLength.from(y);
72-
invalidate();
73-
}
74-
75-
public void setY(Double y) {
76-
mY = SVGLength.from(y);
77-
invalidate();
78-
}
79-
8060
public void setWidth(Dynamic width) {
8161
mW = SVGLength.from(width);
8262
invalidate();
8363
}
8464

85-
public void setWidth(String width) {
86-
mW = SVGLength.from(width);
87-
invalidate();
88-
}
89-
90-
public void setWidth(Double width) {
91-
mW = SVGLength.from(width);
92-
invalidate();
93-
}
94-
9565
public void setHeight(Dynamic height) {
9666
mH = SVGLength.from(height);
9767
invalidate();
9868
}
9969

100-
public void setHeight(String height) {
101-
mH = SVGLength.from(height);
102-
invalidate();
103-
}
104-
105-
public void setHeight(Double height) {
106-
mH = SVGLength.from(height);
107-
invalidate();
108-
}
109-
11070
void drawGroup(final Canvas canvas, final Paint paint, final float opacity) {
11171
pushGlyphContext();
11272
final SvgView svg = getSvgView();

android/src/main/java/com/horcrux/svg/GroupView.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@
1818
import android.graphics.Region;
1919
import android.os.Build;
2020
import android.view.View;
21+
import com.facebook.react.bridge.Dynamic;
2122
import com.facebook.react.bridge.ReactContext;
2223
import com.facebook.react.bridge.ReadableMap;
24+
import com.facebook.react.bridge.ReadableType;
2325
import java.util.ArrayList;
2426
import javax.annotation.Nullable;
2527

@@ -32,6 +34,15 @@ public GroupView(ReactContext reactContext) {
3234
super(reactContext);
3335
}
3436

37+
public void setFont(Dynamic dynamic) {
38+
if (dynamic.getType() == ReadableType.Map) {
39+
mFont = dynamic.asMap();
40+
} else {
41+
mFont = null;
42+
}
43+
invalidate();
44+
}
45+
3546
public void setFont(@Nullable ReadableMap font) {
3647
mFont = font;
3748
invalidate();

android/src/main/java/com/horcrux/svg/ImageView.java

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -58,61 +58,21 @@ public void setX(Dynamic x) {
5858
invalidate();
5959
}
6060

61-
public void setX(String x) {
62-
mX = SVGLength.from(x);
63-
invalidate();
64-
}
65-
66-
public void setX(Double x) {
67-
mX = SVGLength.from(x);
68-
invalidate();
69-
}
70-
7161
public void setY(Dynamic y) {
7262
mY = SVGLength.from(y);
7363
invalidate();
7464
}
7565

76-
public void setY(String y) {
77-
mY = SVGLength.from(y);
78-
invalidate();
79-
}
80-
81-
public void setY(Double y) {
82-
mY = SVGLength.from(y);
83-
invalidate();
84-
}
85-
8666
public void setWidth(Dynamic width) {
8767
mW = SVGLength.from(width);
8868
invalidate();
8969
}
9070

91-
public void setWidth(String width) {
92-
mW = SVGLength.from(width);
93-
invalidate();
94-
}
95-
96-
public void setWidth(Double width) {
97-
mW = SVGLength.from(width);
98-
invalidate();
99-
}
100-
10171
public void setHeight(Dynamic height) {
10272
mH = SVGLength.from(height);
10373
invalidate();
10474
}
10575

106-
public void setHeight(String height) {
107-
mH = SVGLength.from(height);
108-
invalidate();
109-
}
110-
111-
public void setHeight(Double height) {
112-
mH = SVGLength.from(height);
113-
invalidate();
114-
}
115-
11676
public void setSrc(@Nullable ReadableMap src) {
11777
if (src != null) {
11878
uriString = src.getString("uri");

android/src/main/java/com/horcrux/svg/LineView.java

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -32,61 +32,21 @@ public void setX1(Dynamic x1) {
3232
invalidate();
3333
}
3434

35-
public void setX1(String x1) {
36-
mX1 = SVGLength.from(x1);
37-
invalidate();
38-
}
39-
40-
public void setX1(Double x1) {
41-
mX1 = SVGLength.from(x1);
42-
invalidate();
43-
}
44-
4535
public void setY1(Dynamic y1) {
4636
mY1 = SVGLength.from(y1);
4737
invalidate();
4838
}
4939

50-
public void setY1(String y1) {
51-
mY1 = SVGLength.from(y1);
52-
invalidate();
53-
}
54-
55-
public void setY1(Double y1) {
56-
mY1 = SVGLength.from(y1);
57-
invalidate();
58-
}
59-
6040
public void setX2(Dynamic x2) {
6141
mX2 = SVGLength.from(x2);
6242
invalidate();
6343
}
6444

65-
public void setX2(String x2) {
66-
mX2 = SVGLength.from(x2);
67-
invalidate();
68-
}
69-
70-
public void setX2(Double x2) {
71-
mX2 = SVGLength.from(x2);
72-
invalidate();
73-
}
74-
7545
public void setY2(Dynamic y2) {
7646
mY2 = SVGLength.from(y2);
7747
invalidate();
7848
}
7949

80-
public void setY2(String y2) {
81-
mY2 = SVGLength.from(y2);
82-
invalidate();
83-
}
84-
85-
public void setY2(Double y2) {
86-
mY2 = SVGLength.from(y2);
87-
invalidate();
88-
}
89-
9050
@Override
9151
Path getPath(Canvas canvas, Paint paint) {
9252
Path path = new Path();

0 commit comments

Comments
 (0)