Beispiel #1
0
    internal static Class276 smethod_0(EscherDrawingType A_0)
    {
        Class276 class2 = new Class276();

        class2.method_15(A_0);
        Class289 class3 = new Class289();

        class2.method_7().Add(class3);
        class3.method_5(((int)A_0) + 1);
        Class277 class4 = new Class277();

        class2.method_7().Add(class4);
        Class273 class5 = new Class273();

        class4.method_7().Add(class5);
        Class285 class6 = new Class285();

        class5.method_7().Add(class6);
        Class279 class7 = new Class279();

        class7.method_5(0);
        class7.method_31(ShapeType.NonPrimitive);
        class7.method_7(true);
        class7.method_11(true);
        class5.method_7().Add(class7);
        return(class2);
    }
Beispiel #2
0
        private void method_16(
            DxfReader r,
            Class285 objectBuilder,
            ref Interface30 binaryDataReader,
            ref Interface30 stringDataReader,
            ref long graphicsDataSizeInBytes,
            ref PagedMemoryStream graphicsData,
            ref Stream currentStream)
        {
            string subclass = (string)r.CurrentGroup.Value;

            r.method_85();
            this.stream_0 = (Stream)null;
            this.stream_1 = (Stream)null;
            while (!r.method_92(subclass))
            {
                if (!this.method_17(r, objectBuilder, ref graphicsDataSizeInBytes, ref graphicsData, ref currentStream))
                {
                    r.method_85();
                }
            }
            if (this.stream_0 != null)
            {
                this.stream_0.Position = 0L;
                binaryDataReader       = Class444.Create(r.ModelBuilder.Version, this.stream_0);
            }
            if (this.stream_1 == null)
            {
                return;
            }
            this.stream_1.Position = 0L;
            stringDataReader       = Class444.Create(r.ModelBuilder.Version, this.stream_1);
        }
Beispiel #3
0
        internal override void vmethod_11(Class434 or, Class285 entityBuilder, long imageSize)
        {
            PagedMemoryStream targetStream = new PagedMemoryStream((long)(int)imageSize, System.Math.Min((int)imageSize, 65536));

            or.ObjectBitStream.imethod_20((int)imageSize, targetStream);
            this.proxyGraphics_0 = new ProxyGraphics();
            ((DxfProxyEntity.Class287)entityBuilder).ProxyGraphicsBuilder = this.proxyGraphics_0.Read((Stream)targetStream, or.Builder);
        }
Beispiel #4
0
        internal override void Read(DxfReader r, Class259 objectBuilder)
        {
            base.Read(r, objectBuilder);
            Class285          class285                = (Class285)objectBuilder;
            Interface30       binaryDataReader        = (Interface30)null;
            Interface30       stringDataReader        = (Interface30)null;
            Stream            currentStream           = (Stream)null;
            long              graphicsDataSizeInBytes = 0;
            PagedMemoryStream graphicsData            = (PagedMemoryStream)null;

            r.method_85();
            while (r.CurrentGroup.Code != 0)
            {
                if (r.CurrentGroup.Code == 100)
                {
                    switch ((string)r.CurrentGroup.Value)
                    {
                    case "AcDbZombieEntity":
                    case "AcDbProxyEntity":
                        this.method_16(r, class285, ref binaryDataReader, ref stringDataReader, ref graphicsDataSizeInBytes, ref graphicsData, ref currentStream);
                        continue;

                    case "AcDbEntity":
                        this.method_8(r, class285);
                        continue;

                    default:
                        if (this.bool_2)
                        {
                            this.method_18(r, objectBuilder);
                            continue;
                        }
                        continue;
                    }
                }
                else
                {
                    this.method_9(r, class285);
                }
            }
            this.method_13(r.ModelBuilder.Version);
            if (graphicsData == null)
            {
                return;
            }
            this.proxyGraphics_0 = new ProxyGraphics();
            ((DxfProxyEntity.Class287)class285).ProxyGraphicsBuilder = this.proxyGraphics_0.Read((Stream)graphicsData, (Class374)r.ModelBuilder);
        }
Beispiel #5
0
 internal bool method_9(DxfReader r, Class285 entityBuilder)
 {
     return(r.method_133(entityBuilder));
 }
Beispiel #6
0
 internal void method_8(DxfReader r, Class285 entityBuilder)
 {
     r.method_132(entityBuilder);
 }
Beispiel #7
0
 internal virtual void vmethod_11(Class434 or, Class285 entityBuilder, long imageSize)
 {
     or.ObjectBitStream.imethod_52((int)imageSize);
 }
Beispiel #8
0
    private void method_5(Class273 A_0, ShapeBase A_1)
    {
        Class291 class2 = null;

        for (int i = 0; i < A_0.method_8(); i++)
        {
            Class279 class4;
            Class266 class3 = A_0.method_9(i);
            if (class3 != null)
            {
                switch (class3.method_3().method_8())
                {
                case EscherRecordType.ShapeGroup:
                {
                    Class285 class5 = (Class285)class3;
                    A_1.CoordOrigin = class5.method_4();
                    A_1.method_56(class5.method_6());
                    break;
                }

                case EscherRecordType.Shape:
                    class4 = (Class279)class3;
                    A_1.Id = class4.method_4();
                    if (!class4.method_6())
                    {
                        goto Label_00AB;
                    }
                    A_1.SetShapeType(ShapeType.Group);
                    goto Label_00C9;

                case EscherRecordType.ShapeOptions:
                case EscherRecordType.ShapeOptionsEx:
                    goto Label_00D7;

                case EscherRecordType.ChildAnchor:
                    goto Label_00F0;
                }
            }
            continue;
Label_00AB:
            if (class4.method_14())
            {
                A_1.SetShapeType(ShapeType.OleObject);
            }
            else
            {
                A_1.SetShapeType(class4.method_30());
            }
Label_00C9:
            A_1.FlipOrientation = class4.method_32();
            continue;
Label_00D7:
            this.class930_0.method_0(((Class287)class3).method_4(), A_1);
            continue;
Label_00F0:
            class2 = (Class291)class3;
        }
        if (class2 != null)
        {
            Class265.smethod_2(A_1, (double)class2.method_4(), (double)class2.method_6(), (double)class2.method_8(), (double)class2.method_10());
        }
    }
Beispiel #9
0
    internal Class273 method_6(ShapeBase A_0, EscherShapeKind A_1)
    {
        Class273 class2 = new Class273();

        if (A_0.IsGroup)
        {
            Class285 class3 = new Class285();
            class3.method_5(A_0.CoordOrigin);
            class3.method_7(A_0.CoordSize);
            class2.method_7().Add(class3);
        }
        Class279 class4 = new Class279();

        class4.method_5(A_0.Id);
        switch (A_0.ShapeType)
        {
        case ShapeType.OleObject:
        case ShapeType.OleControl:
            class4.method_31(ShapeType.Image);
            break;

        case ShapeType.Group:
            class4.method_31(ShapeType.NonPrimitive);
            break;

        default:
            class4.method_31(A_0.ShapeType);
            break;
        }
        class4.method_7(A_0.IsGroup);
        class4.method_25(A_1 == EscherShapeKind.Background);
        class4.method_9(A_1 == EscherShapeKind.Child);
        class4.method_23(A_0.IsConnector);
        class4.method_15(A_0.IsOle && !A_0.IsInline);
        class4.method_29(!A_0.IsGroup);
        class4.method_27(true);
        class4.method_33(A_0.FlipOrientation);
        class2.method_7().Add(class4);
        Class287 class8 = new Class287(false);
        Class287 class5 = new Class287(true);

        this.class930_0.method_23(A_0, class8.method_4(), class5.method_4(), class4.method_24());
        if (class8.method_4().method_2() > 0)
        {
            class2.method_7().Add(class8);
        }
        if (class5.method_4().method_2() > 0)
        {
            class2.method_7().Add(class5);
        }
        if (A_1 == EscherShapeKind.InlineReal)
        {
            Class267 class11 = new Class267();
            class11.method_5(EscherClientAnchorFlags.Inline);
            class2.method_7().Add(class11);
            return(class2);
        }
        if (!class4.method_24())
        {
            if (class4.method_8())
            {
                Class291 class6 = new Class291();
                Class265 class7 = Class265.smethod_3(A_0);
                class6.method_5((int)class7.double_0);
                class6.method_7((int)class7.double_1);
                class6.method_9((int)class7.double_2);
                class6.method_11((int)class7.double_3);
                class2.method_7().Add(class6);
            }
            else
            {
                Class267 class12 = new Class267();
                class2.method_7().Add(class12);
            }
        }
        Class280 class9 = new Class280();

        class9.method_5(1);
        class2.method_7().Add(class9);
        if (A_0.Txid != 0)
        {
            Class282 class10 = new Class282();
            class10.method_5(A_0.Txid);
            class2.method_7().Add(class10);
        }
        return(class2);
    }
Beispiel #10
0
        private bool method_17(
            DxfReader r,
            Class285 objectBuilder,
            ref long graphicsDataSizeInBytes,
            ref PagedMemoryStream graphicsData,
            ref Stream currentStream)
        {
            switch (r.CurrentGroup.Code)
            {
            case 1:
                string cPlusPlusClassName = (string)r.CurrentGroup.Value;
                this.dxfClass_0 = r.Model.Classes.GetClassWithCPlusPlusName(cPlusPlusClassName);
                break;

            case 70:
                this.bool_2 = (short)r.CurrentGroup.Value != (short)0;
                break;

            case 90:
                int num1 = (int)r.CurrentGroup.Value;
                break;

            case 91:
                int num2 = (int)r.CurrentGroup.Value;
                this.dxfClass_0 = r.Model.Classes.GetClassWithClassNumber((short)num2);
                break;

            case 92:
                graphicsDataSizeInBytes = (long)(int)r.CurrentGroup.Value;
                if (graphicsData == null)
                {
                    graphicsData = new PagedMemoryStream((long)(int)graphicsDataSizeInBytes, System.Math.Min((int)graphicsDataSizeInBytes, 65536));
                }
                else
                {
                    graphicsData.SetLength(graphicsDataSizeInBytes);
                }
                currentStream = (Stream)graphicsData;
                break;

            case 93:
                this.long_0 = (long)(int)r.CurrentGroup.Value;
                if (this.long_0 != 0L)
                {
                    int val1 = (int)this.long_0 + 7 >> 3;
                    if (this.stream_0 == null)
                    {
                        this.stream_0 = (Stream) new PagedMemoryStream((long)val1, System.Math.Min(val1, 65536));
                    }
                    else
                    {
                        this.stream_0.SetLength((long)val1);
                    }
                }
                currentStream = this.stream_0;
                break;

            case 94:
                int num3 = (int)r.CurrentGroup.Value;
                break;

            case 95:
                int num4 = (int)r.CurrentGroup.Value;
                this.dwgVersion_0 = (DwgVersion)(num4 & (int)ushort.MaxValue);
                this.short_1      = (short)(num4 >> 16);
                break;

            case 96:
                this.uint_0 = (uint)(int)r.CurrentGroup.Value;
                if (this.uint_0 != 0U)
                {
                    int val1 = (int)(this.uint_0 + 7U >> 3);
                    if (this.stream_1 == null)
                    {
                        this.stream_1 = (Stream) new PagedMemoryStream((long)val1, System.Math.Min(val1, 65536));
                    }
                    else
                    {
                        this.stream_1.SetLength((long)val1);
                    }
                }
                currentStream = this.stream_1;
                break;

            case 160:
                graphicsDataSizeInBytes = (long)r.CurrentGroup.Value;
                if (graphicsData == null)
                {
                    graphicsData = new PagedMemoryStream((long)(int)graphicsDataSizeInBytes, System.Math.Min((int)graphicsDataSizeInBytes, 65536));
                }
                else
                {
                    graphicsData.SetLength(graphicsDataSizeInBytes);
                }
                currentStream = (Stream)graphicsData;
                break;

            case 161:
                this.long_0 = (long)r.CurrentGroup.Value;
                if (this.long_0 != 0L)
                {
                    int val1 = (int)this.long_0 + 7 >> 3;
                    if (this.stream_0 == null)
                    {
                        this.stream_0 = (Stream) new PagedMemoryStream((long)val1, System.Math.Min(val1, 65536));
                    }
                    else
                    {
                        this.stream_0.SetLength((long)val1);
                    }
                }
                currentStream = this.stream_0;
                break;

            case 162:
                this.uint_0 = (uint)(long)r.CurrentGroup.Value;
                if (this.uint_0 != 0U)
                {
                    int val1 = (int)this.uint_0 + 7 >> 3;
                    if (this.stream_1 == null)
                    {
                        this.stream_1 = (Stream) new PagedMemoryStream((long)val1, System.Math.Min(val1, 65536));
                    }
                    else
                    {
                        this.stream_1.SetLength((long)val1);
                    }
                }
                currentStream = this.stream_1;
                break;

            case 310:
                if (currentStream == null)
                {
                    throw new Exception("No stream size specified.");
                }
                byte[] buffer1 = (byte[])r.CurrentGroup.Value;
                currentStream.Write(buffer1, 0, buffer1.Length);
                break;

            case 311:
                if (currentStream == null)
                {
                    throw new Exception("No stream size specified.");
                }
                if (currentStream != this.stream_1)
                {
                    throw new Exception("Wrong stream");
                }
                byte[] buffer2 = (byte[])r.CurrentGroup.Value;
                currentStream.Write(buffer2, 0, buffer2.Length);
                break;

            case 330:
                this.method_19(r, (Class259)objectBuilder, ReferenceType.SoftPointerReference);
                break;

            case 340:
                this.method_19(r, (Class259)objectBuilder, ReferenceType.HardPointerReference);
                break;

            case 350:
                this.method_19(r, (Class259)objectBuilder, ReferenceType.SoftOwnershipReference);
                break;

            case 360:
                this.method_19(r, (Class259)objectBuilder, ReferenceType.HardOwnershipReference);
                break;

            default:
                return(this.method_9(r, objectBuilder));
            }
            r.method_85();
            return(true);
        }
 public abstract void Visit(Class285 c);
 public override void Visit(Class285 c) { }