Fixed more bugs 🆒 🆒

This commit is contained in:
unsettledgames 2020-03-15 17:11:00 +01:00
parent 7dec2f1490
commit ab0b3e81e3
4 changed files with 20 additions and 10 deletions

View File

@ -2,6 +2,7 @@ function changeTool (selectedTool) {
// Ending any selection in progress
if (currentTool.includes("select") && !selectedTool.includes("select") && !selectionCanceled) {
endSelection();
console.log("FINISCO");
}
//set tool and temp tje tje tpp;
currentTool = selectedTool;

View File

@ -23,6 +23,12 @@ window.addEventListener("mousedown", function (mouseEvent) {
currentTool = 'eyedropper';
else if (mouseEvent.target.className == 'drawingCanvas' && (currentTool == 'pencil' || currentTool == 'eraser'))
new HistoryStateEditCanvas();
else if (currentTool == 'moveselection') {
if (!cursorInSelectedArea()) {
changeTool('pencil');
undo();
}
}
//saveHistoryState({type: 'canvas', canvas: context.getImageData(0, 0, canvasSize[0], canvasSize[1])});
updateCursor();

View File

@ -1,4 +1,5 @@
var imageDataToMove;
var originalDataPosition;
var canMoveSelection = false;
var lastMovePos;
var selectionCanceled = false;
@ -19,13 +20,6 @@ function updateMovePreview(mouseEvent) {
}
function endSelection() {
// We have to make something smarter:
// Take the selected data
// Take the data underlying the selected data
// 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);
@ -52,10 +46,19 @@ function endSelection() {
}
}
currentLayer.context.putImageData(
if (lastMovePos !== undefined) {
currentLayer.context.putImageData(
imageDataToMove,
Math.round(lastMovePos[0] / zoom - imageDataToMove.width / 2),
Math.round(lastMovePos[1] / zoom - imageDataToMove.height / 2));
}
else {
currentLayer.context.putImageData(
imageDataToMove,
originalDataPosition[0],
originalDataPosition[1]);
}
selectionCanceled = true;
isRectSelecting = false;
}

View File

@ -71,10 +71,10 @@ function endRectSelection(mouseEvent) {
// Selecting the move tool
currentTool = 'moveselection';
currentToolTemp = currentTool;
originalDataPosition = [startX, startY];
// Updating the cursor
updateCursor();
//currentLayer.context.putImageData(imageData, startX, startY);
}
function drawRect(x, y) {