Add YGGutter Enum
Summary: This adds the YGGutter enum, used to choose between row/column gap variants (row-gap, column-gap, gap). This used later in changes from https://github.com/facebook/yoga/pull/1116, in the APIs which deal with setting gap on style on yoga node. Note the original PR called this `YGGap`, but this ending up leading to a couple public method signatures that could appear ambiguous: 1. `SetGap(YGGap gap, float gapLength)`: Enums like `YGAlign` are the vaues for an `align` prop. `YGGap` controls the variant of the gap (like `YGEdge` does for left/right/top/bottom variants). So the enum reads as if it is the `gapValue`, and it looks like we have two of the same parameter. 2. `SetGap(YGGap gapDirection, float gap)`: This is misleading, because the direction gaps flow is the cross-axis of flex-direction. 3. `GetGap(YGGap gap)`: `gap` is the variant, but looks like an out param. The [CSS Box Alignment](https://www.w3.org/TR/css-align-3/#column-row-gap) spec refers to these gaps as "Gutters", which removes the ambiguity. Changelog: [General][Added] - Add YGGutter Enum Reviewed By: yungsters Differential Revision: D39922412 fbshipit-source-id: 4b0baf800fecb3d03560a4267c7fb4c4330fd39e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
5a18ccdbe2
commit
206bf414ec
18
csharp/Facebook.Yoga/YogaGutter.cs
Normal file
18
csharp/Facebook.Yoga/YogaGutter.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// @generated by enums.py
|
||||||
|
|
||||||
|
namespace Facebook.Yoga
|
||||||
|
{
|
||||||
|
public enum YogaGutter
|
||||||
|
{
|
||||||
|
Column,
|
||||||
|
Row,
|
||||||
|
All,
|
||||||
|
}
|
||||||
|
}
|
1
enums.py
1
enums.py
@@ -54,6 +54,7 @@ ENUMS = {
|
|||||||
"WebFlexBasis"
|
"WebFlexBasis"
|
||||||
],
|
],
|
||||||
"PrintOptions": [("Layout", 1), ("Style", 2), ("Children", 4)],
|
"PrintOptions": [("Layout", 1), ("Style", 2), ("Children", 4)],
|
||||||
|
"Gutter": ["Column", "Row", "All"],
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generated Java enums used to emit @DoNotStrip, but D17519844 removed them
|
# Generated Java enums used to emit @DoNotStrip, but D17519844 removed them
|
||||||
|
35
java/com/facebook/yoga/YogaGutter.java
Normal file
35
java/com/facebook/yoga/YogaGutter.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// @generated by enums.py
|
||||||
|
|
||||||
|
package com.facebook.yoga;
|
||||||
|
|
||||||
|
public enum YogaGutter {
|
||||||
|
COLUMN(0),
|
||||||
|
ROW(1),
|
||||||
|
ALL(2);
|
||||||
|
|
||||||
|
private final int mIntValue;
|
||||||
|
|
||||||
|
YogaGutter(int intValue) {
|
||||||
|
mIntValue = intValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int intValue() {
|
||||||
|
return mIntValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static YogaGutter fromInt(int value) {
|
||||||
|
switch (value) {
|
||||||
|
case 0: return COLUMN;
|
||||||
|
case 1: return ROW;
|
||||||
|
case 2: return ALL;
|
||||||
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -53,6 +53,11 @@ const CONSTANTS = {
|
|||||||
FLEX_DIRECTION_ROW: 2,
|
FLEX_DIRECTION_ROW: 2,
|
||||||
FLEX_DIRECTION_ROW_REVERSE: 3,
|
FLEX_DIRECTION_ROW_REVERSE: 3,
|
||||||
|
|
||||||
|
GUTTER_COUNT: 3,
|
||||||
|
GUTTER_COLUMN: 0,
|
||||||
|
GUTTER_ROW: 1,
|
||||||
|
GUTTER_ALL: 2,
|
||||||
|
|
||||||
JUSTIFY_COUNT: 6,
|
JUSTIFY_COUNT: 6,
|
||||||
JUSTIFY_FLEX_START: 0,
|
JUSTIFY_FLEX_START: 0,
|
||||||
JUSTIFY_CENTER: 1,
|
JUSTIFY_CENTER: 1,
|
||||||
@@ -147,6 +152,11 @@ export type Yoga$FlexDirection =
|
|||||||
| typeof CONSTANTS.FLEX_DIRECTION_ROW
|
| typeof CONSTANTS.FLEX_DIRECTION_ROW
|
||||||
| typeof CONSTANTS.FLEX_DIRECTION_ROW_REVERSE;
|
| typeof CONSTANTS.FLEX_DIRECTION_ROW_REVERSE;
|
||||||
|
|
||||||
|
export type Yoga$Gutter =
|
||||||
|
| typeof CONSTANTS.GUTTER_COLUMN
|
||||||
|
| typeof CONSTANTS.GUTTER_ROW
|
||||||
|
| typeof CONSTANTS.GUTTER_ALL;
|
||||||
|
|
||||||
export type Yoga$Justify =
|
export type Yoga$Justify =
|
||||||
| typeof CONSTANTS.JUSTIFY_FLEX_START
|
| typeof CONSTANTS.JUSTIFY_FLEX_START
|
||||||
| typeof CONSTANTS.JUSTIFY_CENTER
|
| typeof CONSTANTS.JUSTIFY_CENTER
|
||||||
|
@@ -109,6 +109,18 @@ const char* YGFlexDirectionToString(const YGFlexDirection value) {
|
|||||||
return "unknown";
|
return "unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* YGGutterToString(const YGGutter value) {
|
||||||
|
switch (value) {
|
||||||
|
case YGGutterColumn:
|
||||||
|
return "column";
|
||||||
|
case YGGutterRow:
|
||||||
|
return "row";
|
||||||
|
case YGGutterAll:
|
||||||
|
return "all";
|
||||||
|
}
|
||||||
|
return "unknown";
|
||||||
|
}
|
||||||
|
|
||||||
const char* YGJustifyToString(const YGJustify value) {
|
const char* YGJustifyToString(const YGJustify value) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case YGJustifyFlexStart:
|
case YGJustifyFlexStart:
|
||||||
|
@@ -64,6 +64,12 @@ YG_ENUM_SEQ_DECL(
|
|||||||
YGFlexDirectionRow,
|
YGFlexDirectionRow,
|
||||||
YGFlexDirectionRowReverse)
|
YGFlexDirectionRowReverse)
|
||||||
|
|
||||||
|
YG_ENUM_SEQ_DECL(
|
||||||
|
YGGutter,
|
||||||
|
YGGutterColumn,
|
||||||
|
YGGutterRow,
|
||||||
|
YGGutterAll)
|
||||||
|
|
||||||
YG_ENUM_SEQ_DECL(
|
YG_ENUM_SEQ_DECL(
|
||||||
YGJustify,
|
YGJustify,
|
||||||
YGJustifyFlexStart,
|
YGJustifyFlexStart,
|
||||||
|
Reference in New Issue
Block a user