示例#1
0
        // Yoga specific properties, not compatible with flexbox specification
        public static bool operator ==(YogaStyle self, YogaStyle style)
        {
            if (object.ReferenceEquals(self, style))
            {
                return(true);
            }

            if (object.ReferenceEquals(self, null) || object.ReferenceEquals(style, null))
            {
                return(false);
            }

            var areNonFloatValuesEqual =
                self.Direction == style.Direction &&
                self.FlexDirection == style.FlexDirection &&
                self.JustifyContent == style.JustifyContent &&
                self.AlignContent == style.AlignContent &&
                self.AlignItems == style.AlignItems &&
                self.AlignSelf == style.AlignSelf &&
                self.PositionType == style.PositionType &&
                self.FlexWrap == style.FlexWrap &&
                self.Overflow == style.Overflow &&
                self.Display == style.Display &&
                self.FlexBasis.Equals(style.FlexBasis) &&
                YogaArray.Equal(self.Margin, style.Margin) &&
                YogaArray.Equal(self.Position, style.Position) &&
                YogaArray.Equal(self.Padding, style.Padding) &&
                YogaArray.Equal(self.Border, style.Border) &&
                YogaArray.Equal(self.Dimensions, style.Dimensions) &&
                YogaArray.Equal(self.MinDimensions, style.MinDimensions) &&
                YogaArray.Equal(self.MaxDimensions, style.MaxDimensions);

            areNonFloatValuesEqual = areNonFloatValuesEqual && self.Flex == style.Flex;

            areNonFloatValuesEqual = areNonFloatValuesEqual && self.FlexGrow == style.FlexGrow;
            areNonFloatValuesEqual = areNonFloatValuesEqual && self.FlexShrink == style.FlexShrink;
            areNonFloatValuesEqual = areNonFloatValuesEqual && self.AspectRatio == style.AspectRatio;

            return(areNonFloatValuesEqual);
        }