using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Drawing; using System.Windows.Forms; namespace GeoSigmaViewer { public class DrawToolPie : DrawTool { private MouseMoveResult mmResult; private int clockCount; public DrawToolPie() { ToolCursor = DrawCursors.Range; ItemType = DrawItemType.ITEM_ARC; clockCount = 0; mmResult = new MouseMoveResult(); } public override void Start() { drawer.Cursor = DrawCursors.Range; drawer.Geo.Arc_SetType(2); } public override void End() { drawer.Cursor = DrawCursors.Select; } public override void OnLButtonDown(Drawer drawArea, MouseEventArgs e) { clockCount++; clockCount = clockCount % 3; drawArea.Geo.OnLButtonDown(e.X, e.Y); } public override void OnMouseMove(Drawer drawArea, MouseEventArgs e) { if (clockCount != 0) { Graphics g = drawArea.CreateGraphics(); drawArea.Geo.ItemMouseMove(g.GetHdc(), e.X, e.Y, ref mmResult); } } public override void OnLButtonUp(Drawer drawArea, MouseEventArgs e) { drawArea.Geo.OnLButtonUp(e.X, e.Y); drawArea.Geo.EnableRedraw(true); drawArea.ReDraw(); } } }