create two layout pass reason flexLayout and flexMeasure instead of flex
Summary: We had flex as a reason for both layout and measure. Now creating separating reason flexLayout and flexMeasure in this diff. Also changed ordering of items in Enum to group layout and measure reasons Reviewed By: davidaurelio Differential Revision: D16562350 fbshipit-source-id: 75501f9d4dde0974009193b3991a8acc97b02ad0
This commit is contained in:
committed by
Facebook Github Bot
parent
5a25805cb5
commit
825da1e868
@@ -8,12 +8,13 @@ package com.facebook.yoga;
|
|||||||
|
|
||||||
public enum LayoutPassReason {
|
public enum LayoutPassReason {
|
||||||
INITIAL(0),
|
INITIAL(0),
|
||||||
MEASURE(1),
|
ABS_LAYOUT(1),
|
||||||
ABS_MEASURE(2),
|
STRETCH(2),
|
||||||
FLEX(3),
|
MULTILINE_STRETCH(3),
|
||||||
ABS_LAYOUT(4),
|
FLEX_LAYOUT(4),
|
||||||
STRETCH(5),
|
MEASURE(5),
|
||||||
MULTILINE_STRETCH(6);
|
ABS_MEASURE(6),
|
||||||
|
FLEX_MEASURE(7);
|
||||||
|
|
||||||
private final int mIntValue;
|
private final int mIntValue;
|
||||||
|
|
||||||
@@ -28,12 +29,13 @@ public enum LayoutPassReason {
|
|||||||
public static LayoutPassReason fromInt(int value) {
|
public static LayoutPassReason fromInt(int value) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case 0: return INITIAL;
|
case 0: return INITIAL;
|
||||||
case 1: return MEASURE;
|
case 1: return ABS_LAYOUT;
|
||||||
case 2: return ABS_MEASURE;
|
case 2: return STRETCH;
|
||||||
case 3: return FLEX;
|
case 3: return MULTILINE_STRETCH;
|
||||||
case 4: return ABS_LAYOUT;
|
case 4: return FLEX_LAYOUT;
|
||||||
case 5: return STRETCH;
|
case 5: return MEASURE;
|
||||||
case 6: return MULTILINE_STRETCH;
|
case 6: return ABS_MEASURE;
|
||||||
|
case 7: return FLEX_MEASURE;
|
||||||
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
default: throw new IllegalArgumentException("Unknown enum value: " + value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -2185,6 +2185,7 @@ static float YGDistributeFreeSpaceSecondPass(
|
|||||||
const YGMeasureMode childHeightMeasureMode =
|
const YGMeasureMode childHeightMeasureMode =
|
||||||
!isMainAxisRow ? childMainMeasureMode : childCrossMeasureMode;
|
!isMainAxisRow ? childMainMeasureMode : childCrossMeasureMode;
|
||||||
|
|
||||||
|
const bool isLayoutPass = performLayout && !requiresStretchLayout;
|
||||||
// Recursively call the layout algorithm for this child with the updated
|
// Recursively call the layout algorithm for this child with the updated
|
||||||
// main size.
|
// main size.
|
||||||
YGLayoutNodeInternal(
|
YGLayoutNodeInternal(
|
||||||
@@ -2196,8 +2197,9 @@ static float YGDistributeFreeSpaceSecondPass(
|
|||||||
childHeightMeasureMode,
|
childHeightMeasureMode,
|
||||||
availableInnerWidth,
|
availableInnerWidth,
|
||||||
availableInnerHeight,
|
availableInnerHeight,
|
||||||
performLayout && !requiresStretchLayout,
|
isLayoutPass,
|
||||||
LayoutPassReason::kFlex,
|
isLayoutPass ? LayoutPassReason::kFlexLayout
|
||||||
|
: LayoutPassReason::kFlexMeasure,
|
||||||
config,
|
config,
|
||||||
layoutMarkerData,
|
layoutMarkerData,
|
||||||
layoutContext,
|
layoutContext,
|
||||||
|
@@ -16,18 +16,20 @@ const char* LayoutPassReasonToString(const LayoutPassReason value) {
|
|||||||
switch (value) {
|
switch (value) {
|
||||||
case LayoutPassReason::kInitial:
|
case LayoutPassReason::kInitial:
|
||||||
return "initial";
|
return "initial";
|
||||||
case LayoutPassReason::kMeasureChild:
|
|
||||||
return "measure";
|
|
||||||
case LayoutPassReason::kAbsMeasureChild:
|
|
||||||
return "abs_measure";
|
|
||||||
case LayoutPassReason::kFlex:
|
|
||||||
return "flex";
|
|
||||||
case LayoutPassReason::kAbsLayout:
|
case LayoutPassReason::kAbsLayout:
|
||||||
return "abs_layout";
|
return "abs_layout";
|
||||||
case LayoutPassReason::kStretch:
|
case LayoutPassReason::kStretch:
|
||||||
return "stretch";
|
return "stretch";
|
||||||
case LayoutPassReason::kMultilineStretch:
|
case LayoutPassReason::kMultilineStretch:
|
||||||
return "multiline_stretch";
|
return "multiline_stretch";
|
||||||
|
case LayoutPassReason::kFlexLayout:
|
||||||
|
return "flex_layout";
|
||||||
|
case LayoutPassReason::kMeasureChild:
|
||||||
|
return "measure";
|
||||||
|
case LayoutPassReason::kAbsMeasureChild:
|
||||||
|
return "abs_measure";
|
||||||
|
case LayoutPassReason::kFlexMeasure:
|
||||||
|
return "flex_measure";
|
||||||
default:
|
default:
|
||||||
return "unknown";
|
return "unknown";
|
||||||
}
|
}
|
||||||
|
@@ -34,12 +34,13 @@ struct LayoutData {
|
|||||||
|
|
||||||
enum struct LayoutPassReason : int {
|
enum struct LayoutPassReason : int {
|
||||||
kInitial = 0,
|
kInitial = 0,
|
||||||
kMeasureChild = 1,
|
kAbsLayout = 1,
|
||||||
kAbsMeasureChild = 2,
|
kStretch = 2,
|
||||||
kFlex = 3,
|
kMultilineStretch = 3,
|
||||||
kAbsLayout = 4,
|
kFlexLayout = 4,
|
||||||
kStretch = 5,
|
kMeasureChild = 5,
|
||||||
kMultilineStretch = 6
|
kAbsMeasureChild = 6,
|
||||||
|
kFlexMeasure = 7
|
||||||
};
|
};
|
||||||
|
|
||||||
const char* LayoutPassReasonToString(const LayoutPassReason value);
|
const char* LayoutPassReasonToString(const LayoutPassReason value);
|
||||||
|
Reference in New Issue
Block a user