/// <summary> /// Mouse move - resize new polygon /// </summary> /// <param name="drawArea"></param> /// <param name="e"></param> public override void OnMouseMove(DrawArea drawArea, MouseEventArgs e) { drawArea.Cursor = Cursor; if (e.Button != MouseButtons.Left) { return; } if (newPolygon == null) { return; // precaution } Point point = new Point(e.X, e.Y); int distance = (e.X - lastX) * (e.X - lastX) + (e.Y - lastY) * (e.Y - lastY); if (distance < minDistance) { // Distance between last two points is less than minimum - // move last point newPolygon.MoveHandleTo(point, newPolygon.HandleCount); } else { // Add new point newPolygon.AddPoint(point); lastX = e.X; lastY = e.Y; } drawArea.Refresh(); }
/// <summary> /// Mouse move - resize new polygon /// </summary> /// <param name="drawArea"></param> /// <param name="e"></param> public override void OnMouseMove(DrawArea drawArea, MouseEventArgs e) { drawArea.Cursor = Cursor; if (e.Button != MouseButtons.Left) { return; } if (newPolyLine == null) { return; // precaution } Point point = drawArea.BackTrackMouse(new Point(e.X, e.Y)); // move last point newPolyLine.MoveHandleTo(point, newPolyLine.HandleCount); drawArea.Invalidate(); }
/// <summary> /// Mouse move - resize new polygon /// </summary> /// <param name="drawArea"></param> /// <param name="e"></param> public override void OnMouseMove(DrawArea drawArea, MouseEventArgs e) { drawArea.Cursor = Cursor; if (e.Button != MouseButtons.Left) { return; } if (_newPolygon == null) { return; // precaution } var point = new Point(e.X, e.Y); int distance = (e.X - _lastX) * (e.X - _lastX) + (e.Y - _lastY) * (e.Y - _lastY); try { if (distance < MinDistance) { // Distance between last two points is less than minimum - // move last point _newPolygon.MoveHandleTo(point, _newPolygon.HandleCount); } else { // Add new point _newPolygon.AddPoint(point); _lastX = e.X; _lastY = e.Y; } drawArea.Refresh(); } catch (Exception ex) { ErrH.Log("ToolPolygon", "OnMouse", ex.ToString(), ErrH._LogPriority.Info); } }
/// <summary> /// Mouse move - resize new polygon /// </summary> /// <param name="drawArea"></param> /// <param name="e"></param> public override void OnMouseMove(ImageDrawBox drawArea, MouseEventArgs e) { Point p = GetEventPointInArea(drawArea, e); drawArea.Cursor = Cursor; if (e.Button != MouseButtons.Left) { return; } if (newPolygon == null) { return; // precaution } Point point = new Point(p.X, p.Y); int distance = (p.X - lastX) * (p.X - lastX) + (p.Y - lastY) * (p.Y - lastY); if (distance < minDistance) { // Distance between last two points is less than minimum - // move last pointscroll newPolygon.MoveHandleTo(point, newPolygon.HandleCount); drawArea.GraphicsList.Dirty = true; } else { // Add new pointscroll newPolygon.AddPoint(point); lastX = p.X; lastY = p.Y; drawArea.GraphicsList.Dirty = true; } drawArea.Refresh(); }