protected virtual CaptureMouseMoveEventArgs CreateArgs() { CaptureMouseMoveEventArgs e = new CaptureMouseMoveEventArgs( this, this.myStartPosition, this.myCurrentPosition); return(e); }
protected virtual void OnDraw(bool ResumeView) { if (this.ReversibleShape == ReversibleShapeStyle.Custom) { if (Draw != null) { CaptureMouseMoveEventArgs args = this.CreateArgs(); args.ResumeView = ResumeView; Draw(this, args); } } else { ReversibleDrawer drawer = null; if (myBindControl == null) { drawer = ReversibleDrawer.FromScreen(); } else { drawer = ReversibleDrawer.FromHwnd(myBindControl.Handle); } drawer.PenStyle = PenStyle.PS_SOLID; drawer.PenColor = Color.White; drawer.LineWidth = 1; Rectangle rect = GetRectangle(this.StartPosition, this.CurrentPosition); switch (this.ReversibleShape) { case ReversibleShapeStyle.Rectangle: drawer.DrawRectangle(rect); break; case ReversibleShapeStyle.Ellipse: drawer.DrawEllipse(rect); break; case ReversibleShapeStyle.Line: drawer.DrawLine(this.StartPosition, this.CurrentPosition); break; case ReversibleShapeStyle.FillRectangle: drawer.FillRectangle(rect); break; } drawer.Dispose(); } }