diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h index c34c1d22485..19381f8d585 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h @@ -142,7 +142,7 @@ MapBuffer convertBorderRadii(CascadedBorderRadii const &radii) { return builder.build(); } -MapBuffer convertBorderWidths(yoga::Style::Edges const &border) { +MapBuffer convertBorderWidths(YGStyle::Edges const &border) { MapBufferBuilder builder(7); putOptionalFloat( builder, EDGE_TOP, optionalFloatFromYogaValue(border[YGEdgeTop])); diff --git a/packages/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h b/packages/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h index 9954603b8ba..7ea08be94c9 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +++ b/packages/react-native/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h @@ -11,9 +11,9 @@ #include +#include #include #include -#include #include @@ -38,7 +38,7 @@ class AndroidTextInputComponentDescriptor final ShadowNodeFamily::Shared const &family) const override { int surfaceId = family->getSurfaceId(); - yoga::Style::Edges theme; + YGStyle::Edges theme; // TODO: figure out RTL/start/end/left/right stuff here if (surfaceIdToThemePaddingMap_.find(surfaceId) != surfaceIdToThemePaddingMap_.end()) { @@ -97,7 +97,7 @@ class AndroidTextInputComponentDescriptor final int surfaceId = textInputShadowNode.getSurfaceId(); if (surfaceIdToThemePaddingMap_.find(surfaceId) != surfaceIdToThemePaddingMap_.end()) { - yoga::Style::Edges theme = surfaceIdToThemePaddingMap_[surfaceId]; + YGStyle::Edges theme = surfaceIdToThemePaddingMap_[surfaceId]; auto &textInputProps = textInputShadowNode.getConcreteProps(); @@ -106,7 +106,7 @@ class AndroidTextInputComponentDescriptor final // TODO: T62959168 account for RTL and paddingLeft when setting default // paddingStart, and vice-versa with paddingRight/paddingEnd. // For now this assumes no RTL. - yoga::Style::Edges result = textInputProps.yogaStyle.padding(); + YGStyle::Edges result = textInputProps.yogaStyle.padding(); bool changedPadding = false; if (!textInputProps.hasPadding && !textInputProps.hasPaddingStart && !textInputProps.hasPaddingLeft && @@ -171,7 +171,7 @@ class AndroidTextInputComponentDescriptor final "com/facebook/react/fabric/FabricUIManager"; SharedTextLayoutManager textLayoutManager_; - mutable butter::map surfaceIdToThemePaddingMap_; + mutable butter::map surfaceIdToThemePaddingMap_; }; } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp index ac018bfadaf..2375c2dea84 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp @@ -60,7 +60,7 @@ void ViewShadowNode::initialize() noexcept { bool formsView = formsStackingContext || isColorMeaningful(viewProps.backgroundColor) || - !(viewProps.yogaStyle.border() == yoga::Style::Edges{}) || + !(viewProps.yogaStyle.border() == YGStyle::Edges{}) || !viewProps.testId.empty() || HostPlatformViewTraitsInitializer::formsView(viewProps); diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp index a5efc5b40a2..6d0a2f4807a 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp @@ -378,10 +378,10 @@ void YogaLayoutableShadowNode::updateYogaProps() { yogaNode_.setStyle(styleResult); } -/*static*/ yoga::Style YogaLayoutableShadowNode::applyAliasedProps( - const yoga::Style &baseStyle, +/*static*/ YGStyle YogaLayoutableShadowNode::applyAliasedProps( + const YGStyle &baseStyle, const YogaStylableProps &props) { - yoga::Style result{baseStyle}; + YGStyle result{baseStyle}; // Aliases with precedence if (!props.inset.isUndefined()) { @@ -864,9 +864,9 @@ void YogaLayoutableShadowNode::swapLeftAndRightInYogaStyleProps( YogaLayoutableShadowNode const &shadowNode) { auto yogaStyle = shadowNode.yogaNode_.getStyle(); - yoga::Style::Edges const &position = yogaStyle.position(); - yoga::Style::Edges const &padding = yogaStyle.padding(); - yoga::Style::Edges const &margin = yogaStyle.margin(); + YGStyle::Edges const &position = yogaStyle.position(); + YGStyle::Edges const &padding = yogaStyle.padding(); + YGStyle::Edges const &margin = yogaStyle.margin(); // Swap Yoga node values, position, padding and margin. @@ -950,7 +950,7 @@ void YogaLayoutableShadowNode::swapLeftAndRightInViewProps( props.borderStyles.right.reset(); } - yoga::Style::Edges const &border = props.yogaStyle.border(); + YGStyle::Edges const &border = props.yogaStyle.border(); if (props.yogaStyle.border()[YGEdgeLeft] != YGValueUndefined) { props.yogaStyle.border()[YGEdgeStart] = border[YGEdgeLeft]; diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h index dbb46a0161e..fee4c635810 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.h @@ -22,7 +22,7 @@ namespace facebook::react { class YogaLayoutableShadowNode : public LayoutableShadowNode { - using CompactValue = facebook::yoga::CompactValue; + using CompactValue = facebook::yoga::detail::CompactValue; public: using Shared = std::shared_ptr; @@ -202,11 +202,11 @@ class YogaLayoutableShadowNode : public LayoutableShadowNode { YogaLayoutableShadowNode const &shadowNode); /* - * Combine a base yoga::Style with aliased properties which should be - * flattened into it. E.g. reconciling "marginInlineStart" and "marginStart". + * Combine a base YGStyle with aliased properties which should be flattened + * into it. E.g. reconciling "marginInlineStart" and "marginStart". */ - static yoga::Style applyAliasedProps( - const yoga::Style &baseStyle, + static YGStyle applyAliasedProps( + const YGStyle &baseStyle, const YogaStylableProps &props); #pragma mark - Consistency Ensuring Helpers diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp b/packages/react-native/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp index 903d4e2db21..b92ae8c68a6 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp @@ -104,7 +104,7 @@ void YogaStylableProps::setProp( RawPropsPropNameHash hash, const char *propName, RawValue const &value) { - static const auto ygDefaults = yoga::Style{}; + static const auto ygDefaults = YGStyle{}; static const auto defaults = YogaStylableProps{}; Props::setProp(context, hash, propName, value); @@ -161,7 +161,7 @@ void YogaStylableProps::setProp( #if RN_DEBUG_STRING_CONVERTIBLE SharedDebugStringConvertibleList YogaStylableProps::getDebugProps() const { - auto const defaultYogaStyle = yoga::Style{}; + auto const defaultYogaStyle = YGStyle{}; return { debugStringConvertibleItem( "direction", yogaStyle.direction(), defaultYogaStyle.direction()), diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/YogaStylableProps.h b/packages/react-native/ReactCommon/react/renderer/components/view/YogaStylableProps.h index 46d414722f4..b3bc8c6af49 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/YogaStylableProps.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/YogaStylableProps.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include #include @@ -16,7 +16,7 @@ namespace facebook::react { class YogaStylableProps : public Props { - using CompactValue = facebook::yoga::CompactValue; + using CompactValue = facebook::yoga::detail::CompactValue; public: YogaStylableProps() = default; @@ -38,7 +38,7 @@ class YogaStylableProps : public Props { #endif #pragma mark - Props - yoga::Style yogaStyle{}; + YGStyle yogaStyle{}; // Duplicates of existing properties with different names, taking // precedence. E.g. "marginBlock" instead of "marginVertical" diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/conversions.h b/packages/react-native/ReactCommon/react/renderer/components/view/conversions.h index 5bd66eea65a..7d3d9d0586f 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/conversions.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/conversions.h @@ -406,7 +406,7 @@ inline void fromRawValue( inline void fromRawValue( const PropsParserContext &context, const RawValue &value, - yoga::Style::ValueRepr &result) { + YGStyle::ValueRepr &result) { if (value.hasType()) { result = yogaStyleValueFromFloat((Float)value); return; @@ -440,7 +440,7 @@ inline void fromRawValue( const PropsParserContext &context, const RawValue &value, YGValue &result) { - yoga::Style::ValueRepr ygValue{}; + YGStyle::ValueRepr ygValue{}; fromRawValue(context, value, ygValue); result = ygValue; } @@ -826,11 +826,11 @@ inline std::string toString(const YGFloatOptional &value) { return folly::to(floatFromYogaFloat(value.unwrap())); } -inline std::string toString(const yoga::Style::Dimensions &value) { +inline std::string toString(const YGStyle::Dimensions &value) { return "{" + toString(value[0]) + ", " + toString(value[1]) + "}"; } -inline std::string toString(const yoga::Style::Edges &value) { +inline std::string toString(const YGStyle::Edges &value) { static std::array()> names = { {"left", "top", diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp b/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp index b59fff53871..5d5ece381b2 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp @@ -13,7 +13,7 @@ namespace facebook::react { -MapBuffer convertBorderWidths(yoga::Style::Edges const &border) { +MapBuffer convertBorderWidths(YGStyle::Edges const &border) { MapBufferBuilder builder(7); putOptionalFloat( builder, EDGE_TOP, optionalFloatFromYogaValue(border[YGEdgeTop])); diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/propsConversions.h b/packages/react-native/ReactCommon/react/renderer/components/view/propsConversions.h index dd768b4aa1b..6c65803c1b5 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/propsConversions.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/propsConversions.h @@ -17,13 +17,13 @@ namespace facebook::react { // Nearly this entire file can be deleted when iterator-style Prop parsing // ships fully for View -static inline yoga::Style::Dimensions convertRawProp( +static inline YGStyle::Dimensions convertRawProp( const PropsParserContext &context, RawProps const &rawProps, char const *widthName, char const *heightName, - yoga::Style::Dimensions const &sourceValue, - yoga::Style::Dimensions const &defaultValue) { + YGStyle::Dimensions const &sourceValue, + YGStyle::Dimensions const &defaultValue) { auto dimensions = defaultValue; dimensions[YGDimensionWidth] = convertRawProp( context, @@ -40,13 +40,13 @@ static inline yoga::Style::Dimensions convertRawProp( return dimensions; } -static inline yoga::Style::Edges convertRawProp( +static inline YGStyle::Edges convertRawProp( const PropsParserContext &context, RawProps const &rawProps, char const *prefix, char const *suffix, - yoga::Style::Edges const &sourceValue, - yoga::Style::Edges const &defaultValue) { + YGStyle::Edges const &sourceValue, + YGStyle::Edges const &defaultValue) { auto result = defaultValue; result[YGEdgeLeft] = convertRawProp( context, @@ -123,11 +123,11 @@ static inline yoga::Style::Edges convertRawProp( return result; } -static inline yoga::Style::Edges convertRawProp( +static inline YGStyle::Edges convertRawProp( const PropsParserContext &context, RawProps const &rawProps, - yoga::Style::Edges const &sourceValue, - yoga::Style::Edges const &defaultValue) { + YGStyle::Edges const &sourceValue, + YGStyle::Edges const &defaultValue) { auto result = defaultValue; result[YGEdgeLeft] = convertRawProp( context, @@ -168,11 +168,11 @@ static inline yoga::Style::Edges convertRawProp( return result; } -static inline yoga::Style convertRawProp( +static inline YGStyle convertRawProp( const PropsParserContext &context, RawProps const &rawProps, - yoga::Style const &sourceValue) { - auto yogaStyle = yoga::Style{}; + YGStyle const &sourceValue) { + auto yogaStyle = YGStyle{}; yogaStyle.direction() = convertRawProp( context, rawProps, diff --git a/packages/react-native/ReactCommon/yoga/Yoga.podspec b/packages/react-native/ReactCommon/yoga/Yoga.podspec index 5442f0afc34..7e68f6dc4fa 100644 --- a/packages/react-native/ReactCommon/yoga/Yoga.podspec +++ b/packages/react-native/ReactCommon/yoga/Yoga.podspec @@ -50,7 +50,6 @@ Pod::Spec.new do |spec| source_files = 'yoga/**/*.{cpp,h}' source_files = File.join('ReactCommon/yoga', source_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION'] spec.source_files = source_files - spec.header_mappings_dir = 'yoga' public_header_files = 'yoga/{Yoga,YGEnums,YGMacros,YGValue}.h' public_header_files = File.join('ReactCommon/yoga', public_header_files) if ENV['INSTALL_YOGA_WITHOUT_PATH_OPTION'] diff --git a/packages/react-native/ReactCommon/yoga/yoga/style/CompactValue.h b/packages/react-native/ReactCommon/yoga/yoga/CompactValue.h similarity index 98% rename from packages/react-native/ReactCommon/yoga/yoga/style/CompactValue.h rename to packages/react-native/ReactCommon/yoga/yoga/CompactValue.h index 498b984a70b..9d494500111 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/style/CompactValue.h +++ b/packages/react-native/ReactCommon/yoga/yoga/CompactValue.h @@ -38,7 +38,7 @@ static_assert( #define VISIBLE_FOR_TESTING private: #endif -namespace facebook::yoga { +namespace facebook::yoga::detail { // This class stores YGValue in 32 bits. // - The value does not matter for Undefined and Auto. NaNs are used for their @@ -207,4 +207,4 @@ constexpr bool operator!=(CompactValue a, CompactValue b) noexcept { return !(a == b); } -} // namespace facebook::yoga +} // namespace facebook::yoga::detail diff --git a/packages/react-native/ReactCommon/yoga/yoga/Utils.h b/packages/react-native/ReactCommon/yoga/yoga/Utils.h index 78b44de6939..376c4fb55c7 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/Utils.h +++ b/packages/react-native/ReactCommon/yoga/yoga/Utils.h @@ -8,8 +8,8 @@ #pragma once #include "YGNode.h" -#include -#include +#include "Yoga-internal.h" +#include "CompactValue.h" // This struct is an helper model to hold the data for step 4 of flexbox algo, // which is collecting the flex items in a line. @@ -56,8 +56,8 @@ struct YGCollectFlexItemsRowValues { bool YGValueEqual(const YGValue& a, const YGValue& b); inline bool YGValueEqual( - facebook::yoga::CompactValue a, - facebook::yoga::CompactValue b) { + facebook::yoga::detail::CompactValue a, + facebook::yoga::detail::CompactValue b) { return YGValueEqual((YGValue) a, (YGValue) b); } @@ -115,7 +115,7 @@ inline YGFloatOptional YGResolveValue( } inline YGFloatOptional YGResolveValue( - facebook::yoga::CompactValue value, + facebook::yoga::detail::CompactValue value, float ownerSize) { return YGResolveValue((YGValue) value, ownerSize); } @@ -140,7 +140,7 @@ inline YGFlexDirection YGResolveFlexDirection( } inline YGFloatOptional YGResolveValueMargin( - facebook::yoga::CompactValue value, + facebook::yoga::detail::CompactValue value, const float ownerSize) { return value.isAuto() ? YGFloatOptional{0} : YGResolveValue(value, ownerSize); } diff --git a/packages/react-native/ReactCommon/yoga/yoga/YGConfig.h b/packages/react-native/ReactCommon/yoga/yoga/YGConfig.h index fa530fab056..391e250080d 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/YGConfig.h +++ b/packages/react-native/ReactCommon/yoga/yoga/YGConfig.h @@ -9,8 +9,8 @@ #include -#include -#include +#include "BitUtils.h" +#include "Yoga-internal.h" namespace facebook::yoga { diff --git a/packages/react-native/ReactCommon/yoga/yoga/YGFloatOptional.h b/packages/react-native/ReactCommon/yoga/yoga/YGFloatOptional.h index c4c18311d53..4aa9e76e299 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/YGFloatOptional.h +++ b/packages/react-native/ReactCommon/yoga/yoga/YGFloatOptional.h @@ -9,7 +9,7 @@ #include #include -#include +#include "Yoga-internal.h" struct YGFloatOptional { private: diff --git a/packages/react-native/ReactCommon/yoga/yoga/YGLayout.h b/packages/react-native/ReactCommon/yoga/yoga/YGLayout.h index 78a1bcf1918..166eabb64d9 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/YGLayout.h +++ b/packages/react-native/ReactCommon/yoga/yoga/YGLayout.h @@ -7,9 +7,9 @@ #pragma once -#include -#include -#include +#include "BitUtils.h" +#include "YGFloatOptional.h" +#include "Yoga-internal.h" struct YGLayout { std::array position = {}; diff --git a/packages/react-native/ReactCommon/yoga/yoga/YGNode.cpp b/packages/react-native/ReactCommon/yoga/yoga/YGNode.cpp index db537576ce5..cd323b54122 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/YGNode.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/YGNode.cpp @@ -11,8 +11,7 @@ #include "Utils.h" using namespace facebook; -using namespace facebook::yoga; -using facebook::yoga::CompactValue; +using facebook::yoga::detail::CompactValue; YGNode::YGNode(const YGConfigRef config) : config_{config} { YGAssert( @@ -54,7 +53,7 @@ void YGNode::print(void* printContext) { } CompactValue YGNode::computeEdgeValueForRow( - const Style::Edges& edges, + const YGStyle::Edges& edges, YGEdge rowEdge, YGEdge edge, CompactValue defaultValue) { @@ -72,7 +71,7 @@ CompactValue YGNode::computeEdgeValueForRow( } CompactValue YGNode::computeEdgeValueForColumn( - const Style::Edges& edges, + const YGStyle::Edges& edges, YGEdge edge, CompactValue defaultValue) { if (!edges[edge].isUndefined()) { @@ -87,7 +86,7 @@ CompactValue YGNode::computeEdgeValueForColumn( } CompactValue YGNode::computeRowGap( - const Style::Gutters& gutters, + const YGStyle::Gutters& gutters, CompactValue defaultValue) { if (!gutters[YGGutterRow].isUndefined()) { return gutters[YGGutterRow]; @@ -99,7 +98,7 @@ CompactValue YGNode::computeRowGap( } CompactValue YGNode::computeColumnGap( - const Style::Gutters& gutters, + const YGStyle::Gutters& gutters, CompactValue defaultValue) { if (!gutters[YGGutterColumn].isUndefined()) { return gutters[YGGutterColumn]; @@ -432,7 +431,7 @@ YGValue YGNode::resolveFlexBasisPtr() const { void YGNode::resolveDimension() { using namespace yoga; - const Style& style = getStyle(); + const YGStyle& style = getStyle(); for (auto dim : {YGDimensionWidth, YGDimensionHeight}) { if (!style.maxDimensions()[dim].isUndefined() && YGValueEqual(style.maxDimensions()[dim], style.minDimensions()[dim])) { diff --git a/packages/react-native/ReactCommon/yoga/yoga/YGNode.h b/packages/react-native/ReactCommon/yoga/yoga/YGNode.h index b46ce4aa1dc..e3c202f2b9f 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/YGNode.h +++ b/packages/react-native/ReactCommon/yoga/yoga/YGNode.h @@ -9,12 +9,11 @@ #include #include +#include "CompactValue.h" #include "YGConfig.h" #include "YGLayout.h" -#include - -#include -#include +#include "YGStyle.h" +#include "Yoga-internal.h" YGConfigRef YGConfigGetDefault(); @@ -53,7 +52,7 @@ private: PrintWithContextFn withContext; } print_ = {nullptr}; YGDirtiedFunc dirtied_ = nullptr; - facebook::yoga::Style style_ = {}; + YGStyle style_ = {}; YGLayout layout_ = {}; uint32_t lineIndex_ = 0; YGNodeRef owner_ = nullptr; @@ -81,7 +80,7 @@ private: // DO NOT CHANGE THE VISIBILITY OF THIS METHOD! YGNode& operator=(YGNode&&) = default; - using CompactValue = facebook::yoga::CompactValue; + using CompactValue = facebook::yoga::detail::CompactValue; public: YGNode() : YGNode{YGConfigGetDefault()} { flags_.hasNewLayout = true; } @@ -124,9 +123,9 @@ public: YGDirtiedFunc getDirtied() const { return dirtied_; } // For Performance reasons passing as reference. - facebook::yoga::Style& getStyle() { return style_; } + YGStyle& getStyle() { return style_; } - const facebook::yoga::Style& getStyle() const { return style_; } + const YGStyle& getStyle() const { return style_; } // For Performance reasons passing as reference. YGLayout& getLayout() { return layout_; } @@ -179,22 +178,22 @@ public: } static CompactValue computeEdgeValueForColumn( - const facebook::yoga::Style::Edges& edges, + const YGStyle::Edges& edges, YGEdge edge, CompactValue defaultValue); static CompactValue computeEdgeValueForRow( - const facebook::yoga::Style::Edges& edges, + const YGStyle::Edges& edges, YGEdge rowEdge, YGEdge edge, CompactValue defaultValue); static CompactValue computeRowGap( - const facebook::yoga::Style::Gutters& gutters, + const YGStyle::Gutters& gutters, CompactValue defaultValue); static CompactValue computeColumnGap( - const facebook::yoga::Style::Gutters& gutters, + const YGStyle::Gutters& gutters, CompactValue defaultValue); // Methods related to positions, margin, padding and border @@ -274,7 +273,7 @@ public: void setDirtiedFunc(YGDirtiedFunc dirtiedFunc) { dirtied_ = dirtiedFunc; } - void setStyle(const facebook::yoga::Style& style) { style_ = style; } + void setStyle(const YGStyle& style) { style_ = style; } void setLayout(const YGLayout& layout) { layout_ = layout; } diff --git a/packages/react-native/ReactCommon/yoga/yoga/YGNodePrint.cpp b/packages/react-native/ReactCommon/yoga/yoga/YGNodePrint.cpp index c1205abbdc7..7aa50f07d02 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/YGNodePrint.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/YGNodePrint.cpp @@ -13,7 +13,7 @@ #include "YGNodePrint.h" #include "YGNode.h" -#include +#include "Yoga-internal.h" #include "Utils.h" namespace facebook::yoga { @@ -25,7 +25,7 @@ static void indent(string& base, uint32_t level) { } } -static bool areFourValuesEqual(const Style::Edges& four) { +static bool areFourValuesEqual(const YGStyle::Edges& four) { return YGValueEqual(four[0], four[1]) && YGValueEqual(four[0], four[2]) && YGValueEqual(four[0], four[3]); } @@ -90,10 +90,10 @@ static void appendNumberIfNotZero( static void appendEdges( string& base, const string& key, - const Style::Edges& edges) { + const YGStyle::Edges& edges) { if (areFourValuesEqual(edges)) { auto edgeValue = YGNode::computeEdgeValueForColumn( - edges, YGEdgeLeft, CompactValue::ofZero()); + edges, YGEdgeLeft, detail::CompactValue::ofZero()); appendNumberIfNotZero(base, key, edgeValue); } else { for (int edge = YGEdgeLeft; edge != YGEdgeAll; ++edge) { @@ -106,14 +106,14 @@ static void appendEdges( static void appendEdgeIfNotUndefined( string& base, const string& str, - const Style::Edges& edges, + const YGStyle::Edges& edges, const YGEdge edge) { // TODO: this doesn't take RTL / YGEdgeStart / YGEdgeEnd into account auto value = (edge == YGEdgeLeft || edge == YGEdgeRight) ? YGNode::computeEdgeValueForRow( - edges, edge, edge, CompactValue::ofUndefined()) + edges, edge, edge, detail::CompactValue::ofUndefined()) : YGNode::computeEdgeValueForColumn( - edges, edge, CompactValue::ofUndefined()); + edges, edge, detail::CompactValue::ofUndefined()); appendNumberIfNotUndefined(base, str, value); } @@ -188,15 +188,17 @@ void YGNodeToString( appendEdges(str, "padding", style.padding()); appendEdges(str, "border", style.border()); - if (YGNode::computeColumnGap(style.gap(), CompactValue::ofUndefined()) != + if (YGNode::computeColumnGap( + style.gap(), detail::CompactValue::ofUndefined()) != YGNode::computeColumnGap( - YGNode().getStyle().gap(), CompactValue::ofUndefined())) { + YGNode().getStyle().gap(), detail::CompactValue::ofUndefined())) { appendNumberIfNotUndefined( str, "column-gap", style.gap()[YGGutterColumn]); } - if (YGNode::computeRowGap(style.gap(), CompactValue::ofUndefined()) != + if (YGNode::computeRowGap( + style.gap(), detail::CompactValue::ofUndefined()) != YGNode::computeRowGap( - YGNode().getStyle().gap(), CompactValue::ofUndefined())) { + YGNode().getStyle().gap(), detail::CompactValue::ofUndefined())) { appendNumberIfNotUndefined(str, "row-gap", style.gap()[YGGutterRow]); } diff --git a/packages/react-native/ReactCommon/yoga/yoga/style/Style.cpp b/packages/react-native/ReactCommon/yoga/yoga/YGStyle.cpp similarity index 93% rename from packages/react-native/ReactCommon/yoga/yoga/style/Style.cpp rename to packages/react-native/ReactCommon/yoga/yoga/YGStyle.cpp index 806f24289b8..37153f2e927 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/style/Style.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/YGStyle.cpp @@ -5,13 +5,11 @@ * LICENSE file in the root directory of this source tree. */ -#include -#include - -namespace facebook::yoga { +#include "YGStyle.h" +#include "Utils.h" // Yoga specific properties, not compatible with flexbox specification -bool operator==(const Style& lhs, const Style& rhs) { +bool operator==(const YGStyle& lhs, const YGStyle& rhs) { bool areNonFloatValuesEqual = lhs.direction() == rhs.direction() && lhs.flexDirection() == rhs.flexDirection() && lhs.justifyContent() == rhs.justifyContent() && @@ -56,5 +54,3 @@ bool operator==(const Style& lhs, const Style& rhs) { return areNonFloatValuesEqual; } - -} // namespace facebook::yoga diff --git a/packages/react-native/ReactCommon/yoga/yoga/style/Style.h b/packages/react-native/ReactCommon/yoga/yoga/YGStyle.h similarity index 80% rename from packages/react-native/ReactCommon/yoga/yoga/style/Style.h rename to packages/react-native/ReactCommon/yoga/yoga/YGStyle.h index c323346e45d..4f182d0691e 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/style/Style.h +++ b/packages/react-native/ReactCommon/yoga/yoga/YGStyle.h @@ -13,17 +13,17 @@ #include #include -#include -#include -#include -#include +#include "CompactValue.h" +#include "YGFloatOptional.h" +#include "Yoga-internal.h" +#include "BitUtils.h" -namespace facebook::yoga { - -class YOGA_EXPORT Style { +class YOGA_EXPORT YGStyle { template - using Values = detail::Values()>; + using Values = + facebook::yoga::detail::Values()>; + using CompactValue = facebook::yoga::detail::CompactValue; public: using Dimensions = Values; @@ -32,7 +32,7 @@ public: template struct BitfieldRef { - Style& style; + YGStyle& style; size_t offset; operator T() const { return facebook::yoga::detail::getEnumData(style.flags, offset); @@ -43,9 +43,9 @@ public: } }; - template + template struct Ref { - Style& style; + YGStyle& style; operator T() const { return style.*Prop; } Ref& operator=(T value) { style.*Prop = value; @@ -53,10 +53,10 @@ public: } }; - template Style::*Prop> + template YGStyle::*Prop> struct IdxRef { struct Ref { - Style& style; + YGStyle& style; Idx idx; operator CompactValue() const { return (style.*Prop)[idx]; } operator YGValue() const { return (style.*Prop)[idx]; } @@ -66,7 +66,7 @@ public: } }; - Style& style; + YGStyle& style; IdxRef& operator=(const Values& values) { style.*Prop = values; return *this; @@ -76,11 +76,11 @@ public: CompactValue operator[](Idx idx) const { return (style.*Prop)[idx]; } }; - Style() { + YGStyle() { alignContent() = YGAlignFlexStart; alignItems() = YGAlignStretch; } - ~Style() = default; + ~YGStyle() = default; private: static constexpr size_t directionOffset = 0; @@ -188,52 +188,51 @@ public: BitfieldRef display() { return {*this, displayOffset}; } YGFloatOptional flex() const { return flex_; } - Ref flex() { return {*this}; } + Ref flex() { return {*this}; } YGFloatOptional flexGrow() const { return flexGrow_; } - Ref flexGrow() { return {*this}; } + Ref flexGrow() { return {*this}; } YGFloatOptional flexShrink() const { return flexShrink_; } - Ref flexShrink() { return {*this}; } + Ref flexShrink() { return {*this}; } CompactValue flexBasis() const { return flexBasis_; } - Ref flexBasis() { return {*this}; } + Ref flexBasis() { return {*this}; } const Edges& margin() const { return margin_; } - IdxRef margin() { return {*this}; } + IdxRef margin() { return {*this}; } const Edges& position() const { return position_; } - IdxRef position() { return {*this}; } + IdxRef position() { return {*this}; } const Edges& padding() const { return padding_; } - IdxRef padding() { return {*this}; } + IdxRef padding() { return {*this}; } const Edges& border() const { return border_; } - IdxRef border() { return {*this}; } + IdxRef border() { return {*this}; } const Gutters& gap() const { return gap_; } - IdxRef gap() { return {*this}; } + IdxRef gap() { return {*this}; } const Dimensions& dimensions() const { return dimensions_; } - IdxRef dimensions() { return {*this}; } + IdxRef dimensions() { return {*this}; } const Dimensions& minDimensions() const { return minDimensions_; } - IdxRef minDimensions() { + IdxRef minDimensions() { return {*this}; } const Dimensions& maxDimensions() const { return maxDimensions_; } - IdxRef maxDimensions() { + IdxRef maxDimensions() { return {*this}; } // Yoga specific properties, not compatible with flexbox specification YGFloatOptional aspectRatio() const { return aspectRatio_; } - Ref aspectRatio() { return {*this}; } + Ref aspectRatio() { return {*this}; } }; -YOGA_EXPORT bool operator==(const Style& lhs, const Style& rhs); -YOGA_EXPORT inline bool operator!=(const Style& lhs, const Style& rhs) { +YOGA_EXPORT bool operator==(const YGStyle& lhs, const YGStyle& rhs); +YOGA_EXPORT inline bool operator!=(const YGStyle& lhs, const YGStyle& rhs) { return !(lhs == rhs); } -} // namespace facebook::yoga diff --git a/packages/react-native/ReactCommon/yoga/yoga/Yoga-internal.h b/packages/react-native/ReactCommon/yoga/yoga/Yoga-internal.h index d4e6df63e54..c16c2ad5775 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/Yoga-internal.h +++ b/packages/react-native/ReactCommon/yoga/yoga/Yoga-internal.h @@ -14,7 +14,7 @@ #include -#include +#include "CompactValue.h" using YGVector = std::vector; diff --git a/packages/react-native/ReactCommon/yoga/yoga/Yoga.cpp b/packages/react-native/ReactCommon/yoga/yoga/Yoga.cpp index e8756ddfce1..ab0aa82526d 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/Yoga.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/Yoga.cpp @@ -17,7 +17,7 @@ #include "Utils.h" #include "YGNode.h" #include "YGNodePrint.h" -#include +#include "Yoga-internal.h" #include "event/event.h" using namespace facebook::yoga; @@ -480,25 +480,26 @@ void updateStyle( } template -void updateStyle(YGNode* node, Ref (Style::*prop)(), T value) { +void updateStyle(YGNode* node, Ref (YGStyle::*prop)(), T value) { updateStyle( node, value, - [prop](Style& s, T x) { return (s.*prop)() != x; }, - [prop](Style& s, T x) { (s.*prop)() = x; }); + [prop](YGStyle& s, T x) { return (s.*prop)() != x; }, + [prop](YGStyle& s, T x) { (s.*prop)() = x; }); } template void updateIndexedStyleProp( YGNode* node, - Ref (Style::*prop)(), + Ref (YGStyle::*prop)(), Idx idx, - CompactValue value) { + detail::CompactValue value) { + using detail::CompactValue; updateStyle( node, value, - [idx, prop](Style& s, CompactValue x) { return (s.*prop)()[idx] != x; }, - [idx, prop](Style& s, CompactValue x) { (s.*prop)()[idx] = x; }); + [idx, prop](YGStyle& s, CompactValue x) { return (s.*prop)()[idx] != x; }, + [idx, prop](YGStyle& s, CompactValue x) { (s.*prop)()[idx] = x; }); } } // namespace @@ -508,12 +509,12 @@ void updateIndexedStyleProp( // overload like clang and GCC. For the purposes of updateStyle(), we can help // MSVC by specifying that return type explicitly. In combination with // decltype, MSVC will prefer the non-const version. -#define MSVC_HINT(PROP) decltype(Style{}.PROP()) +#define MSVC_HINT(PROP) decltype(YGStyle{}.PROP()) YOGA_EXPORT void YGNodeStyleSetDirection( const YGNodeRef node, const YGDirection value) { - updateStyle(node, &Style::direction, value); + updateStyle(node, &YGStyle::direction, value); } YOGA_EXPORT YGDirection YGNodeStyleGetDirection(const YGNodeConstRef node) { return node->getStyle().direction(); @@ -523,7 +524,7 @@ YOGA_EXPORT void YGNodeStyleSetFlexDirection( const YGNodeRef node, const YGFlexDirection flexDirection) { updateStyle( - node, &Style::flexDirection, flexDirection); + node, &YGStyle::flexDirection, flexDirection); } YOGA_EXPORT YGFlexDirection YGNodeStyleGetFlexDirection(const YGNodeConstRef node) { @@ -534,7 +535,7 @@ YOGA_EXPORT void YGNodeStyleSetJustifyContent( const YGNodeRef node, const YGJustify justifyContent) { updateStyle( - node, &Style::justifyContent, justifyContent); + node, &YGStyle::justifyContent, justifyContent); } YOGA_EXPORT YGJustify YGNodeStyleGetJustifyContent(const YGNodeConstRef node) { return node->getStyle().justifyContent(); @@ -544,7 +545,7 @@ YOGA_EXPORT void YGNodeStyleSetAlignContent( const YGNodeRef node, const YGAlign alignContent) { updateStyle( - node, &Style::alignContent, alignContent); + node, &YGStyle::alignContent, alignContent); } YOGA_EXPORT YGAlign YGNodeStyleGetAlignContent(const YGNodeConstRef node) { return node->getStyle().alignContent(); @@ -553,7 +554,7 @@ YOGA_EXPORT YGAlign YGNodeStyleGetAlignContent(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetAlignItems( const YGNodeRef node, const YGAlign alignItems) { - updateStyle(node, &Style::alignItems, alignItems); + updateStyle(node, &YGStyle::alignItems, alignItems); } YOGA_EXPORT YGAlign YGNodeStyleGetAlignItems(const YGNodeConstRef node) { return node->getStyle().alignItems(); @@ -562,7 +563,7 @@ YOGA_EXPORT YGAlign YGNodeStyleGetAlignItems(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetAlignSelf( const YGNodeRef node, const YGAlign alignSelf) { - updateStyle(node, &Style::alignSelf, alignSelf); + updateStyle(node, &YGStyle::alignSelf, alignSelf); } YOGA_EXPORT YGAlign YGNodeStyleGetAlignSelf(const YGNodeConstRef node) { return node->getStyle().alignSelf(); @@ -572,7 +573,7 @@ YOGA_EXPORT void YGNodeStyleSetPositionType( const YGNodeRef node, const YGPositionType positionType) { updateStyle( - node, &Style::positionType, positionType); + node, &YGStyle::positionType, positionType); } YOGA_EXPORT YGPositionType YGNodeStyleGetPositionType(const YGNodeConstRef node) { @@ -582,7 +583,7 @@ YGNodeStyleGetPositionType(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetFlexWrap( const YGNodeRef node, const YGWrap flexWrap) { - updateStyle(node, &Style::flexWrap, flexWrap); + updateStyle(node, &YGStyle::flexWrap, flexWrap); } YOGA_EXPORT YGWrap YGNodeStyleGetFlexWrap(const YGNodeConstRef node) { return node->getStyle().flexWrap(); @@ -591,7 +592,7 @@ YOGA_EXPORT YGWrap YGNodeStyleGetFlexWrap(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetOverflow( const YGNodeRef node, const YGOverflow overflow) { - updateStyle(node, &Style::overflow, overflow); + updateStyle(node, &YGStyle::overflow, overflow); } YOGA_EXPORT YGOverflow YGNodeStyleGetOverflow(const YGNodeConstRef node) { return node->getStyle().overflow(); @@ -600,7 +601,7 @@ YOGA_EXPORT YGOverflow YGNodeStyleGetOverflow(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetDisplay( const YGNodeRef node, const YGDisplay display) { - updateStyle(node, &Style::display, display); + updateStyle(node, &YGStyle::display, display); } YOGA_EXPORT YGDisplay YGNodeStyleGetDisplay(const YGNodeConstRef node) { return node->getStyle().display(); @@ -608,7 +609,7 @@ YOGA_EXPORT YGDisplay YGNodeStyleGetDisplay(const YGNodeConstRef node) { // TODO(T26792433): Change the API to accept YGFloatOptional. YOGA_EXPORT void YGNodeStyleSetFlex(const YGNodeRef node, const float flex) { - updateStyle(node, &Style::flex, YGFloatOptional{flex}); + updateStyle(node, &YGStyle::flex, YGFloatOptional{flex}); } // TODO(T26792433): Change the API to accept YGFloatOptional. @@ -623,7 +624,7 @@ YOGA_EXPORT void YGNodeStyleSetFlexGrow( const YGNodeRef node, const float flexGrow) { updateStyle( - node, &Style::flexGrow, YGFloatOptional{flexGrow}); + node, &YGStyle::flexGrow, YGFloatOptional{flexGrow}); } // TODO(T26792433): Change the API to accept YGFloatOptional. @@ -631,7 +632,7 @@ YOGA_EXPORT void YGNodeStyleSetFlexShrink( const YGNodeRef node, const float flexShrink) { updateStyle( - node, &Style::flexShrink, YGFloatOptional{flexShrink}); + node, &YGStyle::flexShrink, YGFloatOptional{flexShrink}); } YOGA_EXPORT YGValue YGNodeStyleGetFlexBasis(const YGNodeConstRef node) { @@ -646,37 +647,37 @@ YOGA_EXPORT YGValue YGNodeStyleGetFlexBasis(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetFlexBasis( const YGNodeRef node, const float flexBasis) { - auto value = CompactValue::ofMaybe(flexBasis); - updateStyle(node, &Style::flexBasis, value); + auto value = detail::CompactValue::ofMaybe(flexBasis); + updateStyle(node, &YGStyle::flexBasis, value); } YOGA_EXPORT void YGNodeStyleSetFlexBasisPercent( const YGNodeRef node, const float flexBasisPercent) { - auto value = CompactValue::ofMaybe(flexBasisPercent); - updateStyle(node, &Style::flexBasis, value); + auto value = detail::CompactValue::ofMaybe(flexBasisPercent); + updateStyle(node, &YGStyle::flexBasis, value); } YOGA_EXPORT void YGNodeStyleSetFlexBasisAuto(const YGNodeRef node) { updateStyle( - node, &Style::flexBasis, CompactValue::ofAuto()); + node, &YGStyle::flexBasis, detail::CompactValue::ofAuto()); } YOGA_EXPORT void YGNodeStyleSetPosition( YGNodeRef node, YGEdge edge, float points) { - auto value = CompactValue::ofMaybe(points); + auto value = detail::CompactValue::ofMaybe(points); updateIndexedStyleProp( - node, &Style::position, edge, value); + node, &YGStyle::position, edge, value); } YOGA_EXPORT void YGNodeStyleSetPositionPercent( YGNodeRef node, YGEdge edge, float percent) { - auto value = CompactValue::ofMaybe(percent); + auto value = detail::CompactValue::ofMaybe(percent); updateIndexedStyleProp( - node, &Style::position, edge, value); + node, &YGStyle::position, edge, value); } YOGA_EXPORT YGValue YGNodeStyleGetPosition(YGNodeConstRef node, YGEdge edge) { return node->getStyle().position()[edge]; @@ -686,19 +687,21 @@ YOGA_EXPORT void YGNodeStyleSetMargin( YGNodeRef node, YGEdge edge, float points) { - auto value = CompactValue::ofMaybe(points); - updateIndexedStyleProp(node, &Style::margin, edge, value); + auto value = detail::CompactValue::ofMaybe(points); + updateIndexedStyleProp( + node, &YGStyle::margin, edge, value); } YOGA_EXPORT void YGNodeStyleSetMarginPercent( YGNodeRef node, YGEdge edge, float percent) { - auto value = CompactValue::ofMaybe(percent); - updateIndexedStyleProp(node, &Style::margin, edge, value); + auto value = detail::CompactValue::ofMaybe(percent); + updateIndexedStyleProp( + node, &YGStyle::margin, edge, value); } YOGA_EXPORT void YGNodeStyleSetMarginAuto(YGNodeRef node, YGEdge edge) { updateIndexedStyleProp( - node, &Style::margin, edge, CompactValue::ofAuto()); + node, &YGStyle::margin, edge, detail::CompactValue::ofAuto()); } YOGA_EXPORT YGValue YGNodeStyleGetMargin(YGNodeConstRef node, YGEdge edge) { return node->getStyle().margin()[edge]; @@ -708,17 +711,17 @@ YOGA_EXPORT void YGNodeStyleSetPadding( YGNodeRef node, YGEdge edge, float points) { - auto value = CompactValue::ofMaybe(points); + auto value = detail::CompactValue::ofMaybe(points); updateIndexedStyleProp( - node, &Style::padding, edge, value); + node, &YGStyle::padding, edge, value); } YOGA_EXPORT void YGNodeStyleSetPaddingPercent( YGNodeRef node, YGEdge edge, float percent) { - auto value = CompactValue::ofMaybe(percent); + auto value = detail::CompactValue::ofMaybe(percent); updateIndexedStyleProp( - node, &Style::padding, edge, value); + node, &YGStyle::padding, edge, value); } YOGA_EXPORT YGValue YGNodeStyleGetPadding(YGNodeConstRef node, YGEdge edge) { return node->getStyle().padding()[edge]; @@ -729,8 +732,9 @@ YOGA_EXPORT void YGNodeStyleSetBorder( const YGNodeRef node, const YGEdge edge, const float border) { - auto value = CompactValue::ofMaybe(border); - updateIndexedStyleProp(node, &Style::border, edge, value); + auto value = detail::CompactValue::ofMaybe(border); + updateIndexedStyleProp( + node, &YGStyle::border, edge, value); } YOGA_EXPORT float YGNodeStyleGetBorder( @@ -750,8 +754,8 @@ YOGA_EXPORT void YGNodeStyleSetGap( const YGNodeRef node, const YGGutter gutter, const float gapLength) { - auto length = CompactValue::ofMaybe(gapLength); - updateIndexedStyleProp(node, &Style::gap, gutter, length); + auto length = detail::CompactValue::ofMaybe(gapLength); + updateIndexedStyleProp(node, &YGStyle::gap, gutter, length); } YOGA_EXPORT float YGNodeStyleGetGap( @@ -780,40 +784,46 @@ YOGA_EXPORT void YGNodeStyleSetAspectRatio( const YGNodeRef node, const float aspectRatio) { updateStyle( - node, &Style::aspectRatio, YGFloatOptional{aspectRatio}); + node, &YGStyle::aspectRatio, YGFloatOptional{aspectRatio}); } YOGA_EXPORT void YGNodeStyleSetWidth(YGNodeRef node, float points) { - auto value = CompactValue::ofMaybe(points); + auto value = detail::CompactValue::ofMaybe(points); updateIndexedStyleProp( - node, &Style::dimensions, YGDimensionWidth, value); + node, &YGStyle::dimensions, YGDimensionWidth, value); } YOGA_EXPORT void YGNodeStyleSetWidthPercent(YGNodeRef node, float percent) { - auto value = CompactValue::ofMaybe(percent); + auto value = detail::CompactValue::ofMaybe(percent); updateIndexedStyleProp( - node, &Style::dimensions, YGDimensionWidth, value); + node, &YGStyle::dimensions, YGDimensionWidth, value); } YOGA_EXPORT void YGNodeStyleSetWidthAuto(YGNodeRef node) { updateIndexedStyleProp( - node, &Style::dimensions, YGDimensionWidth, CompactValue::ofAuto()); + node, + &YGStyle::dimensions, + YGDimensionWidth, + detail::CompactValue::ofAuto()); } YOGA_EXPORT YGValue YGNodeStyleGetWidth(YGNodeConstRef node) { return node->getStyle().dimensions()[YGDimensionWidth]; } YOGA_EXPORT void YGNodeStyleSetHeight(YGNodeRef node, float points) { - auto value = CompactValue::ofMaybe(points); + auto value = detail::CompactValue::ofMaybe(points); updateIndexedStyleProp( - node, &Style::dimensions, YGDimensionHeight, value); + node, &YGStyle::dimensions, YGDimensionHeight, value); } YOGA_EXPORT void YGNodeStyleSetHeightPercent(YGNodeRef node, float percent) { - auto value = CompactValue::ofMaybe(percent); + auto value = detail::CompactValue::ofMaybe(percent); updateIndexedStyleProp( - node, &Style::dimensions, YGDimensionHeight, value); + node, &YGStyle::dimensions, YGDimensionHeight, value); } YOGA_EXPORT void YGNodeStyleSetHeightAuto(YGNodeRef node) { updateIndexedStyleProp( - node, &Style::dimensions, YGDimensionHeight, CompactValue::ofAuto()); + node, + &YGStyle::dimensions, + YGDimensionHeight, + detail::CompactValue::ofAuto()); } YOGA_EXPORT YGValue YGNodeStyleGetHeight(YGNodeConstRef node) { return node->getStyle().dimensions()[YGDimensionHeight]; @@ -822,16 +832,16 @@ YOGA_EXPORT YGValue YGNodeStyleGetHeight(YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetMinWidth( const YGNodeRef node, const float minWidth) { - auto value = CompactValue::ofMaybe(minWidth); + auto value = detail::CompactValue::ofMaybe(minWidth); updateIndexedStyleProp( - node, &Style::minDimensions, YGDimensionWidth, value); + node, &YGStyle::minDimensions, YGDimensionWidth, value); } YOGA_EXPORT void YGNodeStyleSetMinWidthPercent( const YGNodeRef node, const float minWidth) { - auto value = CompactValue::ofMaybe(minWidth); + auto value = detail::CompactValue::ofMaybe(minWidth); updateIndexedStyleProp( - node, &Style::minDimensions, YGDimensionWidth, value); + node, &YGStyle::minDimensions, YGDimensionWidth, value); } YOGA_EXPORT YGValue YGNodeStyleGetMinWidth(const YGNodeConstRef node) { return node->getStyle().minDimensions()[YGDimensionWidth]; @@ -840,16 +850,16 @@ YOGA_EXPORT YGValue YGNodeStyleGetMinWidth(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetMinHeight( const YGNodeRef node, const float minHeight) { - auto value = CompactValue::ofMaybe(minHeight); + auto value = detail::CompactValue::ofMaybe(minHeight); updateIndexedStyleProp( - node, &Style::minDimensions, YGDimensionHeight, value); + node, &YGStyle::minDimensions, YGDimensionHeight, value); } YOGA_EXPORT void YGNodeStyleSetMinHeightPercent( const YGNodeRef node, const float minHeight) { - auto value = CompactValue::ofMaybe(minHeight); + auto value = detail::CompactValue::ofMaybe(minHeight); updateIndexedStyleProp( - node, &Style::minDimensions, YGDimensionHeight, value); + node, &YGStyle::minDimensions, YGDimensionHeight, value); } YOGA_EXPORT YGValue YGNodeStyleGetMinHeight(const YGNodeConstRef node) { return node->getStyle().minDimensions()[YGDimensionHeight]; @@ -858,16 +868,16 @@ YOGA_EXPORT YGValue YGNodeStyleGetMinHeight(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetMaxWidth( const YGNodeRef node, const float maxWidth) { - auto value = CompactValue::ofMaybe(maxWidth); + auto value = detail::CompactValue::ofMaybe(maxWidth); updateIndexedStyleProp( - node, &Style::maxDimensions, YGDimensionWidth, value); + node, &YGStyle::maxDimensions, YGDimensionWidth, value); } YOGA_EXPORT void YGNodeStyleSetMaxWidthPercent( const YGNodeRef node, const float maxWidth) { - auto value = CompactValue::ofMaybe(maxWidth); + auto value = detail::CompactValue::ofMaybe(maxWidth); updateIndexedStyleProp( - node, &Style::maxDimensions, YGDimensionWidth, value); + node, &YGStyle::maxDimensions, YGDimensionWidth, value); } YOGA_EXPORT YGValue YGNodeStyleGetMaxWidth(const YGNodeConstRef node) { return node->getStyle().maxDimensions()[YGDimensionWidth]; @@ -876,16 +886,16 @@ YOGA_EXPORT YGValue YGNodeStyleGetMaxWidth(const YGNodeConstRef node) { YOGA_EXPORT void YGNodeStyleSetMaxHeight( const YGNodeRef node, const float maxHeight) { - auto value = CompactValue::ofMaybe(maxHeight); + auto value = detail::CompactValue::ofMaybe(maxHeight); updateIndexedStyleProp( - node, &Style::maxDimensions, YGDimensionHeight, value); + node, &YGStyle::maxDimensions, YGDimensionHeight, value); } YOGA_EXPORT void YGNodeStyleSetMaxHeightPercent( const YGNodeRef node, const float maxHeight) { - auto value = CompactValue::ofMaybe(maxHeight); + auto value = detail::CompactValue::ofMaybe(maxHeight); updateIndexedStyleProp( - node, &Style::maxDimensions, YGDimensionHeight, value); + node, &YGStyle::maxDimensions, YGDimensionHeight, value); } YOGA_EXPORT YGValue YGNodeStyleGetMaxHeight(const YGNodeConstRef node) { return node->getStyle().maxDimensions()[YGDimensionHeight]; @@ -2509,7 +2519,7 @@ static void YGJustifyMainAxis( i < collectedFlexItemsValues.endOfLineIndex; i++) { const YGNodeRef child = node->getChild(i); - const Style& childStyle = child->getStyle(); + const YGStyle& childStyle = child->getStyle(); const YGLayout childLayout = child->getLayout(); const bool isLastChild = i == collectedFlexItemsValues.endOfLineIndex - 1; // remove the gap if it is the last element of the line