123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * 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"
- using namespace facebook;
- YGFlexDirection YGFlexDirectionCross(
- const YGFlexDirection flexDirection,
- const YGDirection direction) {
- return YGFlexDirectionIsColumn(flexDirection)
- ? YGResolveFlexDirection(YGFlexDirectionRow, direction)
- : YGFlexDirectionColumn;
- }
- float YGFloatMax(const float a, const float b) {
- if (!yoga::isUndefined(a) && !yoga::isUndefined(b)) {
- return fmaxf(a, b);
- }
- return yoga::isUndefined(a) ? b : a;
- }
- float YGFloatMin(const float a, const float b) {
- if (!yoga::isUndefined(a) && !yoga::isUndefined(b)) {
- return fminf(a, b);
- }
- return yoga::isUndefined(a) ? b : a;
- }
- bool YGValueEqual(const YGValue& a, const YGValue& b) {
- if (a.unit != b.unit) {
- return false;
- }
- if (a.unit == YGUnitUndefined ||
- (yoga::isUndefined(a.value) && yoga::isUndefined(b.value))) {
- return true;
- }
- return fabs(a.value - b.value) < 0.0001f;
- }
- bool YGFloatsEqual(const float a, const float b) {
- if (!yoga::isUndefined(a) && !yoga::isUndefined(b)) {
- return fabs(a - b) < 0.0001f;
- }
- return yoga::isUndefined(a) && yoga::isUndefined(b);
- }
- float YGFloatSanitize(const float val) {
- return yoga::isUndefined(val) ? 0 : val;
- }
- YGFloatOptional YGFloatOptionalMax(YGFloatOptional op1, YGFloatOptional op2) {
- if (op1 >= op2) {
- return op1;
- }
- if (op2 > op1) {
- return op2;
- }
- return op1.isUndefined() ? op2 : op1;
- }
|