12345678910111213141516171819202122232425262728293031323334353637383940 |
- /**
- * 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 "YGLayout.h"
- #include "Utils.h"
- using namespace facebook;
- bool YGLayout::operator==(YGLayout layout) const {
- bool isEqual = YGFloatArrayEqual(position, layout.position) &&
- YGFloatArrayEqual(dimensions, layout.dimensions) &&
- YGFloatArrayEqual(margin, layout.margin) &&
- YGFloatArrayEqual(border, layout.border) &&
- YGFloatArrayEqual(padding, layout.padding) &&
- direction == layout.direction && hadOverflow == layout.hadOverflow &&
- lastOwnerDirection == layout.lastOwnerDirection &&
- nextCachedMeasurementsIndex == layout.nextCachedMeasurementsIndex &&
- cachedLayout == layout.cachedLayout &&
- computedFlexBasis == layout.computedFlexBasis;
- for (uint32_t i = 0; i < YG_MAX_CACHED_RESULT_COUNT && isEqual; ++i) {
- isEqual = isEqual && cachedMeasurements[i] == layout.cachedMeasurements[i];
- }
- if (!yoga::isUndefined(measuredDimensions[0]) ||
- !yoga::isUndefined(layout.measuredDimensions[0])) {
- isEqual =
- isEqual && (measuredDimensions[0] == layout.measuredDimensions[0]);
- }
- if (!yoga::isUndefined(measuredDimensions[1]) ||
- !yoga::isUndefined(layout.measuredDimensions[1])) {
- isEqual =
- isEqual && (measuredDimensions[1] == layout.measuredDimensions[1]);
- }
- return isEqual;
- }
|