using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Io.Github.Kerwinxu.LibShapes.Core.State { public abstract class State { /// /// 画布 /// public UserControlCanvas canvas { get; set; } public PointF startPoint { get; set; } public State(UserControlCanvas canvas, PointF start_pointF) { this.canvas = canvas; this.startPoint = start_pointF; } public State(UserControlCanvas canvas) { this.canvas = canvas; } public virtual void LeftMouseDown(PointF pointF) { } public virtual void LeftMouseMove(PointF pointF) { } public virtual void LeftMouseUp(PointF pointF) {} public virtual void RightMouseClick(PointF pointF) { } /// /// 将画布的坐标转成虚拟的坐标 /// /// /// protected PointF cantosPointToVirtualPoint(PointF pointF) { return this.canvas.shapes.pointTransform.CanvasToVirtualPoint(pointF); } } }