画布 部件选取、印花禁用多选
This commit is contained in:
56
src/component/Canvas/CanvasEditor/commands/PartCommands.js
Normal file
56
src/component/Canvas/CanvasEditor/commands/PartCommands.js
Normal file
@@ -0,0 +1,56 @@
|
||||
import { Command } from "./Command.js";
|
||||
|
||||
/**
|
||||
* 部件绘制命令
|
||||
*/
|
||||
export class PartDrawCommand extends Command {
|
||||
constructor(options) {
|
||||
super({
|
||||
name: "部件绘制命令",
|
||||
saveState: false,
|
||||
});
|
||||
|
||||
this.canvas = options.canvas;
|
||||
this.partManager = options.partManager;
|
||||
this.partCanvas = options.partCanvas;
|
||||
this.oldPartCanvas = this.partManager.partCanvas;
|
||||
}
|
||||
execute() {
|
||||
this.partManager.drawPartCanvas(this.partCanvas);
|
||||
return true;
|
||||
}
|
||||
undo() {
|
||||
this.partManager.drawPartCanvas(this.oldPartCanvas);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 部件点选绘制命令
|
||||
*/
|
||||
export class PartPointDrawCommand extends Command {
|
||||
constructor(options) {
|
||||
super({
|
||||
name: "部件点选绘制命令",
|
||||
saveState: false,
|
||||
});
|
||||
|
||||
this.canvas = options.canvas;
|
||||
this.partManager = options.partManager;
|
||||
this.partCanvas = options.partCanvas;
|
||||
this.pointList = options.pointList;
|
||||
this.oldPartCanvas = this.partManager.partCanvas;
|
||||
this.oldPointList = [...this.partManager.pointList];
|
||||
}
|
||||
async execute() {
|
||||
const list = [...this.pointList];
|
||||
const canvas = this.partCanvas;
|
||||
const res = await this.partManager.pointDrawPartCanvas(list, canvas);
|
||||
return res;
|
||||
}
|
||||
async undo() {
|
||||
const list = [...this.oldPointList];
|
||||
const canvas = this.oldPartCanvas;
|
||||
const res = await this.partManager.pointDrawPartCanvas(list, canvas);
|
||||
return res;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user