Refactor canvas interactions and update keyboard shortcuts

Reorganizes mouse and keyboard event handling in CanvasInteractions for clearer priority and improved usability. Adds global keyboard shortcuts for undo, redo, copy, and paste. Updates context-sensitive shortcuts to support both Delete and Backspace for layer removal. Refactors CanvasLayers to use delayed state saving via requestSaveState. Updates CanvasView shortcut documentation to reflect these changes and clarify mouse/keyboard actions.
This commit is contained in:
Dariusz L
2025-07-02 09:16:16 +02:00
parent ef01be3323
commit 244d48728c
3 changed files with 68 additions and 30 deletions

View File

@@ -275,7 +275,7 @@ export class CanvasLayers {
}
this.canvas.render();
this.canvas.saveState();
this.canvas.requestSaveState(); // Użyj opóźnionego zapisu
log.info(`Moved ${layersToMove.length} layer(s).`);
}
@@ -301,7 +301,7 @@ export class CanvasLayers {
layer.height *= scale;
});
this.canvas.render();
this.canvas.saveState();
this.canvas.requestSaveState(); // Użyj opóźnionego zapisu
}
/**
@@ -315,7 +315,7 @@ export class CanvasLayers {
layer.rotation += angle;
});
this.canvas.render();
this.canvas.saveState();
this.canvas.requestSaveState(); // Użyj opóźnionego zapisu
}
getLayerAtPosition(worldX, worldY) {
@@ -371,7 +371,7 @@ export class CanvasLayers {
await Promise.all(promises);
this.canvas.render();
this.canvas.saveState();
this.canvas.requestSaveState(); // Użyj opóźnionego zapisu
}
async mirrorVertical() {
@@ -399,7 +399,7 @@ export class CanvasLayers {
await Promise.all(promises);
this.canvas.render();
this.canvas.saveState();
this.canvas.requestSaveState(); // Użyj opóźnionego zapisu
}
async getLayerImageData(layer) {