2020-07-23 00:29:27 +03:00
|
|
|
let resizeCanvasContainer = document.getElementById("resize-canvas");
|
2020-09-13 12:58:46 +03:00
|
|
|
let pivot = "middle";
|
|
|
|
let resizeCanvasInitialized = false;
|
|
|
|
let borders = {left: 0, right: 0, top: 0, bottom: 0};
|
2020-07-23 00:29:27 +03:00
|
|
|
|
|
|
|
function openResizeCanvasWindow() {
|
2020-09-13 12:58:46 +03:00
|
|
|
if (!resizeCanvasInitialized) {
|
|
|
|
resizeCanvasInitialized = true;
|
|
|
|
initResizeCanvasInputs();
|
|
|
|
}
|
2020-07-23 00:29:27 +03:00
|
|
|
showDialogue('resize-canvas');
|
2020-09-13 12:21:23 +03:00
|
|
|
}
|
|
|
|
|
2020-09-13 12:58:46 +03:00
|
|
|
function initResizeCanvasInputs() {
|
2020-09-13 12:21:23 +03:00
|
|
|
let buttons = document.getElementsByClassName("pivot-button");
|
|
|
|
|
|
|
|
for (let i=0; i<buttons.length; i++) {
|
|
|
|
buttons[i].addEventListener("click", changePivot);
|
|
|
|
}
|
2020-09-13 12:58:46 +03:00
|
|
|
|
|
|
|
document.getElementById("resize-canvas-confirm").addEventListener("click", resizeCanvas);
|
|
|
|
}
|
|
|
|
|
|
|
|
function resizeCanvas(event) {
|
2020-09-13 13:11:08 +03:00
|
|
|
let imageDatas = [];
|
|
|
|
rcUpdateBorders();
|
|
|
|
|
|
|
|
// Save all imageDatas
|
|
|
|
for (let i=0; i<layers.length; i++) {
|
|
|
|
if (layers[i].menuEntry != null) {
|
|
|
|
imageDatas.push(layers[i].context.getImageData(0, 0, layers[i].canvasSize[0], layers[i].canvasSize[1]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Resize the canvases
|
|
|
|
for (let i=0; i<layers.length; i++) {
|
|
|
|
layers[i].canvasSize[0] += borders.left + borders.right;
|
|
|
|
layers[i].canvasSize[1] += borders.top + borders.bottom;
|
|
|
|
|
|
|
|
layers[i].canvas.width = layers[i].canvasSize[0];
|
|
|
|
layers[i].canvas.height = layers[i].canvasSize[1];
|
|
|
|
}
|
|
|
|
// Clear the canvases
|
|
|
|
|
|
|
|
// Put the imageDatas in the right position
|
|
|
|
// Must crop the imageDatas if the canvas has being reduced
|
2020-09-13 12:58:46 +03:00
|
|
|
}
|
|
|
|
|
2020-09-13 13:11:08 +03:00
|
|
|
function rcUpdateBorders() {
|
2020-09-13 12:58:46 +03:00
|
|
|
console.log(document.getElementById("rc-border-left").value);
|
|
|
|
|
|
|
|
// Getting input
|
|
|
|
borders.left = document.getElementById("rc-border-left").value;
|
|
|
|
borders.right = document.getElementById("rc-border-right").value;
|
|
|
|
borders.top = document.getElementById("rc-border-top").value;
|
|
|
|
borders.bottom = document.getElementById("rc-border-bottom").value;
|
|
|
|
|
|
|
|
// Validating input
|
|
|
|
borders.left == "" ? borders.left = 0 : borders.left = Math.round(parseInt(borders.left));
|
|
|
|
borders.right == "" ? borders.right = 0 : borders.right = Math.round(parseInt(borders.right));
|
|
|
|
borders.top == "" ? borders.top = 0 : borders.top = Math.round(parseInt(borders.top));
|
|
|
|
borders.bottom == "" ? borders.bottom = 0 : borders.bottom = Math.round(parseInt(borders.bottom));
|
|
|
|
|
|
|
|
console.log(borders);
|
2020-09-13 12:21:23 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
function changePivot(event) {
|
2020-09-13 12:58:46 +03:00
|
|
|
pivot = event.target.getAttribute("value");
|
2020-07-23 00:29:27 +03:00
|
|
|
}
|
|
|
|
|