Canvas/EditTools/LineShrinkExtendEditTool.cs

(开头部分) 6KB

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

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace Canvas.EditTools
{
	class LineShrinkExtendEditTool : IEditTool
	{
		IEditToolOwner m_owner;
		public LineShrinkExtendEditTool(IEditToolOwner owner)
		{
			m_owner = owner;
			SetHint("Select line to extend");
		}
		void SetHint(string text)
		{
			if (m_owner != null)
				if (text.Length > 0)
					m_owner.SetHint("Extend Lines: " + text);
				else
					m_owner.SetHint("");
		}
		public IEditTool Clone()
		{
			LineShrinkExtendEditTool t = new LineShrinkExtendEditTool(m_owner);
			// nothing that needs to be cloned
			return t;
		}
		Dictionary<DrawTools.Line, LinePoints> m_originalLines = new Dictionary<DrawTools.Line, LinePoints>();
		Dictionary<DrawTools.Line, LinePoints> m_modifiedLines = new Dictionary<DrawTools.Line, LinePoints>();

		public void OnMouseMove(ICanvas canvas, UnitPoint point)
		{
		}

		public bool SupportSelection
		{
			get { return true; }
		}

		void ClearAll()
		{
			foreach (LinePoints p in m_originalLines.Values)
				p.Line.Highlighted = false;
			m_originalLines.Clear();
		}
		void AddLine(UnitPoint point, DrawTools.Line line)
		{
			if (m_originalLines.ContainsKey(line) == false)
			{
				line.Highlighted = true;
				LinePoints lp = new LinePoints();
				lp.SetLine(line);
				lp.MousePoint = point;
				m_originalLines.Add(line, lp);
			}
		}
		void RemoveLine(DrawTools.Line line)
		{
后面还有 167 行代码,解锁后查看完整代码

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

AI 解读 AI

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

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