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) {
|