diff --git a/enums.py b/enums.py index c51ee41a..07f02249 100755 --- a/enums.py +++ b/enums.py @@ -67,6 +67,8 @@ ENUMS = { # Allows main-axis flex basis to be stretched without flexGrow being # set (previously referred to as "UseLegacyStretchBehaviour") ("StretchFlexBasis", 1 << 0), + # Solely uses the flex-direction to determine starting and ending edges + ("StartingEndingEdgeFromFlexDirection", 1 << 1), # Enable all incorrect behavior (preserve compatibility) ("All", 0x7FFFFFFF), # Enable all errata except for "StretchFlexBasis" (Defaults behavior diff --git a/java/com/facebook/yoga/YogaErrata.java b/java/com/facebook/yoga/YogaErrata.java index 6ae5ac0e..bafb6733 100644 --- a/java/com/facebook/yoga/YogaErrata.java +++ b/java/com/facebook/yoga/YogaErrata.java @@ -12,6 +12,7 @@ package com.facebook.yoga; public enum YogaErrata { NONE(0), STRETCH_FLEX_BASIS(1), + STARTING_ENDING_EDGE_FROM_FLEX_DIRECTION(2), ALL(2147483647), CLASSIC(2147483646); @@ -29,6 +30,7 @@ public enum YogaErrata { switch (value) { case 0: return NONE; case 1: return STRETCH_FLEX_BASIS; + case 2: return STARTING_ENDING_EDGE_FROM_FLEX_DIRECTION; case 2147483647: return ALL; case 2147483646: return CLASSIC; default: throw new IllegalArgumentException("Unknown enum value: " + value); diff --git a/javascript/src/generated/YGEnums.ts b/javascript/src/generated/YGEnums.ts index 6252336d..a78b30a3 100644 --- a/javascript/src/generated/YGEnums.ts +++ b/javascript/src/generated/YGEnums.ts @@ -49,6 +49,7 @@ export enum Edge { export enum Errata { None = 0, StretchFlexBasis = 1, + StartingEndingEdgeFromFlexDirection = 2, All = 2147483647, Classic = 2147483646, } @@ -158,6 +159,7 @@ const constants = { EDGE_ALL: Edge.All, ERRATA_NONE: Errata.None, ERRATA_STRETCH_FLEX_BASIS: Errata.StretchFlexBasis, + ERRATA_STARTING_ENDING_EDGE_FROM_FLEX_DIRECTION: Errata.StartingEndingEdgeFromFlexDirection, ERRATA_ALL: Errata.All, ERRATA_CLASSIC: Errata.Classic, EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS: ExperimentalFeature.WebFlexBasis, diff --git a/yoga/YGEnums.cpp b/yoga/YGEnums.cpp index a7b1990e..b5916ca1 100644 --- a/yoga/YGEnums.cpp +++ b/yoga/YGEnums.cpp @@ -93,6 +93,8 @@ const char* YGErrataToString(const YGErrata value) { return "none"; case YGErrataStretchFlexBasis: return "stretch-flex-basis"; + case YGErrataStartingEndingEdgeFromFlexDirection: + return "starting-ending-edge-from-flex-direction"; case YGErrataAll: return "all"; case YGErrataClassic: diff --git a/yoga/YGEnums.h b/yoga/YGEnums.h index 53d24531..55bbe9fc 100644 --- a/yoga/YGEnums.h +++ b/yoga/YGEnums.h @@ -55,6 +55,7 @@ YG_ENUM_DECL( YGErrata, YGErrataNone = 0, YGErrataStretchFlexBasis = 1, + YGErrataStartingEndingEdgeFromFlexDirection = 2, YGErrataAll = 2147483647, YGErrataClassic = 2147483646) YG_DEFINE_ENUM_FLAG_OPERATORS(YGErrata) diff --git a/yoga/enums/Errata.h b/yoga/enums/Errata.h index b0cf6210..257e7b24 100644 --- a/yoga/enums/Errata.h +++ b/yoga/enums/Errata.h @@ -18,6 +18,7 @@ namespace facebook::yoga { enum class Errata : uint32_t { None = YGErrataNone, StretchFlexBasis = YGErrataStretchFlexBasis, + StartingEndingEdgeFromFlexDirection = YGErrataStartingEndingEdgeFromFlexDirection, All = YGErrataAll, Classic = YGErrataClassic, }; @@ -26,12 +27,12 @@ YG_DEFINE_ENUM_FLAG_OPERATORS(Errata) template <> constexpr inline int32_t ordinalCount() { - return 4; + return 5; } template <> constexpr inline int32_t bitCount() { - return 2; + return 3; } constexpr inline Errata scopedEnum(YGErrata unscoped) {