111
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import { isBoolean } from "lodash-es";
|
||||
import { OperationType, OperationTypes } from "../../tools/layerHelper";
|
||||
import { RectToolManager } from "../RectToolManager"
|
||||
import { AISelectboxToolManager } from "../AISelectboxToolManager"
|
||||
|
||||
|
||||
export class CanvasEventManager {
|
||||
constructor(canvas, options = {}) {
|
||||
@@ -31,6 +33,7 @@ export class CanvasEventManager {
|
||||
layerManager: this.layerManager,
|
||||
}
|
||||
this.rectToolManager = new RectToolManager(managers)
|
||||
this.aiSelectboxToolManager = new AISelectboxToolManager(managers)
|
||||
|
||||
// 初始化所有事件
|
||||
this.initEvents();
|
||||
@@ -205,6 +208,7 @@ export class CanvasEventManager {
|
||||
// 橡皮擦模式
|
||||
} else if (currentTool === OperationType.SELECTBOX) {
|
||||
// 选择框模式
|
||||
this.aiSelectboxToolManager.mouseDownEvent(opt);
|
||||
} else if (currentTool === OperationType.RECTANGLE) {
|
||||
// 矩形模式
|
||||
this.rectToolManager.mouseDownEvent(opt);
|
||||
@@ -232,6 +236,7 @@ export class CanvasEventManager {
|
||||
// 橡皮擦模式
|
||||
} else if (currentTool === OperationType.SELECTBOX) {
|
||||
// 选择框模式
|
||||
this.aiSelectboxToolManager.mouseMoveEvent(opt);
|
||||
} else if (currentTool === OperationType.RECTANGLE) {
|
||||
// 矩形模式
|
||||
this.rectToolManager.mouseMoveEvent(opt);
|
||||
@@ -315,6 +320,7 @@ export class CanvasEventManager {
|
||||
// 橡皮擦模式
|
||||
} else if (currentTool === OperationType.SELECTBOX) {
|
||||
// 选择框模式
|
||||
this.aiSelectboxToolManager.mouseUpEvent(opt);
|
||||
} else if (currentTool === OperationType.RECTANGLE) {
|
||||
// 矩形模式
|
||||
this.rectToolManager.mouseDownEvent(opt);
|
||||
@@ -379,6 +385,7 @@ export class CanvasEventManager {
|
||||
// 橡皮擦模式
|
||||
} else if (currentTool === OperationType.SELECTBOX) {
|
||||
// 选择框模式
|
||||
this.aiSelectboxToolManager.mouseMoveEvent(opt);
|
||||
} else if (currentTool === OperationType.RECTANGLE) {
|
||||
// 矩形模式
|
||||
this.rectToolManager.mouseMoveEvent(opt);
|
||||
@@ -488,6 +495,7 @@ export class CanvasEventManager {
|
||||
// 橡皮擦模式
|
||||
} else if (currentTool === OperationType.SELECTBOX) {
|
||||
// 选择框模式
|
||||
this.aiSelectboxToolManager.mouseUpEvent(opt);
|
||||
} else if (currentTool === OperationType.RECTANGLE) {
|
||||
// 矩形模式
|
||||
this.rectToolManager.mouseUpEvent(opt);
|
||||
@@ -659,6 +667,7 @@ export class CanvasEventManager {
|
||||
// 橡皮擦模式
|
||||
} else if (currentTool === OperationType.SELECTBOX) {
|
||||
// 选择框模式
|
||||
this.aiSelectboxToolManager.mouseUpEvent(opt);
|
||||
} else if (currentTool === OperationType.RECTANGLE) {
|
||||
// 矩形模式
|
||||
this.rectToolManager.mouseUpEvent(opt);
|
||||
@@ -722,6 +731,7 @@ export class CanvasEventManager {
|
||||
this.canvas.on("object:modified", (e) => {
|
||||
updateLayers(e);
|
||||
this.stateManager.recordState();
|
||||
this.layerManager.updateLayerThumbnailsById(e.target.info.id);
|
||||
});
|
||||
this.canvas.on("object:removed", (e) => {
|
||||
updateLayers(e);
|
||||
@@ -1065,6 +1075,7 @@ export class CanvasEventManager {
|
||||
|
||||
dispose() {
|
||||
this.rectToolManager?.dispose()
|
||||
this.aiSelectboxToolManager?.dispose()
|
||||
// 移除所有事件监听
|
||||
this.canvas.off();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user