// Token: 0x06002E13 RID: 11795 RVA: 0x000D01A8 File Offset: 0x000CE3A8 protected int _SpatialToAbsoluteComparison(FixedSOMSemanticBox.SpatialComparison comparison) { int result = 0; switch (comparison) { case FixedSOMSemanticBox.SpatialComparison.Before: case FixedSOMSemanticBox.SpatialComparison.OverlapBefore: result = -1; break; case FixedSOMSemanticBox.SpatialComparison.Equal: result = 0; break; case FixedSOMSemanticBox.SpatialComparison.OverlapAfter: case FixedSOMSemanticBox.SpatialComparison.After: result = 1; break; } return(result); }
// Token: 0x06002E14 RID: 11796 RVA: 0x000D01E0 File Offset: 0x000CE3E0 protected FixedSOMSemanticBox.SpatialComparison _InvertSpatialComparison(FixedSOMSemanticBox.SpatialComparison comparison) { FixedSOMSemanticBox.SpatialComparison result = comparison; switch (comparison) { case FixedSOMSemanticBox.SpatialComparison.Before: result = FixedSOMSemanticBox.SpatialComparison.After; break; case FixedSOMSemanticBox.SpatialComparison.OverlapBefore: result = FixedSOMSemanticBox.SpatialComparison.OverlapAfter; break; case FixedSOMSemanticBox.SpatialComparison.OverlapAfter: result = FixedSOMSemanticBox.SpatialComparison.OverlapBefore; break; case FixedSOMSemanticBox.SpatialComparison.After: result = FixedSOMSemanticBox.SpatialComparison.Before; break; } return(result); }
// Token: 0x06002E16 RID: 11798 RVA: 0x000D0230 File Offset: 0x000CE430 int IComparable.CompareTo(object comparedObj) { int num = int.MinValue; FixedSOMPageElement fixedSOMPageElement = comparedObj as FixedSOMPageElement; FixedSOMPageElement fixedSOMPageElement2 = this as FixedSOMPageElement; if (fixedSOMPageElement == null) { throw new ArgumentException(SR.Get("UnexpectedParameterType", new object[] { comparedObj.GetType(), typeof(FixedSOMContainer) }), "comparedObj"); } FixedSOMSemanticBox.SpatialComparison comparison = base._CompareHorizontal(fixedSOMPageElement, false); FixedSOMSemanticBox.SpatialComparison spatialComparison = base._CompareVertical(fixedSOMPageElement); switch (comparison) { case FixedSOMSemanticBox.SpatialComparison.Before: if (spatialComparison != FixedSOMSemanticBox.SpatialComparison.After) { num = -1; } break; case FixedSOMSemanticBox.SpatialComparison.OverlapBefore: if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.Before) { num = -1; } else if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.After) { num = 1; } break; case FixedSOMSemanticBox.SpatialComparison.Equal: switch (spatialComparison) { case FixedSOMSemanticBox.SpatialComparison.Before: case FixedSOMSemanticBox.SpatialComparison.OverlapBefore: num = -1; break; case FixedSOMSemanticBox.SpatialComparison.Equal: num = 0; break; case FixedSOMSemanticBox.SpatialComparison.OverlapAfter: case FixedSOMSemanticBox.SpatialComparison.After: num = 1; break; } break; case FixedSOMSemanticBox.SpatialComparison.OverlapAfter: if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.After) { num = 1; } else if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.Before) { num = -1; } break; case FixedSOMSemanticBox.SpatialComparison.After: if (spatialComparison != FixedSOMSemanticBox.SpatialComparison.Before) { num = 1; } break; } if (num == -2147483648) { if (fixedSOMPageElement2.FixedNodes.Count == 0 || fixedSOMPageElement.FixedNodes.Count == 0) { num = 0; } else { FixedNode item = fixedSOMPageElement2.FixedNodes[0]; FixedNode item2 = fixedSOMPageElement2.FixedNodes[fixedSOMPageElement2.FixedNodes.Count - 1]; FixedNode item3 = fixedSOMPageElement.FixedNodes[0]; FixedNode item4 = fixedSOMPageElement.FixedNodes[fixedSOMPageElement.FixedNodes.Count - 1]; if (fixedSOMPageElement2.FixedSOMPage.MarkupOrder.IndexOf(item3) - fixedSOMPageElement2.FixedSOMPage.MarkupOrder.IndexOf(item2) == 1) { num = -1; } else if (fixedSOMPageElement2.FixedSOMPage.MarkupOrder.IndexOf(item4) - fixedSOMPageElement2.FixedSOMPage.MarkupOrder.IndexOf(item) == 1) { num = 1; } else { int num2 = base._SpatialToAbsoluteComparison(spatialComparison); num = ((num2 != 0) ? num2 : base._SpatialToAbsoluteComparison(comparison)); } } } return(num); }
// Token: 0x06002E0F RID: 11791 RVA: 0x000CFF8C File Offset: 0x000CE18C public int CompareTo(object o) { if (!(o is FixedSOMSemanticBox)) { throw new ArgumentException(SR.Get("UnexpectedParameterType", new object[] { o.GetType(), typeof(FixedSOMSemanticBox) }), "o"); } FixedSOMSemanticBox.SpatialComparison spatialComparison = this._CompareHorizontal(o as FixedSOMSemanticBox, false); FixedSOMSemanticBox.SpatialComparison spatialComparison2 = this._CompareVertical(o as FixedSOMSemanticBox); int result; if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.Equal && spatialComparison2 == FixedSOMSemanticBox.SpatialComparison.Equal) { result = 0; } else if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.Equal) { if (spatialComparison2 == FixedSOMSemanticBox.SpatialComparison.Before || spatialComparison2 == FixedSOMSemanticBox.SpatialComparison.OverlapBefore) { result = -1; } else { result = 1; } } else if (spatialComparison2 == FixedSOMSemanticBox.SpatialComparison.Equal) { if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.Before || spatialComparison == FixedSOMSemanticBox.SpatialComparison.OverlapBefore) { result = -1; } else { result = 1; } } else if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.Before) { result = -1; } else if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.After) { result = 1; } else if (spatialComparison2 == FixedSOMSemanticBox.SpatialComparison.Before) { result = -1; } else if (spatialComparison2 == FixedSOMSemanticBox.SpatialComparison.After) { result = 1; } else if (spatialComparison == FixedSOMSemanticBox.SpatialComparison.OverlapBefore) { result = -1; } else { result = 1; } return(result); }
// Token: 0x06002DC2 RID: 11714 RVA: 0x000CDD74 File Offset: 0x000CBF74 int IComparable.CompareTo(object comparedObj) { int result = int.MinValue; FixedSOMGroup fixedSOMGroup = comparedObj as FixedSOMGroup; if (fixedSOMGroup == null) { throw new ArgumentException(SR.Get("UnexpectedParameterType", new object[] { comparedObj.GetType(), typeof(FixedSOMGroup) }), "comparedObj"); } bool rtl = this.IsRTL && fixedSOMGroup.IsRTL; FixedSOMSemanticBox.SpatialComparison spatialComparison = base._CompareHorizontal(fixedSOMGroup, rtl); switch (base._CompareVertical(fixedSOMGroup)) { case FixedSOMSemanticBox.SpatialComparison.Before: result = -1; break; case FixedSOMSemanticBox.SpatialComparison.OverlapBefore: if (spatialComparison <= FixedSOMSemanticBox.SpatialComparison.Equal) { result = -1; } else { result = 1; } break; case FixedSOMSemanticBox.SpatialComparison.Equal: switch (spatialComparison) { case FixedSOMSemanticBox.SpatialComparison.Before: case FixedSOMSemanticBox.SpatialComparison.OverlapBefore: result = -1; break; case FixedSOMSemanticBox.SpatialComparison.Equal: result = 0; break; case FixedSOMSemanticBox.SpatialComparison.OverlapAfter: case FixedSOMSemanticBox.SpatialComparison.After: result = 1; break; } break; case FixedSOMSemanticBox.SpatialComparison.OverlapAfter: if (spatialComparison >= FixedSOMSemanticBox.SpatialComparison.Equal) { result = 1; } else { result = -1; } break; case FixedSOMSemanticBox.SpatialComparison.After: result = 1; break; } return(result); }