31 lines
828 B
JavaScript
31 lines
828 B
JavaScript
|
|
import { FillLayerBackgroundCommand } from "../commands/FillLayerBackgroundCommand";
|
||
|
|
|
||
|
|
export class BackgroundFillManager {
|
||
|
|
constructor({ canvas, layers, commandManager, canvasManager }) {
|
||
|
|
this.canvas = canvas;
|
||
|
|
this.layers = layers;
|
||
|
|
this.commandManager = commandManager;
|
||
|
|
this.canvasManager = canvasManager;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 填充指定图层背景
|
||
|
|
* @param {string} layerId 图层ID
|
||
|
|
* @param {string} fillColor 填充颜色
|
||
|
|
*/
|
||
|
|
async fillLayerBackground(layerId, fillColor) {
|
||
|
|
const command = new FillLayerBackgroundCommand({
|
||
|
|
canvas: this.canvas,
|
||
|
|
layers: this.layers,
|
||
|
|
layerId,
|
||
|
|
fillColor,
|
||
|
|
canvasManager: this.canvasManager,
|
||
|
|
});
|
||
|
|
if (this.commandManager) {
|
||
|
|
await this.commandManager.execute(command);
|
||
|
|
} else {
|
||
|
|
await command.execute();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|