コード例 #1
0
 internal static bool IsDefined(PenTip penTip)
 {
     if (penTip < PenTip.Circle || penTip > PenTip.Rectangle) 
     {
         return false; 
     } 
     return true;
 } 
コード例 #2
0
 internal static bool IsDefined(PenTip penTip)
 {
     if (penTip < PenTip.Circle || penTip > PenTip.Rectangle)
     {
         return(false);
     }
     return(true);
 }
コード例 #3
0
ファイル: PenStateModel.cs プロジェクト: zhujingcheng/CP3
        public void UpdateValues(object model)
        {
            // Make sure both objects exist and aren't the same
            if (model != null &&
                model is PenStateModel &&
                model != this)
            {
                PenStateModel m = (PenStateModel)model;

                using (Synchronizer.Lock(this.SyncRoot))
                {
                    using (Synchronizer.Lock(m.SyncRoot))
                    {
                        if (this.m_PenRasterOperation != m.m_PenRasterOperation)
                        {
                            this.m_PenRasterOperation = m.m_PenRasterOperation;
                        }
                        if (this.m_PenTip != m.m_PenTip)
                        {
                            this.m_PenTip = m.m_PenTip;
                        }
                        if (this.m_PenColor != m.m_PenColor)
                        {
                            this.m_PenColor = m.m_PenColor;
                        }
                        if (this.m_PenWidth != m.m_PenWidth)
                        {
                            this.m_PenWidth = m.m_PenWidth;
                        }
                        if (this.m_PenHeight != m.m_PenHeight)
                        {
                            this.m_PenHeight = m.m_PenHeight;
                        }
                        if (this.m_HLRasterOperation != m.m_HLRasterOperation)
                        {
                            this.m_HLRasterOperation = m.m_HLRasterOperation;
                        }
                        if (this.m_HLTip != m.m_HLTip)
                        {
                            this.m_HLTip = m.m_HLTip;
                        }
                        if (this.m_HLColor != m.m_HLColor)
                        {
                            this.m_HLColor = m.m_HLColor;
                        }
                        if (this.m_HLWidth != m.m_HLWidth)
                        {
                            this.m_HLWidth = m.m_HLWidth;
                        }
                        if (this.m_HLHeight != m.m_HLHeight)
                        {
                            this.m_HLHeight = m.m_HLHeight;
                        }
                    }
                }
            }
        }
コード例 #4
0
 public DrawingAttributesSerializer(DrawingAttributes atts)
 {
     this.AntiAliased        = atts.AntiAliased;
     this.Color              = atts.Color;
     this.ExtendedProperties = new ArrayList(atts.ExtendedProperties);
     this.FitToCurve         = atts.FitToCurve;
     this.Height             = atts.Height;
     this.IgnorePressure     = atts.IgnorePressure;
     this.PenTip             = atts.PenTip;
     this.RasterOperation    = atts.RasterOperation;
     this.Transparency       = atts.Transparency;
     this.Width              = atts.Width;
 }
コード例 #5
0
 public DrawingAttributesSerializer(SerializedPacket p)
 {
     this.AntiAliased        = SerializedPacket.DeserializeBool(p.GetNextPart());
     this.Color              = SerializedPacket.DeserializeColor(p.GetNextPart());
     this.ExtendedProperties = new ArrayList();
     this.FitToCurve         = SerializedPacket.DeserializeBool(p.GetNextPart());
     this.Height             = SerializedPacket.DeserializeFloat(p.GetNextPart());
     this.IgnorePressure     = SerializedPacket.DeserializeBool(p.GetNextPart());
     this.PenTip             = (PenTip)SerializedPacket.DeserializeLong(p.GetNextPart());
     this.RasterOperation    = (RasterOperation)SerializedPacket.DeserializeLong(p.GetNextPart());
     this.Transparency       = SerializedPacket.DeserializeByte(p.GetNextPart());
     this.Width              = SerializedPacket.DeserializeFloat(p.GetNextPart());
 }
コード例 #6
0
ファイル: PenStateModel.cs プロジェクト: zhujingcheng/CP3
        public PenStateModel()
        {
            DrawingAttributes atts = new DrawingAttributes();

            this.m_PenRasterOperation = RasterOperation.CopyPen;
            this.m_PenTip             = PenTip.Ball;
            this.m_PenColor           = Color.Orange.ToArgb();
            this.m_PenWidth           = (int)atts.Width;
            this.m_PenHeight          = (int)atts.Height;
            this.m_HLRasterOperation  = RasterOperation.MaskPen;
            this.m_HLTip    = PenTip.Ball;
            this.m_HLColor  = Color.Pink.ToArgb();
            this.m_HLWidth  = (int)(6 * atts.Width);
            this.m_HLHeight = (int)(2 * atts.Width);
        }
コード例 #7
0
        public PenStateModel()
        {
            DrawingAttributes atts = new DrawingAttributes();

            this.m_PenRasterOperation = RasterOperation.CopyPen;
            this.m_PenTip = PenTip.Ball;
            this.m_PenColor = Color.Orange.ToArgb();
            this.m_PenWidth = (int)atts.Width;
            this.m_PenHeight = (int)atts.Height;
            this.m_HLRasterOperation = RasterOperation.MaskPen;
            this.m_HLTip = PenTip.Ball;
            this.m_HLColor = Color.Pink.ToArgb();
            this.m_HLWidth = (int)(6 * atts.Width);
            this.m_HLHeight = (int)(2 * atts.Width);
        }
コード例 #8
0
ファイル: PenPropertiesPage.cs プロジェクト: zhujingcheng/CP3
            public UndoChangesButton(PenPropertiesPage owner, Point location, Size size, int tabIndex)
            {
                this.DefaultWidth           = owner.DrawingAttributes.Width;
                this.DefaultHeight          = owner.DrawingAttributes.Height;
                this.DefaultColor           = owner.DrawingAttributes.Color;
                this.DefaultPenTip          = owner.DrawingAttributes.PenTip;
                this.DefaultTransparency    = owner.DrawingAttributes.Transparency;
                this.DefaultRasterOperation = owner.DrawingAttributes.RasterOperation;

                this.SuspendLayout();
                this.Owner = owner;
                owner.DrawingAttributesChanged += new EventHandler(this.OnDrawingAttributesChanged);

                this.FlatStyle = FlatStyle.System;
                this.Font      = ViewerStateModel.StringFont;
                this.Location  = location;
                this.Size      = size;
                this.TabIndex  = tabIndex;
                this.Name      = "UndoChangesButton";
                this.Text      = Strings.UndoChanges;
                this.Enabled   = true;

                this.ResumeLayout();
            }
コード例 #9
0
        /// <summary>
        /// Loads drawing attributes from a memory buffer.
        /// </summary>
        /// <param name="stream">Memory buffer to read from</param>
        /// <param name="guidList">Guid tags if extended properties are used</param>
        /// <param name="maximumStreamSize">Maximum size of buffer to read through</param>
        /// <param name="da">The drawing attributes collection to decode into</param>
        /// <returns>Number of bytes read</returns>
#else
        /// <summary>
        /// Loads drawing attributes from a memory buffer.
        /// </summary>
        /// <param name="stream">Memory buffer to read from</param>
        /// <param name="guidList">Guid tags if extended properties are used</param>
        /// <param name="maximumStreamSize">Maximum size of buffer to read through</param>
        /// <param name="da">The drawing attributes collection to decode into</param>
        /// <returns>Number of bytes read</returns>
#endif
        internal static uint DecodeAsISF(Stream stream, GuidList guidList, uint maximumStreamSize, DrawingAttributes da)
        {
            PenTip   penTip           = PenTip.Default;
            PenStyle penStyle         = PenStyle.Default;
            double   stylusWidth      = DrawingAttributeSerializer.V1PenWidthWhenWidthIsMissing;
            double   stylusHeight     = DrawingAttributeSerializer.V1PenHeightWhenHeightIsMissing;
            uint     rasterOperation  = DrawingAttributeSerializer.RasterOperationDefaultV1;
            int      transparency     = DrawingAttributeSerializer.TransparencyDefaultV1;
            bool     widthIsSetInISF  = false; //did we find KnownIds.Width?
            bool     heightIsSetInISF = false; //did we find KnownIds.Height?


            uint cbTotal = maximumStreamSize;

            while (maximumStreamSize > 0)
            {
                KnownTagCache.KnownTagIndex tag;
                uint uiTag;
                // First read the tag
                uint cb = SerializationHelper.Decode(stream, out uiTag);
                tag = (KnownTagCache.KnownTagIndex)uiTag;

                if (maximumStreamSize < cb)
                {
                    throw new ArgumentException(StrokeCollectionSerializer.ISFDebugMessage("ISF size is larger than maximum stream size"));
                }

                maximumStreamSize -= cb;

                // Get the guid based on the tag
                Guid guid = guidList.FindGuid(tag);
                if (guid == Guid.Empty)
                {
                    throw new ArgumentException(StrokeCollectionSerializer.ISFDebugMessage("Drawing Attribute tag embedded in ISF stream does not match guid table"));
                }

                uint dw = 0;

                if (KnownIds.PenTip == guid)
                {
                    cb     = SerializationHelper.Decode(stream, out dw);
                    penTip = (PenTip)dw;
                    if (!PenTipHelper.IsDefined(penTip))
                    {
                        throw new ArgumentException(StrokeCollectionSerializer.ISFDebugMessage("Invalid PenTip value found in ISF stream"));
                    }
                    maximumStreamSize -= cb;
                }
                else if (KnownIds.PenStyle == guid)
                {
                    cb                 = SerializationHelper.Decode(stream, out dw);
                    penStyle           = (PenStyle)dw;
                    maximumStreamSize -= cb;
                }
                else if (KnownIds.DrawingFlags == guid)
                {
                    // Encode the drawing flags with considerations for v2 model
                    cb = SerializationHelper.Decode(stream, out dw);
                    DrawingFlags flags = (DrawingFlags)dw;
                    da.DrawingFlags    = flags;
                    maximumStreamSize -= cb;
                }
                else if (KnownIds.RasterOperation == guid)
                {
                    uint ropSize = GuidList.GetDataSizeIfKnownGuid(KnownIds.RasterOperation);
                    if (ropSize == 0)
                    {
                        throw new InvalidOperationException(StrokeCollectionSerializer.ISFDebugMessage("ROP data size was not found"));
                    }

                    byte[] data = new byte[ropSize];
                    stream.Read(data, 0, (int)ropSize);

                    if (data != null && data.Length > 0)
                    {
                        //data[0] holds the allowable values of 0-255
                        rasterOperation = Convert.ToUInt32(data[0]);
                    }

                    maximumStreamSize -= ropSize;
                }
                else if (KnownIds.CurveFittingError == guid)
                {
                    cb = SerializationHelper.Decode(stream, out dw);
                    da.FittingError    = (int)dw;
                    maximumStreamSize -= cb;
                }
                else if (KnownIds.StylusHeight == guid || KnownIds.StylusWidth == guid)
                {
                    double _size;
                    cb                 = SerializationHelper.Decode(stream, out dw);
                    _size              = (double)dw;
                    maximumStreamSize -= cb;
                    if (maximumStreamSize > 0)
                    {
                        cb = SerializationHelper.Decode(stream, out dw);
                        maximumStreamSize -= cb;
                        if (KnownTagCache.KnownTagIndex.Mantissa == (KnownTagCache.KnownTagIndex)dw)
                        {
                            uint cbInSize;
                            // First thing that is in there is maximumStreamSize of the data
                            cb = SerializationHelper.Decode(stream, out cbInSize);
                            maximumStreamSize -= cb;

                            // in maximumStreamSize is one more than the decoded no
                            cbInSize++;
                            if (cbInSize > maximumStreamSize)
                            {
                                throw new ArgumentException(StrokeCollectionSerializer.ISFDebugMessage("ISF size if greater then maximum stream size"));
                            }
                            byte[] in_data = new byte[cbInSize];

                            uint bytesRead = (uint)stream.Read(in_data, 0, (int)cbInSize);
                            if (cbInSize != bytesRead)
                            {
                                throw new ArgumentException(StrokeCollectionSerializer.ISFDebugMessage("Read different size from stream then expected"));
                            }

                            byte[] out_buffer = Compressor.DecompressPropertyData(in_data);
                            using (MemoryStream localStream = new MemoryStream(out_buffer))
                                using (BinaryReader rdr = new BinaryReader(localStream))
                                {
                                    short sFraction = rdr.ReadInt16();
                                    _size += (double)(sFraction / DrawingAttributes.StylusPrecision);

                                    maximumStreamSize -= cbInSize;
                                }
                        }
                        else
                        {
                            // Seek it back by cb
                            stream.Seek(-cb, SeekOrigin.Current);
                            maximumStreamSize += cb;
                        }
                    }
                    if (KnownIds.StylusWidth == guid)
                    {
                        widthIsSetInISF = true;
                        stylusWidth     = _size;
                    }
                    else
                    {
                        heightIsSetInISF = true;
                        stylusHeight     = _size;
                    }
                }
                else if (KnownIds.Transparency == guid)
                {
                    cb                 = SerializationHelper.Decode(stream, out dw);
                    transparency       = (int)dw;
                    maximumStreamSize -= cb;
                }
                else if (KnownIds.Color == guid)
                {
                    cb = SerializationHelper.Decode(stream, out dw);

                    Color color = Color.FromRgb((byte)(dw & 0xff), (byte)((dw & 0xff00) >> Native.BitsPerByte), (byte)((dw & 0xff0000) >> (Native.BitsPerByte * 2)));
                    da.Color           = color;
                    maximumStreamSize -= cb;
                }
                else if (KnownIds.StylusTipTransform == guid)
                {
                    try
                    {
                        object data;
                        cb = ExtendedPropertySerializer.DecodeAsISF(stream, maximumStreamSize, guidList, tag, ref guid, out data);

                        Matrix matrix = Matrix.Parse((string)data);
                        da.StylusTipTransform = matrix;
                    }
                    catch (InvalidOperationException) // Matrix.Parse failed.
                    {
                        System.Diagnostics.Debug.Assert(false, "Corrupt Matrix in the ExtendedPropertyCollection!");
                    }
                    finally
                    {
                        maximumStreamSize -= cb;
                    }
                }
                else
                {
                    object data;
                    cb = ExtendedPropertySerializer.DecodeAsISF(stream, maximumStreamSize, guidList, tag, ref guid, out data);
                    maximumStreamSize -= cb;
                    da.AddPropertyData(guid, data);
                }
            }

            if (0 != maximumStreamSize)
            {
                throw new ArgumentException();
            }

            //
            // time to create our drawing attributes.
            //
            // 1) First we need to evaluate PenTip / StylusTip
            // Here is the V1 - V2 mapping
            //
            // PenTip.Circle == StylusTip.Ellipse
            // PenTip.Rectangle == StylusTip.Rectangle
            // PenTip.Rectangle == StylusTip.Diamond
            if (penTip == PenTip.Default)
            {
                //Since StylusTip is stored in the EPC at this point (if set), we can compare against it here.
                if (da.StylusTip != StylusTip.Ellipse)
                {
                    //
                    // StylusTip was set to something other than Ellipse
                    // when we last serialized (or else StylusTip would be Ellipse, the default)
                    // when StylusTip is != Ellipse and we serialize, we set PenTip to Rectangle
                    // which is not the default.  Therefore, if PenTip is back to Circle,
                    // that means someone set it in V1 and we should respect that by
                    // changing StylusTip back to Ellipse
                    //
                    da.StylusTip = StylusTip.Ellipse;
                }
                //else da.StylusTip is already set
            }
            else
            {
                System.Diagnostics.Debug.Assert(penTip == PenTip.Rectangle);
                if (da.StylusTip == StylusTip.Ellipse)
                {
                    //
                    // PenTip is Rectangle and StylusTip was either not set
                    // before or was set to Ellipse and PenTip was changed
                    // in a V1 ink object.  Either way, we need to change StylusTip to Rectangle
                    da.StylusTip = StylusTip.Rectangle;
                }
                //else da.StylusTip is already set
            }

            //
            // 2) next we need to set hight and width
            //
            if (da.StylusTip == StylusTip.Ellipse &&
                widthIsSetInISF &&
                !heightIsSetInISF)
            {
                //
                // special case: V1 PenTip of Circle only used Width to compute the circle size
                // and so it only serializes Width of 53
                // but since our default is Ellipse, if Height is unset and we use the default
                // height of 30, then your ink that looked like 53,53 in V1 will look
                // like 30,53 here.
                //
                //
                stylusHeight = stylusWidth;
                da.HeightChangedForCompatabity = true;
            }
            // need to convert width/height into Avalon, since they are stored in HIMETRIC in ISF
            stylusHeight *= StrokeCollectionSerializer.HimetricToAvalonMultiplier;
            stylusWidth  *= StrokeCollectionSerializer.HimetricToAvalonMultiplier;

            // Map 0.0 width to DrawingAttributes.DefaultXXXXXX (V1 53 equivalent)
            double height = DoubleUtil.IsZero(stylusHeight) ? (Double)DrawingAttributes.GetDefaultDrawingAttributeValue(KnownIds.StylusHeight) : stylusHeight;
            double width  = DoubleUtil.IsZero(stylusWidth) ? (Double)DrawingAttributes.GetDefaultDrawingAttributeValue(KnownIds.StylusWidth) : stylusWidth;

            da.Height = GetCappedHeightOrWidth(height);
            da.Width  = GetCappedHeightOrWidth(width);

            //
            // 3) next we need to set IsHighlighter (by looking for RasterOperation.MaskPen)
            //

            //
            // always store raster op
            //
            da.RasterOperation = rasterOperation;
            if (rasterOperation == DrawingAttributeSerializer.RasterOperationDefaultV1)
            {
                //
                // if rasterop is default, make sure IsHighlighter isn't in the EPC
                //
                if (da.ContainsPropertyData(KnownIds.IsHighlighter))
                {
                    da.RemovePropertyData(KnownIds.IsHighlighter);
                }
            }
            else
            {
                if (rasterOperation == DrawingAttributeSerializer.RasterOperationMaskPen)
                {
                    da.IsHighlighter = true;
                }
            }
            //else, IsHighlighter will be set to false by default, no need to set it

            //
            // 4) see if there is a transparency we need to add to color
            //
            if (transparency > DrawingAttributeSerializer.TransparencyDefaultV1)
            {
                //note: Color.A is set to 255 by default, which means fully opaque
                //transparency is just the opposite - 0 means fully opaque so
                //we need to flip the values
                int   alpha = MathHelper.AbsNoThrow(transparency - 255);
                Color color = da.Color;
                color.A  = Convert.ToByte(alpha);
                da.Color = color;
            }
            return(cbTotal);
        }
コード例 #10
0
            public UndoChangesButton(PenPropertiesPage owner, Point location, Size size, int tabIndex)
            {
                this.DefaultWidth = owner.DrawingAttributes.Width;
                this.DefaultHeight = owner.DrawingAttributes.Height;
                this.DefaultColor = owner.DrawingAttributes.Color;
                this.DefaultPenTip = owner.DrawingAttributes.PenTip;
                this.DefaultTransparency = owner.DrawingAttributes.Transparency;
                this.DefaultRasterOperation = owner.DrawingAttributes.RasterOperation;

                this.SuspendLayout();
                this.Owner = owner;
                owner.DrawingAttributesChanged += new EventHandler(this.OnDrawingAttributesChanged);

                this.FlatStyle = FlatStyle.System;
                this.Font = ViewerStateModel.StringFont;
                this.Location = location;
                this.Size = size;
                this.TabIndex = tabIndex;
                this.Name = "UndoChangesButton";
                this.Text = Strings.UndoChanges;
                this.Enabled = true;

                this.ResumeLayout();
            }
コード例 #11
0
 public DrawingAttributesSerializer( SerializedPacket p )
 {
     this.AntiAliased = SerializedPacket.DeserializeBool( p.GetNextPart() );
     this.Color = SerializedPacket.DeserializeColor( p.GetNextPart() );
     this.ExtendedProperties = new ArrayList();
     this.FitToCurve = SerializedPacket.DeserializeBool( p.GetNextPart() );
     this.Height = SerializedPacket.DeserializeFloat( p.GetNextPart() );
     this.IgnorePressure = SerializedPacket.DeserializeBool( p.GetNextPart() );
     this.PenTip = (PenTip)SerializedPacket.DeserializeLong( p.GetNextPart() );
     this.RasterOperation = (RasterOperation)SerializedPacket.DeserializeLong( p.GetNextPart() );
     this.Transparency = SerializedPacket.DeserializeByte( p.GetNextPart() );
     this.Width = SerializedPacket.DeserializeFloat( p.GetNextPart() );
 }
コード例 #12
0
 public DrawingAttributesSerializer(DrawingAttributes atts)
 {
     this.AntiAliased = atts.AntiAliased;
     this.Color = atts.Color;
     this.ExtendedProperties = new ArrayList(atts.ExtendedProperties);
     this.FitToCurve = atts.FitToCurve;
     this.Height = atts.Height;
     this.IgnorePressure = atts.IgnorePressure;
     this.PenTip = atts.PenTip;
     this.RasterOperation = atts.RasterOperation;
     this.Transparency = atts.Transparency;
     this.Width = atts.Width;
 }
コード例 #13
0
ファイル: Palette.cs プロジェクト: stndstn/InkNote
 private void pictPenRectV_Click(object sender, EventArgs e)
 {
     if (mActiveNote == null) return;
     OnInkDrawMode();
     mWidth = 100;
     mHeight = 200;
     mPenTip = PenTip.Rectangle;
     mMode = MODE.INK_DRAW;
     UpdateDrawingAttributesAndModeOfNotes();
     ActivatePaintingScreen();
 }
コード例 #14
0
ファイル: Palette.cs プロジェクト: stndstn/InkNote
 private void pictPenBallS_Click(object sender, EventArgs e)
 {
     if (mActiveNote == null) return;
     OnInkDrawMode();
     mWidth = DEFAULT_PEN_WIDTH;
     mHeight = DEFAULT_PEN_HEIGHT;
     mPenTip = PenTip.Ball;
     mMode = MODE.INK_DRAW;
     UpdateDrawingAttributesAndModeOfNotes();
     ActivatePaintingScreen();
 }
コード例 #15
0
ファイル: Palette.cs プロジェクト: stndstn/InkNote
        private void Palette_Load(object sender, EventArgs e)
        {
            mNotes = new List<FormNote>();
            string dirPath = string.Empty;
            if (Program.s_appDataDir.Length > 0)
                dirPath = Program.s_appDataDir;
            else
                dirPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\InkNote";
            try
            {
                string[] pathes = System.IO.Directory.GetFiles(dirPath, "*.ikn");
                foreach (string path in pathes)
                {
                    FormNote newNote = new FormNote(this, path);
                    newNote.MdiParent = this.MdiParent;
                    newNote.Show();
                    mActiveNote = newNote;
                    mNotes.Add(newNote);
                }
            }
            catch (Exception ex)
            {
            }

            if (mActiveNote == null)
            {
                FormNote newNote = new FormNote(this);
                newNote.MdiParent = this.MdiParent;
                newNote.Show();
                mActiveNote = newNote;
                mNotes.Add(newNote);
            }
            mColor = mActiveNote.mInkPicture.DefaultDrawingAttributes.Color;
            mWidth = mActiveNote.mInkPicture.DefaultDrawingAttributes.Width;
            mHeight = mActiveNote.mInkPicture.DefaultDrawingAttributes.Height;
            mPenTip = mActiveNote.mInkPicture.DefaultDrawingAttributes.PenTip;
            mTransparency = mActiveNote.mInkPicture.DefaultDrawingAttributes.Transparency;
            mMode = MODE.INK_DRAW;
            mActiveNote.setInkMode(mMode);
            OnInkDrawMode();
        }
コード例 #16
0
        public void UpdateValues(object model)
        {
            // Make sure both objects exist and aren't the same
            if (model != null &&
                model is PenStateModel &&
                model != this) {

                PenStateModel m = (PenStateModel)model;

                using (Synchronizer.Lock(this.SyncRoot))
                {
                    using (Synchronizer.Lock(m.SyncRoot))
                    {
                        if (this.m_PenRasterOperation != m.m_PenRasterOperation)
                            this.m_PenRasterOperation = m.m_PenRasterOperation;
                        if (this.m_PenTip != m.m_PenTip)
                            this.m_PenTip = m.m_PenTip;
                        if (this.m_PenColor != m.m_PenColor)
                            this.m_PenColor = m.m_PenColor;
                        if (this.m_PenWidth != m.m_PenWidth)
                            this.m_PenWidth = m.m_PenWidth;
                        if (this.m_PenHeight != m.m_PenHeight)
                            this.m_PenHeight = m.m_PenHeight;
                        if (this.m_HLRasterOperation != m.m_HLRasterOperation)
                            this.m_HLRasterOperation = m.m_HLRasterOperation;
                        if (this.m_HLTip != m.m_HLTip)
                            this.m_HLTip = m.m_HLTip;
                        if (this.m_HLColor != m.m_HLColor)
                            this.m_HLColor = m.m_HLColor;
                        if (this.m_HLWidth != m.m_HLWidth)
                            this.m_HLWidth = m.m_HLWidth;
                        if (this.m_HLHeight != m.m_HLHeight)
                            this.m_HLHeight = m.m_HLHeight;
                    }
                }
            }
        }