public override void MouseMove(System.Drawing.Point pt)
{
lastPt = pt;
int activeVertex = points.Count;
int minX = graphicView.Viewport.X, maxX = minX + graphicView.Viewport.Width;
int minY = graphicView.Viewport.Y, maxY = minY + graphicView.Viewport.Height;
lastPt.X = (lastPt.X < minX) ? minX : ((lastPt.X > maxX) ? maxX : lastPt.X);
lastPt.Y = (lastPt.Y < minY) ? minY : ((lastPt.Y > maxY) ? maxY : lastPt.Y);
// Set vertices positions
verts[activeVertex].X = lastPt.X; verts[activeVertex].Y = lastPt.Y;
// Outline...
lineVertices[activeVertex] = verts[activeVertex];
lineVertices[activeVertex + 1] = verts[0];
}