Ejemplo n.º 1
0
    internal static Class14 smethod_0(Class703 A_0, BinaryReader A_1, ListStyleCollection A_2)
    {
        Class1111 class2 = A_0.class1057_0.class1111_6;

        if (class2.int_1 == 0)
        {
            return(null);
        }
        A_1.BaseStream.Position = class2.int_0;
        Stack   stack  = new Stack();
        Class14 class3 = null;
        Class14 class4 = null;

        while ((A_1.BaseStream.Position - class2.int_0) < class2.int_1)
        {
            bool flag;
            int  num;
            int  num2;
            int  num3;
            A_1.ReadInt32();
            switch (A_1.ReadInt32())
            {
            case 0:
            {
                class3 = new Class14();
                class4 = class3;
                continue;
            }

            case 1:
            {
                if (stack.Count > 0)
                {
                    class4 = new Class14();
                    ((Class14)stack.Peek()).method_121().method_2(class4);
                }
                class4.method_56((FrameDividerPositionType)A_1.ReadInt32());
                class4.method_58(A_1.ReadInt32());
                class4.method_60((FrameLayoutType)A_1.ReadInt32());
                A_1.ReadInt32();
                class4.method_62(A_1.ReadInt32());
                class4.method_67(A_1.ReadInt32());
                class4.method_115((FrameScrollType)A_1.ReadInt32());
                int num6 = A_1.ReadInt32();
                class4.method_117((num6 & 1) != 0);
                class4.method_119((num6 & 2) != 0);
                A_1.ReadInt32();
                continue;
            }

            case 2:
            {
                if ((A_1.ReadInt32() & 1) == 0)
                {
                    break;
                }
                stack.Push(class4);
                continue;
            }

            case 3:
            {
                class4.method_52(Class813.smethod_1(A_1, true, true));
                continue;
            }

            case 4:
            {
                class4.method_54(Class813.smethod_1(A_1, true, true));
                continue;
            }

            case 5:
            {
                class3.method_127(A_1.ReadInt32());
                class3.method_125(Class624.smethod_7(A_1.ReadInt32()));
                int  num7  = A_1.ReadInt32();
                bool flag2 = (num7 & 1) != 0;
                flag = (num7 & 2) != 0;
                if (!flag2)
                {
                    goto Label_01D3;
                }
                class3.method_123(FramesetBorderType.None);
                continue;
            }

            case 6:
                num  = A_1.ReadInt32();
                num2 = 0;
                goto Label_0228;

            default:
            {
                continue;
            }
            }
            class4 = (Class14)stack.Pop();
            continue;
Label_01D3:
            if (flag)
            {
                class3.method_123(FramesetBorderType.Raised);
            }
            else
            {
                class3.method_123(FramesetBorderType.Simple);
            }
            continue;
Label_01F5:
            num3 = A_1.ReadInt16();
            int       num5  = A_1.ReadUInt16() & 0xfff;
            ListStyle style = A_2[num3];
            style.ListStyleIstd = num5;
            num2++;
Label_0228:
            if (num2 < num)
            {
                goto Label_01F5;
            }
        }
        return(class3);
    }