12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /**
- * 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 "YGStyle.h"
- #include "Utils.h"
- // Yoga specific properties, not compatible with flexbox specification
- bool operator==(const YGStyle& lhs, const YGStyle& rhs) {
- bool areNonFloatValuesEqual = lhs.direction == rhs.direction &&
- lhs.flexDirection == rhs.flexDirection &&
- lhs.justifyContent == rhs.justifyContent &&
- lhs.alignContent == rhs.alignContent &&
- lhs.alignItems == rhs.alignItems && lhs.alignSelf == rhs.alignSelf &&
- lhs.positionType == rhs.positionType && lhs.flexWrap == rhs.flexWrap &&
- lhs.overflow == rhs.overflow && lhs.display == rhs.display &&
- YGValueEqual(lhs.flexBasis, rhs.flexBasis) && lhs.margin == rhs.margin &&
- lhs.position == rhs.position && lhs.padding == rhs.padding &&
- lhs.border == rhs.border && lhs.dimensions == rhs.dimensions &&
- lhs.minDimensions == rhs.minDimensions &&
- lhs.maxDimensions == rhs.maxDimensions;
- areNonFloatValuesEqual = areNonFloatValuesEqual &&
- lhs.flex.isUndefined() == rhs.flex.isUndefined();
- if (areNonFloatValuesEqual && !lhs.flex.isUndefined() &&
- !rhs.flex.isUndefined()) {
- areNonFloatValuesEqual = areNonFloatValuesEqual && lhs.flex == rhs.flex;
- }
- areNonFloatValuesEqual = areNonFloatValuesEqual &&
- lhs.flexGrow.isUndefined() == rhs.flexGrow.isUndefined();
- if (areNonFloatValuesEqual && !lhs.flexGrow.isUndefined()) {
- areNonFloatValuesEqual =
- areNonFloatValuesEqual && lhs.flexGrow == rhs.flexGrow;
- }
- areNonFloatValuesEqual = areNonFloatValuesEqual &&
- lhs.flexShrink.isUndefined() == rhs.flexShrink.isUndefined();
- if (areNonFloatValuesEqual && !rhs.flexShrink.isUndefined()) {
- areNonFloatValuesEqual =
- areNonFloatValuesEqual && lhs.flexShrink == rhs.flexShrink;
- }
- if (!(lhs.aspectRatio.isUndefined() && rhs.aspectRatio.isUndefined())) {
- areNonFloatValuesEqual =
- areNonFloatValuesEqual && lhs.aspectRatio == rhs.aspectRatio;
- }
- return areNonFloatValuesEqual;
- }
|