DrawToolsRedux/ToolObject.cs

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Windows.Forms;

namespace DrawTools
{
	/// <summary>
	/// Base class for all tools which create new graphic object
	/// </summary>
	internal abstract class ToolObject : Tool
	{
		private Cursor cursor;

		/// <summary>
		/// Tool cursor.
		/// </summary>
		protected Cursor Cursor
		{
			get { return cursor; }
			set { cursor = value; }
		}


		/// <summary>
		/// Left mouse is released.
		/// New object is created and resized.
		/// </summary>
		/// <param name="drawArea"></param>
		/// <param name="e"></param>
		public override void OnMouseUp(DrawArea drawArea, MouseEventArgs e)
		{
			int al = drawArea.TheLayers.ActiveLayerIndex;
			if (drawArea.TheLayers[al].Graphics.Count > 0)
				drawArea.TheLayers[al].Graphics[0].Normalize();
			//drawArea.ActiveTool = DrawArea.DrawToolType.Pointer;

			drawArea.Capture = false;
			drawArea.Refresh();
		}

		/// <summary>
		/// Add new object to draw area.
		/// Function is called when user left-clicks draw area,
		/// and one of ToolObject-derived tools is active.
		/// </summary>
		/// <param name="drawArea"></param>
		/// <param name="o"></param>
		protected void AddNewObject(DrawArea drawArea, DrawObject o)
		{
			int al = drawArea.TheLayers.ActiveLayerIndex;
			drawArea.TheLayers[al].Graphics.UnselectAll();

			o.Selected = true;
			o.Dirty = true;
			int objectID = 0;
			// Set the object id now
			for (int i = 0; i < drawArea.TheLayers.Count; i++)
			{
				objectID = +drawArea.TheLayers[i].Graphics.Count;
			}
			objectID++;
			o.ID = objectID;
后面还有 7 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。