let keepRatio = true; let currentRatio; let currentAlgo = 'nearest-neighbor'; let data = {width: 0, height: 0, widthPercentage: 100, heightPercentage: 100}; let startData = {width: 0, height:0, widthPercentage: 100, heightPercentage: 100}; function openResizeSpriteWindow() { initResizeSpriteInputs(); currentRatio = layers[0].canvasSize[0] / layers[0].canvasSize[1]; data.width = layers[0].canvasSize[0]; data.height = layers[1].canvasSize[1]; startData.width = parseInt(data.width); startData.height = parseInt(data.height); startData.heightPercentage = 100; startData.widthPercentage = 100; showDialogue('resize-sprite'); } function initResizeSpriteInputs() { document.getElementById("rs-width").value = layers[0].canvasSize[0]; document.getElementById("rs-height").value = layers[0].canvasSize[1]; document.getElementById("rs-width-percentage").value = 100; document.getElementById("rs-height-percentage").value = 100; document.getElementById("rs-keep-ratio").checked = true; document.getElementById("rs-width").addEventListener("change", changedWidth); document.getElementById("rs-height").addEventListener("change", changedHeight); document.getElementById("rs-width-percentage").addEventListener("change", changedWidthPercentage); document.getElementById("rs-height-percentage").addEventListener("change", changedHeightPercentage); document.getElementById("resize-sprite-confirm").addEventListener("click", resizeSprite); document.getElementById("rs-keep-ratio").addEventListener("click", toggleRatio); document.getElementById("resize-algorithm-combobox").addEventListener("change", changedAlgorithm); } function resizeSprite(event, ratio) { let oldWidth, oldHeight; let newWidth, newHeight; let rsImageDatas = []; let layerIndex = 0; let imageDatasCopy = []; oldWidth = layers[0].canvasSize[0]; oldHeight = layers[1].canvasSize[1]; rcPivot = "middle"; // Updating values if the user didn't press enter switch (document.activeElement.id) { case "rs-width-percentage": changedWidthPercentage(); break; case "rs-width": changedWidth(); break; case "rs-height-percentage": changedHeightPercentage(); break; case "rs-height": changedHeight(); break; default: // In this case everything has been updated correctly break; } if (ratio == null) { newWidth = data.width; newHeight = data.height; } else { newWidth = layers[0].canvasSize[0] * ratio[0]; newHeight = layers[1].canvasSize[1] * ratio[1]; } // Get all the image datas for (let i=0; i