diff --git a/js/_changeTool.js b/js/_changeTool.js index 9b59317..25ebcf3 100644 --- a/js/_changeTool.js +++ b/js/_changeTool.js @@ -1,6 +1,6 @@ function changeTool (selectedTool) { // Ending any selection in progress - if (currentTool.includes("select") && !selectedTool.includes("select")) { + if (currentTool.includes("select") && !selectedTool.includes("select") && !selectionCanceled) { endSelection(); } //set tool and temp tje tje tpp; diff --git a/js/_move.js b/js/_move.js index 33ada6d..d3eef89 100644 --- a/js/_move.js +++ b/js/_move.js @@ -1,6 +1,7 @@ var imageDataToMove; var canMoveSelection = false; var lastMovePos; +var selectionCanceled = false; // TODO: move with arrows function updateMovePreview(mouseEvent) { @@ -24,12 +25,37 @@ function endSelection() { // for every element in the selected data // if the current pixel is empty // copy the pixel in the selected data - + TMPLayer.context.clearRect(0, 0, TMPLayer.canvas.width, TMPLayer.canvas.height); VFXLayer.context.clearRect(0, 0, VFXLayer.canvas.width, VFXLayer.canvas.height); + let underlyingImageData = currentLayer.context.getImageData(startX, startY, endX - startX, endY - startY); + + for (let i=0; i