Skip to content

Commit 8c1a25d

Browse files
remove namespace from header and use dpToPx
1 parent 96d84cd commit 8c1a25d

File tree

3 files changed

+32
-16
lines changed

3 files changed

+32
-16
lines changed

packages/react-native/React/Fabric/Utils/RCTGradientUtils.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88
#include <react/renderer/graphics/ColorStop.h>
99
#import <vector>
1010

11-
using namespace facebook::react;
12-
1311
NS_ASSUME_NONNULL_BEGIN
1412

1513
@interface RCTGradientUtils : NSObject
1614

17-
+ (std::vector<ProcessedColorStop>)getFixedColorStops:(const std::vector<ColorStop> &)colorStops gradientLineLength:(CGFloat)gradientLineLength;
15+
+ (std::vector<facebook::react::ProcessedColorStop>)getFixedColorStops:(const std::vector<facebook::react::ColorStop> &)colorStops gradientLineLength:(CGFloat)gradientLineLength;
1816
@end
1917

2018
NS_ASSUME_NONNULL_END

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/LengthPercentage.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,5 @@ public data class LengthPercentage(
7878
return value
7979
}
8080

81-
public fun resolveToPixel(referenceLength: Float): Float {
82-
if (type == LengthPercentageType.PERCENT) {
83-
return (value / 100) * referenceLength
84-
}
85-
return PixelUtil.toPixelFromDIP(value)
86-
}
87-
8881
public constructor() : this(0f, LengthPercentageType.POINT)
8982
}

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/RadialGradient.kt

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.facebook.react.bridge.ReadableType
2020
import com.facebook.react.uimanager.FloatUtil
2121
import com.facebook.react.uimanager.LengthPercentage
2222
import com.facebook.react.uimanager.LengthPercentageType
23+
import com.facebook.react.uimanager.PixelUtil.dpToPx
2324
import kotlin.math.max
2425
import kotlin.math.min
2526
import kotlin.math.pow
@@ -193,15 +194,31 @@ internal class RadialGradient(
193194
var centerY: Float = height / 2f
194195

195196
if (position.top != null) {
196-
centerY = position.top.resolveToPixel(height)
197+
centerY =
198+
if (position.top.type == LengthPercentageType.PERCENT)
199+
position.top.resolve(height)
200+
else
201+
position.top.resolve(height).dpToPx()
197202
} else if (position.bottom != null) {
198-
centerY = height - position.bottom.resolveToPixel(height)
203+
centerY =
204+
if (position.bottom.type == LengthPercentageType.PERCENT)
205+
height - position.bottom.resolve(height)
206+
else
207+
height - position.bottom.resolve(height).dpToPx()
199208
}
200209

201210
if (position.left != null) {
202-
centerX = position.left.resolveToPixel(width)
211+
centerX =
212+
if (position.left.type == LengthPercentageType.PERCENT)
213+
position.left.resolve(width)
214+
else
215+
position.left.resolve(width).dpToPx()
203216
} else if (position.right != null) {
204-
centerX = width - position.right.resolveToPixel(width)
217+
centerX =
218+
if (position.right.type == LengthPercentageType.PERCENT)
219+
width - position.right.resolve(width)
220+
else
221+
width - position.right.resolve(width).dpToPx()
205222
}
206223

207224
val (radiusX, radiusY) = calculateRadius(centerX, centerY, width, height)
@@ -363,8 +380,16 @@ internal class RadialGradient(
363380
}
364381
} else {
365382
val dimensions = size.value as GradientSize.Dimensions
366-
val radiusX = dimensions.x.resolveToPixel(width)
367-
val radiusY = dimensions.y.resolveToPixel(height)
383+
val radiusX =
384+
if (dimensions.x.type == LengthPercentageType.PERCENT)
385+
dimensions.x.resolve(width)
386+
else
387+
dimensions.x.resolve(width).dpToPx()
388+
val radiusY =
389+
if (dimensions.y.type == LengthPercentageType.PERCENT)
390+
dimensions.y.resolve(height)
391+
else
392+
dimensions.y.resolve(height).dpToPx()
368393

369394
return if (isCircle) {
370395
val radius = max(radiusX, radiusY)

0 commit comments

Comments
 (0)