1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /**
- * Copyright (c) 2014-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- #include "Utils.h"
- YGFlexDirection YGFlexDirectionCross(
- const YGFlexDirection flexDirection,
- const YGDirection direction) {
- return YGFlexDirectionIsColumn(flexDirection)
- ? YGResolveFlexDirection(YGFlexDirectionRow, direction)
- : YGFlexDirectionColumn;
- }
- float YGFloatMax(const float a, const float b) {
- if (!YGFloatIsUndefined(a) && !YGFloatIsUndefined(b)) {
- return fmaxf(a, b);
- }
- return YGFloatIsUndefined(a) ? b : a;
- }
- float YGFloatMin(const float a, const float b) {
- if (!YGFloatIsUndefined(a) && !YGFloatIsUndefined(b)) {
- return fminf(a, b);
- }
- return YGFloatIsUndefined(a) ? b : a;
- }
- bool YGValueEqual(const YGValue a, const YGValue b) {
- if (a.unit != b.unit) {
- return false;
- }
- if (a.unit == YGUnitUndefined ||
- (YGFloatIsUndefined(a.value) && YGFloatIsUndefined(b.value))) {
- return true;
- }
- return fabs(a.value - b.value) < 0.0001f;
- }
- bool YGFloatsEqual(const float a, const float b) {
- if (!YGFloatIsUndefined(a) && !YGFloatIsUndefined(b)) {
- return fabs(a - b) < 0.0001f;
- }
- return YGFloatIsUndefined(a) && YGFloatIsUndefined(b);
- }
- float YGFloatSanitize(const float& val) {
- return YGFloatIsUndefined(val) ? 0 : val;
- }
- float YGUnwrapFloatOptional(const YGFloatOptional& op) {
- return op.isUndefined() ? YGUndefined : op.getValue();
- }
- 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;
- }
|