private void parse(VirtualStream stream, Int32 fc)
        {
            stream.Seek(fc, System.IO.SeekOrigin.Begin);
            VirtualStreamReader reader = new VirtualStreamReader(stream);

            Int32 lcb = reader.ReadInt32();

            if (lcb > 0)
            {
                UInt16 cbHeader = reader.ReadUInt16();

                this.mfp      = new MetafilePicture();
                this.mfp.mm   = reader.ReadInt16();
                this.mfp.xExt = reader.ReadInt16();
                this.mfp.yExt = reader.ReadInt16();
                this.mfp.hMf  = reader.ReadInt16();

                if (this.mfp.mm > 98)
                {
                    this.rcWinMf = reader.ReadBytes(14);

                    //dimensions
                    this.dxaGoal = reader.ReadInt16();
                    this.dyaGoal = reader.ReadInt16();
                    this.mx      = reader.ReadUInt16();
                    this.my      = reader.ReadUInt16();

                    //cropping
                    this.dxaCropLeft   = reader.ReadInt16();
                    this.dyaCropTop    = reader.ReadInt16();
                    this.dxaCropRight  = reader.ReadInt16();
                    this.dyaCropBottom = reader.ReadInt16();

                    Int16 brcl = reader.ReadInt16();

                    //borders
                    this.brcTop    = new BorderCode(reader.ReadBytes(4));
                    this.brcLeft   = new BorderCode(reader.ReadBytes(4));
                    this.brcBottom = new BorderCode(reader.ReadBytes(4));
                    this.brcRight  = new BorderCode(reader.ReadBytes(4));

                    this.dxaOrigin = reader.ReadInt16();
                    this.dyaOrigin = reader.ReadInt16();
                    this.cProps    = reader.ReadInt16();

                    //Parse the OfficeDrawing Stuff
                    Record r = Record.ReadRecord(reader);
                    if (r is ShapeContainer)
                    {
                        this.ShapeContainer = (ShapeContainer)r;
                        long pos = reader.BaseStream.Position;
                        if (pos < (fc + lcb))
                        {
                            Record rec = Record.ReadRecord(reader);
                            if (rec.GetType() == typeof(BlipStoreEntry))
                            {
                                this.BlipStoreEntry = (BlipStoreEntry)rec;
                            }
                        }
                    }
                }
            }
        }
        private void setDefaultValue()
        {
            //The standard PAP is all zero ...
            this.AdjustRight       = false;
            this.brcl              = 0;
            this.brcp              = 0;
            this.dxaAbs            = 0;
            this.dxaFromText       = 0;
            this.dxaFromTextRight  = 0;
            this.dxaLeft           = 0;
            this.dxaLeft1          = 0;
            this.dxaRight          = 0;
            this.dxcLeft           = 0;
            this.dxcLeft1          = 0;
            this.dxcRight          = 0;
            this.dxaWidth          = 0;
            this.dyaAbs            = 0;
            this.dyaAfter          = 0;
            this.dyaBefore         = 0;
            this.dyaFromText       = 0;
            this.dyaFromTextBottom = 0;
            this.dyaHeight         = 0;
            this.dylAfter          = 0;
            this.dylBefore         = 0;
            this.empty             = 0;
            this.fAutoSpaceDE      = false;
            this.fAutoSpaceDN      = false;
            this.fBackward         = false;
            this.fBrLnAbove        = false;
            this.fBrLnBelow        = false;
            this.fCharLineUnits    = false;
            this.fCrLf             = false;
            this.fDyaAfterAuto     = false;
            this.fDyaBeforeAuto    = false;
            this.fFrpTap           = false;
            this.fHasOldProps      = false;
            this.fInnerTableCell   = false;
            this.fInTableW97       = false;
            this.fKeep             = false;
            this.fKeepFollow       = false;
            this.fKinsoku          = false;
            this.fLocked           = false;
            this.fMinHeight        = false;
            this.fNoAllowOverlap   = false;
            this.fNoAutoHyph       = false;
            this.fNoLynn           = false;
            this.fNumRMins         = false;
            this.fOpenTch          = false;
            this.fOverflowPunct    = false;
            this.fPageBreakBefore  = false;
            this.fPropRMark        = false;
            this.fRotateFont       = false;
            this.fSideBySide       = false;
            this.fTopLinePunct     = false;
            this.fTtp              = false;
            this.fUsePgsuSettings  = false;
            this.fVertical         = false;
            this.fWordWrap         = false;
            this.ilfo              = 0;
            this.ilvl              = 0;
            this.ipgp              = 0;
            this.istd              = 0;
            this.istdList          = 0;
            this.itap              = 0;
            this.itbdMac           = 0;
            this.jc           = JustificationCode.left;
            this.lfrp         = 0;
            this.pcHorz       = 0;
            this.pcVert       = 0;
            this.wAlignFont   = 0;
            this.wHeightAbs   = 0;
            this.wr           = 0;
            this.anld         = new AutoNumberedListDataDescriptor();
            this.brcBar       = null;
            this.brcBetween   = null;
            this.brcBottom    = null;
            this.brcLeft      = null;
            this.brcRight     = null;
            this.brcTop       = null;
            this.dcs          = new DropCapSpecifier();
            this.dttmPropMark = new DateAndTime();
            this.numrm        = new NumberRevisionMarkData();
            this.phe          = new ParagraphHeight();
            this.rgdxaTab     = null;
            this.rgtbd        = null;
            this.shd          = null;

            //except ...
            this.fWindowControl = true;
            this.lvl            = 9;
            LineSpacingDescriptor desc = new LineSpacingDescriptor();

            desc.fMultLinespace = true;
            desc.dyaLine        = 240;
            this.lspd           = desc;
        }