diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/BaseViewProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/view/BaseViewProps.cpp index 93969024935..76ee628a67d 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/view/BaseViewProps.cpp @@ -432,12 +432,8 @@ static BorderRadii radiiPercentToPoint( }; } -BorderMetrics BaseViewProps::resolveBorderMetrics( - const LayoutMetrics& layoutMetrics) const { - auto isRTL = - bool{layoutMetrics.layoutDirection == LayoutDirection::RightToLeft}; - - auto borderWidths = CascadedBorderWidths{ +CascadedBorderWidths BaseViewProps::getBorderWidths() const { + return CascadedBorderWidths{ /* .left = */ optionalFloatFromYogaValue( yogaStyle.border(yoga::Edge::Left)), /* .top = */ @@ -457,6 +453,14 @@ BorderMetrics BaseViewProps::resolveBorderMetrics( /* .all = */ optionalFloatFromYogaValue(yogaStyle.border(yoga::Edge::All)), }; +} + +BorderMetrics BaseViewProps::resolveBorderMetrics( + const LayoutMetrics& layoutMetrics) const { + auto isRTL = + bool{layoutMetrics.layoutDirection == LayoutDirection::RightToLeft}; + + auto borderWidths = getBorderWidths(); BorderRadii radii = radiiPercentToPoint( borderRadii.resolve(isRTL, ValueUnit{0.0f, UnitType::Point}), diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/BaseViewProps.h b/packages/react-native/ReactCommon/react/renderer/components/view/BaseViewProps.h index ff5c4971075..452e2bd9b53 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/BaseViewProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/BaseViewProps.h @@ -96,6 +96,7 @@ class BaseViewProps : public YogaStylableProps, public AccessibilityProps { #pragma mark - Convenience Methods + CascadedBorderWidths getBorderWidths() const; BorderMetrics resolveBorderMetrics(const LayoutMetrics& layoutMetrics) const; Transform resolveTransform(const LayoutMetrics& layoutMetrics) const; bool getClipsContentToBounds() const;