Update LayoutComponentStyle bitfields to be compatible with older C++ versions Diffs= 97578005c Update LayoutComponentStyle bitfields to be compatible with older C++ versions (#7436) Co-authored-by: Philip Chung <philterdesign@gmail.com>
diff --git a/.rive_head b/.rive_head index 3fd5c8b..aaeeaf3 100644 --- a/.rive_head +++ b/.rive_head
@@ -1 +1 @@ -75823467d0c007983e66df245f1e9c27d707728c +97578005cb9eb1561b13e80755d3cfe632c0752f
diff --git a/include/rive/layout/layout_component_style.hpp b/include/rive/layout/layout_component_style.hpp index 277373f..6933593 100644 --- a/include/rive/layout/layout_component_style.hpp +++ b/include/rive/layout/layout_component_style.hpp
@@ -9,45 +9,45 @@ namespace rive { // ---- Flags 0 -static BitFieldLoc DisplayBits = BitFieldLoc(0, 0); -static BitFieldLoc PositionTypeBits = BitFieldLoc(1, 2); -static BitFieldLoc FlexDirectionBits = BitFieldLoc(3, 4); -static BitFieldLoc DirectionBits = BitFieldLoc(5, 6); -static BitFieldLoc AlignContentBits = BitFieldLoc(7, 9); -static BitFieldLoc AlignItemsBits = BitFieldLoc(10, 12); -static BitFieldLoc AlignSelfBits = BitFieldLoc(13, 15); -static BitFieldLoc JustifyContentBits = BitFieldLoc(16, 18); -static BitFieldLoc FlexWrapBits = BitFieldLoc(19, 20); -static BitFieldLoc OverflowBits = BitFieldLoc(21, 22); -static BitFieldLoc IntrinsicallySizedBits = BitFieldLoc(23, 23); -static BitFieldLoc WidthUnitsBits = BitFieldLoc(24, 25); -static BitFieldLoc HeightUnitsBits = BitFieldLoc(26, 27); +extern BitFieldLoc DisplayBits; +extern BitFieldLoc PositionTypeBits; +extern BitFieldLoc FlexDirectionBits; +extern BitFieldLoc DirectionBits; +extern BitFieldLoc AlignContentBits; +extern BitFieldLoc AlignItemsBits; +extern BitFieldLoc AlignSelfBits; +extern BitFieldLoc JustifyContentBits; +extern BitFieldLoc FlexWrapBits; +extern BitFieldLoc OverflowBits; +extern BitFieldLoc IntrinsicallySizedBits; +extern BitFieldLoc WidthUnitsBits; +extern BitFieldLoc HeightUnitsBits; // ---- Flags 1 -static BitFieldLoc BorderLeftUnitsBits = BitFieldLoc(0, 1); -static BitFieldLoc BorderRightUnitsBits = BitFieldLoc(2, 3); -static BitFieldLoc BorderTopUnitsBits = BitFieldLoc(4, 5); -static BitFieldLoc BorderBottomUnitsBits = BitFieldLoc(6, 7); -static BitFieldLoc MarginLeftUnitsBits = BitFieldLoc(8, 9); -static BitFieldLoc MarginRightUnitsBits = BitFieldLoc(10, 11); -static BitFieldLoc MarginTopUnitsBits = BitFieldLoc(12, 13); -static BitFieldLoc MarginBottomUnitsBits = BitFieldLoc(14, 15); -static BitFieldLoc PaddingLeftUnitsBits = BitFieldLoc(16, 17); -static BitFieldLoc PaddingRightUnitsBits = BitFieldLoc(18, 19); -static BitFieldLoc PaddingTopUnitsBits = BitFieldLoc(20, 21); -static BitFieldLoc PaddingBottomUnitsBits = BitFieldLoc(22, 23); -static BitFieldLoc PositionLeftUnitsBits = BitFieldLoc(24, 25); -static BitFieldLoc PositionRightUnitsBits = BitFieldLoc(26, 27); -static BitFieldLoc PositionTopUnitsBits = BitFieldLoc(28, 29); -static BitFieldLoc PositionBottomUnitsBits = BitFieldLoc(30, 31); +extern BitFieldLoc BorderLeftUnitsBits; +extern BitFieldLoc BorderRightUnitsBits; +extern BitFieldLoc BorderTopUnitsBits; +extern BitFieldLoc BorderBottomUnitsBits; +extern BitFieldLoc MarginLeftUnitsBits; +extern BitFieldLoc MarginRightUnitsBits; +extern BitFieldLoc MarginTopUnitsBits; +extern BitFieldLoc MarginBottomUnitsBits; +extern BitFieldLoc PaddingLeftUnitsBits; +extern BitFieldLoc PaddingRightUnitsBits; +extern BitFieldLoc PaddingTopUnitsBits; +extern BitFieldLoc PaddingBottomUnitsBits; +extern BitFieldLoc PositionLeftUnitsBits; +extern BitFieldLoc PositionRightUnitsBits; +extern BitFieldLoc PositionTopUnitsBits; +extern BitFieldLoc PositionBottomUnitsBits; // ---- Flags 2 -static BitFieldLoc GapHorizontalUnitsBits = BitFieldLoc(0, 1); -static BitFieldLoc GapVerticalUnitsBits = BitFieldLoc(2, 3); -static BitFieldLoc MinWidthUnitsBits = BitFieldLoc(4, 5); -static BitFieldLoc MinHeightUnitsBits = BitFieldLoc(6, 7); -static BitFieldLoc MaxWidthUnitsBits = BitFieldLoc(8, 9); -static BitFieldLoc MaxHeightUnitsBits = BitFieldLoc(10, 11); +extern BitFieldLoc GapHorizontalUnitsBits; +extern BitFieldLoc GapVerticalUnitsBits; +extern BitFieldLoc MinWidthUnitsBits; +extern BitFieldLoc MinHeightUnitsBits; +extern BitFieldLoc MaxWidthUnitsBits; +extern BitFieldLoc MaxHeightUnitsBits; class LayoutComponentStyle : public LayoutComponentStyleBase {
diff --git a/src/layout/layout_component_style.cpp b/src/layout/layout_component_style.cpp index 882d752..c1693f6 100644 --- a/src/layout/layout_component_style.cpp +++ b/src/layout/layout_component_style.cpp
@@ -4,6 +4,47 @@ using namespace rive; +// ---- Flags 0 +BitFieldLoc rive::DisplayBits = BitFieldLoc(0, 0); +BitFieldLoc rive::PositionTypeBits = BitFieldLoc(1, 2); +BitFieldLoc rive::FlexDirectionBits = BitFieldLoc(3, 4); +BitFieldLoc rive::DirectionBits = BitFieldLoc(5, 6); +BitFieldLoc rive::AlignContentBits = BitFieldLoc(7, 9); +BitFieldLoc rive::AlignItemsBits = BitFieldLoc(10, 12); +BitFieldLoc rive::AlignSelfBits = BitFieldLoc(13, 15); +BitFieldLoc rive::JustifyContentBits = BitFieldLoc(16, 18); +BitFieldLoc rive::FlexWrapBits = BitFieldLoc(19, 20); +BitFieldLoc rive::OverflowBits = BitFieldLoc(21, 22); +BitFieldLoc rive::IntrinsicallySizedBits = BitFieldLoc(23, 23); +BitFieldLoc rive::WidthUnitsBits = BitFieldLoc(24, 25); +BitFieldLoc rive::HeightUnitsBits = BitFieldLoc(26, 27); + +// ---- Flags 1 +BitFieldLoc rive::BorderLeftUnitsBits = BitFieldLoc(0, 1); +BitFieldLoc rive::BorderRightUnitsBits = BitFieldLoc(2, 3); +BitFieldLoc rive::BorderTopUnitsBits = BitFieldLoc(4, 5); +BitFieldLoc rive::BorderBottomUnitsBits = BitFieldLoc(6, 7); +BitFieldLoc rive::MarginLeftUnitsBits = BitFieldLoc(8, 9); +BitFieldLoc rive::MarginRightUnitsBits = BitFieldLoc(10, 11); +BitFieldLoc rive::MarginTopUnitsBits = BitFieldLoc(12, 13); +BitFieldLoc rive::MarginBottomUnitsBits = BitFieldLoc(14, 15); +BitFieldLoc rive::PaddingLeftUnitsBits = BitFieldLoc(16, 17); +BitFieldLoc rive::PaddingRightUnitsBits = BitFieldLoc(18, 19); +BitFieldLoc rive::PaddingTopUnitsBits = BitFieldLoc(20, 21); +BitFieldLoc rive::PaddingBottomUnitsBits = BitFieldLoc(22, 23); +BitFieldLoc rive::PositionLeftUnitsBits = BitFieldLoc(24, 25); +BitFieldLoc rive::PositionRightUnitsBits = BitFieldLoc(26, 27); +BitFieldLoc rive::PositionTopUnitsBits = BitFieldLoc(28, 29); +BitFieldLoc rive::PositionBottomUnitsBits = BitFieldLoc(30, 31); + +// ---- Flags 2 +BitFieldLoc rive::GapHorizontalUnitsBits = BitFieldLoc(0, 1); +BitFieldLoc rive::GapVerticalUnitsBits = BitFieldLoc(2, 3); +BitFieldLoc rive::MinWidthUnitsBits = BitFieldLoc(4, 5); +BitFieldLoc rive::MinHeightUnitsBits = BitFieldLoc(6, 7); +BitFieldLoc rive::MaxWidthUnitsBits = BitFieldLoc(8, 9); +BitFieldLoc rive::MaxHeightUnitsBits = BitFieldLoc(10, 11); + #ifdef WITH_RIVE_LAYOUT YGDisplay LayoutComponentStyle::display() { return YGDisplay(DisplayBits.read(layoutFlags0())); }