コード例 #1
0
Float fabricFloatFromYogaOptionalFloat(YGFloatOptional value) {
  if (value.isUndefined()) {
    return kFloatUndefined;
  }

  return fabricFloatFromYogaFloat(value.getValue());
}
コード例 #2
0
std::string stringFromYogaStyleOptionalFloat(YGFloatOptional value) {
  if (value.isUndefined()) {
    return "undefined";
  }

  return folly::to<std::string>(fabricFloatFromYogaFloat(value.getValue()));
}
コード例 #3
0
ファイル: Utils.cpp プロジェクト: 4Catalyzer/react-native
YGFloatOptional YGFloatOptionalMax(
    const YGFloatOptional& op1,
    const YGFloatOptional& op2) {
  if (!op1.isUndefined() && !op2.isUndefined()) {
    return op1.getValue() > op2.getValue() ? op1 : op2;
  }
  return op1.isUndefined() ? op2 : op1;
}
コード例 #4
0
ファイル: YGNode.cpp プロジェクト: SudoPlz/react-native
// If both left and right are defined, then use left. Otherwise return +left or
// -right depending on which is defined.
YGFloatOptional YGNode::relativePosition(
    const YGFlexDirection axis,
    const float axisSize) const {
  if (isLeadingPositionDefined(axis)) {
    return getLeadingPosition(axis, axisSize);
  }

  YGFloatOptional trailingPosition = getTrailingPosition(axis, axisSize);
  if (!trailingPosition.isUndefined()) {
    trailingPosition = YGFloatOptional{-1 * trailingPosition.unwrap()};
  }
  return trailingPosition;
}
コード例 #5
0
ファイル: YGNode.cpp プロジェクト: lazaronixon/react-native
// If both left and right are defined, then use left. Otherwise return
// +left or -right depending on which is defined.
YGFloatOptional YGNode::relativePosition(
    const YGFlexDirection& axis,
    const float& axisSize) const {
  if (isLeadingPositionDefined(axis)) {
    return getLeadingPosition(axis, axisSize);
  }

  YGFloatOptional trailingPosition = getTrailingPosition(axis, axisSize);
  if (!trailingPosition.isUndefined()) {
    trailingPosition.setValue(-1 * trailingPosition.getValue());
  }
  return trailingPosition;
}
コード例 #6
0
ファイル: YGNode.cpp プロジェクト: SudoPlz/react-native
YGFloatOptional YGNode::getLeadingPadding(
    const YGFlexDirection axis,
    const float widthSize) const {
  const YGFloatOptional paddingEdgeStart =
      YGResolveValue(style_.padding[YGEdgeStart], widthSize);
  if (YGFlexDirectionIsRow(axis) &&
      !style_.padding[YGEdgeStart].isUndefined() &&
      !paddingEdgeStart.isUndefined() && paddingEdgeStart.unwrap() >= 0.0f) {
    return paddingEdgeStart;
  }

  YGFloatOptional resolvedValue = YGResolveValue(
      YGComputedEdgeValue(
          style_.padding, leading[axis], CompactValue::ofZero()),
      widthSize);
  return YGFloatOptionalMax(resolvedValue, YGFloatOptional(0.0f));
}
コード例 #7
0
ファイル: Utils.cpp プロジェクト: 4Catalyzer/react-native
float YGUnwrapFloatOptional(const YGFloatOptional& op) {
  return op.isUndefined() ? YGUndefined : op.getValue();
}