void ESRI.ArcGIS.esriSystem.IPersistVariant.Load(ESRI.ArcGIS.esriSystem.IVariantStream Stream) { // Read the persisted version number first. int lSavedVers = 0; lSavedVers = Convert.ToInt32(Stream.Read()); if ((lSavedVers > m_lCurrPersistVers) | (lSavedVers <= 0)) { throw new Exception("Failed to read from stream"); } // Set members to default values. InitializeMembers(); // Load the first persistance pattern. if (lSavedVers == 1) { m_lROP2 = (esriRasterOpCode)Stream.Read(); m_dSize = Convert.ToDouble(Stream.Read()); m_dXOffset = Convert.ToDouble(Stream.Read()); m_dYOffset = Convert.ToDouble(Stream.Read()); m_dAngle = Convert.ToDouble(Stream.Read()); m_bRotWithTrans = Convert.ToBoolean(Stream.Read()); m_lMapLevel = Convert.ToInt32(Stream.Read()); m_colorTop = Stream.Read() as IColor; m_colorLeft = Stream.Read() as IColor; m_colorRight = Stream.Read() as IColor; m_colorBorder = Stream.Read() as IColor; } }
private void InitializeMembers() { // Set up default values as far as possible. m_lhDC = 0; m_lOldPen = 0; m_lPen = 0; m_lOldBrush = 0; m_lBrushTop = 0; m_lBrushLeft = 0; m_lBrushRight = 0; m_dDeviceRadius = 0; m_trans = null; // LogoMarkerSymbol custom property defaults. IColor color = null; color = (IColor)ESRI.ArcGIS.ADF.Converter.ToRGBColor(Color.Red); m_colorTop = ((IClone)color).Clone() as IColor; color = (IColor)ESRI.ArcGIS.ADF.Converter.ToRGBColor(Color.OrangeRed); m_colorLeft = ((IClone)color).Clone() as IColor; color = (IColor)ESRI.ArcGIS.ADF.Converter.ToRGBColor(Color.Pink); m_colorRight = ((IClone)color).Clone() as IColor; color = (IColor)ESRI.ArcGIS.ADF.Converter.ToRGBColor(Color.Black); m_colorBorder = ((IClone)color).Clone() as IColor; // ISymbol property defaults. m_lROP2 = esriRasterOpCode.esriROPCopyPen; // IMarkerSymbol property defaults. m_dSize = 10; m_dAngle = 0; m_dXOffset = 0; m_dYOffset = 0; // ISymbolRotation property defaults. m_bRotWithTrans = true; }