Canvas/CanvasCtrl/CanvasInterfaces.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
namespace Canvas
{
public interface ICanvasOwner
{
void SetPositionInfo(UnitPoint unitpos);
void SetSnapInfo(ISnapPoint snap);
}
public interface ICanvas
{
IModel DataModel { get; }
UnitPoint ScreenTopLeftToUnitPoint();
UnitPoint ScreenBottomRightToUnitPoint();
PointF ToScreen(UnitPoint unitpoint);
float ToScreen(double unitvalue);
double ToUnit(float screenvalue);
UnitPoint ToUnit(PointF screenpoint);
void Invalidate();
IDrawObject CurrentObject { get; }
Rectangle ClientRectangle { get; }
Graphics Graphics { get; }
Pen CreatePen(Color color, float unitWidth);
void DrawLine(ICanvas canvas, Pen pen, UnitPoint p1, UnitPoint p2);
void DrawArc(ICanvas canvas, Pen pen, UnitPoint center, float radius, float beginangle, float angle);
}
public interface IModel
{
float Zoom { get; set; }
ICanvasLayer BackgroundLayer { get; }
ICanvasLayer GridLayer { get; }
ICanvasLayer[] Layers { get; }
ICanvasLayer ActiveLayer { get; set; }
ICanvasLayer GetLayer(string id);
IDrawObject CreateObject(string type, UnitPoint point, ISnapPoint snappoint);
void AddObject(ICanvasLayer layer, IDrawObject drawobject);
void DeleteObjects(IEnumerable<IDrawObject> objects);
void MoveObjects(UnitPoint offset, IEnumerable<IDrawObject> objects);
void CopyObjects(UnitPoint offset, IEnumerable<IDrawObject> objects);
void MoveNodes(UnitPoint position, IEnumerable<INodePoint> nodes);
IEditTool GetEditTool(string id);
void AfterEditObjects(IEditTool edittool);
List<IDrawObject> GetHitObjects(ICanvas canvas, RectangleF selection, bool anyPoint);
List<IDrawObject> GetHitObjects(ICanvas canvas, UnitPoint point);
bool IsSelected(IDrawObject drawobject);
void AddSelectedObject(IDrawObject drawobject);
void RemoveSelectedObject(IDrawObject drawobject);
IEnumerable<IDrawObject> SelectedObjects { get; }
int SelectedCount { get; }
void ClearSelectedObjects();
ISnapPoint SnapPoint(ICanvas canvas, UnitPoint point, Type[] runningsnaptypes, Type usersnaptype);
后面还有 78 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。