Update script.js
Browse files
script.js
CHANGED
|
@@ -34,6 +34,11 @@ const previewImg = document.getElementById('preview-img');
|
|
| 34 |
const layersList = document.getElementById('layers-list');
|
| 35 |
|
| 36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
// ์บ๋ฒ์ค ๊ธฐ๋ณธ ํฌ๊ธฐ
|
| 38 |
const CANVAS_WIDTH = 800;
|
| 39 |
const CANVAS_HEIGHT = 600;
|
|
@@ -298,6 +303,11 @@ function updateLayersList() {
|
|
| 298 |
if (!layersList) return; // layersList ์์๊ฐ ์์ผ๋ฉด ํจ์ ์ข
๋ฃ
|
| 299 |
layersList.innerHTML = ''; // ๋ชฉ๋ก ์ด๊ธฐํ
|
| 300 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 301 |
if (overlays.length === 0) {
|
| 302 |
const emptyMsg = document.createElement('div');
|
| 303 |
emptyMsg.style.padding = '8px';
|
|
@@ -343,6 +353,18 @@ function updateLayersList() {
|
|
| 343 |
layerControls.appendChild(downButton);
|
| 344 |
}
|
| 345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 346 |
|
| 347 |
// ๋ ์ด์ด ํญ๋ชฉ ํด๋ฆญ ์ ํด๋น ๋ ์ด์ด ํ์ฑํ
|
| 348 |
layerItem.addEventListener('click', function() {
|
|
@@ -659,22 +681,21 @@ function generateMergedImage() {
|
|
| 659 |
// ์ ํ๋ ๋ ์ด์ด ์ญ์
|
| 660 |
function deleteSelectedLayer() {
|
| 661 |
if (activeOverlayIndex >= 0) {
|
| 662 |
-
//
|
| 663 |
-
|
| 664 |
-
|
|
|
|
|
|
|
| 665 |
|
| 666 |
-
|
| 667 |
-
|
| 668 |
-
|
| 669 |
|
| 670 |
-
|
| 671 |
-
|
| 672 |
-
|
|
|
|
| 673 |
}
|
| 674 |
-
// else {
|
| 675 |
-
// // ์ญ์ ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์
๋ฐ์ดํธ (์ ํ ์ฌํญ)
|
| 676 |
-
// generateMergedImage();
|
| 677 |
-
// }
|
| 678 |
}
|
| 679 |
}
|
| 680 |
|
|
@@ -722,6 +743,12 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
| 722 |
}
|
| 723 |
});
|
| 724 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 725 |
// ์ค๋ฒ๋ ์ด ์ด๋ฏธ์ง ์
๋ก๋ ์ด๋ฒคํธ ๋ฆฌ์ค๋
|
| 726 |
overlayInput.addEventListener('change', function(e) {
|
| 727 |
if (e.target.files.length > 0) {
|
|
|
|
| 34 |
const layersList = document.getElementById('layers-list');
|
| 35 |
|
| 36 |
|
| 37 |
+
const resetAllBtn = document.getElementById('reset-all-btn');
|
| 38 |
+
const downloadBtn = document.getElementById('download-btn');
|
| 39 |
+
const deleteLayerBtn = document.getElementById('delete-layer-btn'); // ์ถ๊ฐ
|
| 40 |
+
|
| 41 |
+
|
| 42 |
// ์บ๋ฒ์ค ๊ธฐ๋ณธ ํฌ๊ธฐ
|
| 43 |
const CANVAS_WIDTH = 800;
|
| 44 |
const CANVAS_HEIGHT = 600;
|
|
|
|
| 303 |
if (!layersList) return; // layersList ์์๊ฐ ์์ผ๋ฉด ํจ์ ์ข
๋ฃ
|
| 304 |
layersList.innerHTML = ''; // ๋ชฉ๋ก ์ด๊ธฐํ
|
| 305 |
|
| 306 |
+
// ์ญ์ ๋ฒํผ ํ์ฑํ/๋นํ์ฑํ ์ค์
|
| 307 |
+
if (deleteLayerBtn) {
|
| 308 |
+
deleteLayerBtn.disabled = activeOverlayIndex < 0;
|
| 309 |
+
}
|
| 310 |
+
|
| 311 |
if (overlays.length === 0) {
|
| 312 |
const emptyMsg = document.createElement('div');
|
| 313 |
emptyMsg.style.padding = '8px';
|
|
|
|
| 353 |
layerControls.appendChild(downButton);
|
| 354 |
}
|
| 355 |
|
| 356 |
+
// ๋ ์ด์ด ์ญ์ ๋ฒํผ ์ถ๊ฐ
|
| 357 |
+
const deleteButton = document.createElement('button');
|
| 358 |
+
deleteButton.className = 'delete-button';
|
| 359 |
+
deleteButton.textContent = 'ร';
|
| 360 |
+
deleteButton.title = '๋ ์ด์ด ์ญ์ (๋จ์ถํค: Del)';
|
| 361 |
+
deleteButton.addEventListener('click', (e) => {
|
| 362 |
+
e.stopPropagation(); // ์ด๋ฒคํธ ๋ฒ๋ธ๋ง ๋ฐฉ์ง
|
| 363 |
+
// ํ์ฌ ๋ ์ด์ด ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๊ณ ์ญ์
|
| 364 |
+
activeOverlayIndex = i;
|
| 365 |
+
deleteSelectedLayer();
|
| 366 |
+
});
|
| 367 |
+
layerControls.appendChild(deleteButton);
|
| 368 |
|
| 369 |
// ๋ ์ด์ด ํญ๋ชฉ ํด๋ฆญ ์ ํด๋น ๋ ์ด์ด ํ์ฑํ
|
| 370 |
layerItem.addEventListener('click', function() {
|
|
|
|
| 681 |
// ์ ํ๋ ๋ ์ด์ด ์ญ์
|
| 682 |
function deleteSelectedLayer() {
|
| 683 |
if (activeOverlayIndex >= 0) {
|
| 684 |
+
// ์ญ์ ํ์ธ (์ ํ ์ฌํญ)
|
| 685 |
+
if (confirm(`๋ ์ด์ด ${activeOverlayIndex + 1}์(๋ฅผ) ์ญ์ ํ์๊ฒ ์ต๋๊น?`)) {
|
| 686 |
+
// ํด๋น ์ธ๋ฑ์ค์ ๋ ์ด์ด ์ญ์
|
| 687 |
+
overlays.splice(activeOverlayIndex, 1);
|
| 688 |
+
activeOverlayIndex = -1; // ํ์ฑ ๋ ์ด์ด ์์์ผ๋ก ์ค์
|
| 689 |
|
| 690 |
+
updateControlPanel(); // ์ปจํธ๋กค ํจ๋ ์
๋ฐ์ดํธ
|
| 691 |
+
updateLayersList(); // ๋ ์ด์ด ๋ชฉ๋ก ์
๋ฐ์ดํธ
|
| 692 |
+
drawCanvas(); // ์บ๋ฒ์ค ๋ค์ ๊ทธ๋ฆฌ๊ธฐ
|
| 693 |
|
| 694 |
+
// ๋ชจ๋ ์ค๋ฒ๋ ์ด๊ฐ ์ญ์ ๋๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์จ๊น
|
| 695 |
+
if (overlays.length === 0) {
|
| 696 |
+
previewContainer.style.display = 'none';
|
| 697 |
+
}
|
| 698 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 699 |
}
|
| 700 |
}
|
| 701 |
|
|
|
|
| 743 |
}
|
| 744 |
});
|
| 745 |
|
| 746 |
+
deleteLayerBtn.addEventListener('click', function() {
|
| 747 |
+
if (activeOverlayIndex >= 0) {
|
| 748 |
+
deleteSelectedLayer();
|
| 749 |
+
}
|
| 750 |
+
});
|
| 751 |
+
|
| 752 |
// ์ค๋ฒ๋ ์ด ์ด๋ฏธ์ง ์
๋ก๋ ์ด๋ฒคํธ ๋ฆฌ์ค๋
|
| 753 |
overlayInput.addEventListener('change', function(e) {
|
| 754 |
if (e.target.files.length > 0) {
|