/// <summary> /// Fires the OnBufferChanged event /// </summary> /// <param name="clipRectangles">The System.Drawing.Rectangle in pixels</param> protected virtual void OnBufferChanged(List<Rectangle> clipRectangles) { if (BufferChanged != null) { ClipArgs e = new ClipArgs(clipRectangles); BufferChanged(this, e); } }
private void MapFrame_BufferChanged(object sender, ClipArgs e) { Rectangle view = MapFrame.View; foreach (Rectangle clip in e.ClipRectangles) { if (clip.IsEmpty == false) { Rectangle mapClip = new Rectangle(clip.X - view.X, clip.Y - view.Y, clip.Width, clip.Height); Invalidate(mapClip); } } }
///// <summary> ///// Occurs when wiring events ///// </summary> ///// <param name="item"></param> //protected override void OnInclude(ILayer item) //{ // IMapLayer gl = item as IMapLayer; // if (gl != null) // { // gl.BufferChanged += new System.EventHandler<ClipArgs>(gl_BufferChanged); // } // base.OnInclude(item); //} ///// <summary> ///// Occurs when unwiring events ///// </summary> ///// <param name="item"></param> //protected override void OnExclude(ILayer item) //{ // IMapLayer gl = item as IMapLayer; // if (gl != null) // { // gl.BufferChanged -= new System.EventHandler<ClipArgs>(gl_BufferChanged); // } // base.OnExclude(item); //} //void gl_BufferChanged(object sender, ClipArgs e) //{ // OnBufferChanged(sender, e); //} /// <summary> /// This simply forwards the call from a layer to the container /// of this collection (like a MapFrame). /// </summary> /// <param name="sender">The layer that actually changed</param> /// <param name="e"></param> protected virtual void OnBufferChanged(object sender, ClipArgs e) { if (BufferChanged != null) BufferChanged(sender, e); }