// 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); }