Canvas/Model.cs
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
using System.Xml;
using System.IO;
using System.Reflection;
namespace Canvas
{
public class DataModel : IModel
{
static Dictionary<string, Type> m_toolTypes = new Dictionary<string,Type>();
static public IDrawObject NewDrawObject(string objecttype)
{
if (m_toolTypes.ContainsKey(objecttype))
{
string type = m_toolTypes[objecttype].ToString();
return Assembly.GetExecutingAssembly().CreateInstance(type) as IDrawObject;
}
return null;
}
Dictionary<string, IDrawObject> m_drawObjectTypes = new Dictionary<string, IDrawObject>();
DrawTools.DrawObjectBase CreateObject(string objecttype)
{
if (m_drawObjectTypes.ContainsKey(objecttype))
{
return m_drawObjectTypes[objecttype].Clone() as DrawTools.DrawObjectBase;
}
return null;
}
Dictionary<string, IEditTool> m_editTools = new Dictionary<string, IEditTool>();
public void AddEditTool(string key, IEditTool tool)
{
m_editTools.Add(key, tool);
}
public bool IsDirty
{
get { return m_undoBuffer.Dirty; }
}
UndoRedoBuffer m_undoBuffer = new UndoRedoBuffer();
UnitPoint m_centerPoint = UnitPoint.Empty;
[XmlSerializable]
public UnitPoint CenterPoint
{
get { return m_centerPoint; }
set { m_centerPoint = value; }
}
float m_zoom = 1;
GridLayer m_gridLayer = new GridLayer();
BackgroundLayer m_backgroundLayer = new BackgroundLayer();
List<ICanvasLayer> m_layers = new List<ICanvasLayer>();
后面还有 325 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。