36 lines
931 B
C#
36 lines
931 B
C#
|
|
using Io.Github.Kerwinxu.LibShapes.Core.Shape;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
|
|||
|
|
namespace Io.Github.Kerwinxu.LibShapes.Core.Command
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 形状方面的命令。
|
|||
|
|
/// </summary>
|
|||
|
|
public abstract class ShapeCommand: ICommand
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 原先的形状
|
|||
|
|
/// </summary>
|
|||
|
|
public ShapeEle OldShape { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 新的形状
|
|||
|
|
/// </summary>
|
|||
|
|
public ShapeEle NewShape { get; set; }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 画布
|
|||
|
|
/// </summary>
|
|||
|
|
public UserControlCanvas canvas { get; set; }
|
|||
|
|
|
|||
|
|
// 如下是两个操作。
|
|||
|
|
|
|||
|
|
public virtual void Undo() { this.canvas.shapes.replaceShape(this.OldShape.ID, this.NewShape); }
|
|||
|
|
|
|||
|
|
public virtual void Redo() { this.canvas.shapes.replaceShape(this.OldShape.ID, this.OldShape); }
|
|||
|
|
}
|
|||
|
|
}
|