using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Input; namespace XHandler.Controls.DrawCanvas { /// /// 绘制工具接口 /// public interface IDrawTool { /// /// 触摸Id,用于分辨多点触摸,0表示鼠标 /// Int32 TouchId { get; } /// /// 是否可以处理鼠标进入事件 /// Boolean CanTouchEnter { get; } /// /// 处理鼠标进入事件 /// /// 相对画布的点 /// 事件是否已处理 Boolean OnTouchEnter(Point point); /// /// 是否可以处理鼠标离开事件 /// Boolean CanTouchLeave { get; } /// /// 处理鼠标离开事件 /// /// 相对画布的点 /// 事件是否已处理 Boolean OnTouchLeave(Point point); /// /// 是否可以处理鼠标按下事件 /// Boolean CanTouchDown { get; } /// /// 执行鼠标按下事件 /// /// 触摸Id,用于分辨多点触摸,0表示鼠标 /// 相对画布的点 /// 事件是否已处理 Boolean OnTouchDown(Int32 touchId, Point point); /// /// 是否可以处理鼠标移动事件 /// Boolean CanTouchMove { get; } /// /// 执行鼠标移动事件 /// /// 相对画布的点 /// 事件是否已处理 Boolean OnTouchMove(Point point); /// /// 是否可以处理鼠标弹起事件 /// Boolean CanTouchUp { get; } /// /// 执行鼠标弹起事件 /// /// 相对画布的点 /// 事件是否已处理 Boolean OnTouchUp(Point point); /// /// 是否可以处理键盘按下事件 /// Boolean CanKeyDown { get; } /// /// 处理键盘按下事件 /// /// /// 事件是否已处理 Boolean OnKeyDown(Key key); /// /// 是否可以处理键盘弹起事件 /// Boolean CanKeyUp { get; } /// /// 处理键盘弹起事件 /// /// /// 事件是否已处理 Boolean OnKeyUp(Key key); /// /// 是否结束 /// Boolean IsFinish { get; } /// /// 画图工具类型 /// DrawToolType DrawingToolType { get; } } }