Esempio n. 1
0
        // 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);
        }
Esempio n. 2
0
        // 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);
        }
Esempio n. 3
0
        // 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);
        }
Esempio n. 4
0
        // 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);
        }