diff --git a/index.css b/index.css index 8cbef85f..d29060a5 100644 --- a/index.css +++ b/index.css @@ -526,7 +526,23 @@ input[type="color"]::-webkit-color-swatch-wrapper { color: white; } -.glow { +#exitCustomization { + position: absolute; + display: none; +} + +#exitCustomization > div { + width: 12em; + background: #5d4651; + cursor: move; +} + +#finalizeHeightmap { + width: 100%; + border: none; + padding: .45em .75em; + margin: .4em 0; + font-family: Consolas, monospace; animation: glowing 2s infinite; } diff --git a/index.html b/index.html index 0ffa511d..aa7616c6 100644 --- a/index.html +++ b/index.html @@ -1872,8 +1872,6 @@ Cell:
Height: - -
@@ -1908,6 +1906,13 @@
+ + + +
+
+ +
@@ -1963,10 +1968,10 @@ px =
- Meridian length:
- px = - - + Meridian length:
+ px = + +
Coords:
diff --git a/modules/ui/general.js b/modules/ui/general.js index 59bba74d..adb2771c 100644 --- a/modules/ui/general.js +++ b/modules/ui/general.js @@ -16,6 +16,7 @@ const tooltip = document.getElementById("tooltip"); // show tip for non-svg elemets with data-tip document.getElementById("dialogs").addEventListener("mousemove", showDataTip); document.getElementById("optionsContainer").addEventListener("mousemove", showDataTip); +document.getElementById("exitCustomization").addEventListener("mousemove", showDataTip); function tip(tip = "Tip is undefined", main, error, time) { tooltip.innerHTML = tip; diff --git a/modules/ui/heightmap-editor.js b/modules/ui/heightmap-editor.js index 25fcfd73..d3859e95 100644 --- a/modules/ui/heightmap-editor.js +++ b/modules/ui/heightmap-editor.js @@ -66,6 +66,17 @@ function editHeightmap() { applyTemplate.style.display = type === "keep" ? "none" : "inline-block"; convertImage.style.display = type === "keep" ? "none" : "inline-block"; + // show finalize button + const box = exitCustomization.getBoundingClientRect(); + exitCustomization.style.opacity = 0; + exitCustomization.style.right = (svgWidth + box.width) / 2 + "px"; + exitCustomization.style.bottom = (svgHeight + box.height) / 2 + "px"; + exitCustomization.style.transform = "scale(2)"; + exitCustomization.style.display = "block"; + d3.select("#exitCustomization") + .transition().duration(1000).style("opacity", 1) + .transition().duration(2000).ease(d3.easeSinInOut).style("right", "10px").style("bottom", "10px").style("transform", "scale(1)"); + openBrushesPanel(); turnButtonOn("toggleHeight"); layersPreset.value = "heightmap"; @@ -113,6 +124,7 @@ function editHeightmap() { customizationMenu.style.display = "none"; toolsContent.style.display = "block"; layersPreset.disabled = false; + exitCustomization.style.display = "none"; // hide finalize button restoreDefaultEvents(); clearMainTip(); closeDialogs(); diff --git a/modules/ui/options.js b/modules/ui/options.js index cd81d757..8e9e407e 100644 --- a/modules/ui/options.js +++ b/modules/ui/options.js @@ -2,6 +2,7 @@ "use strict"; $("#optionsContainer").draggable({handle: ".drag-trigger", snap: "svg", snapMode: "both"}); +$("#exitCustomization").draggable({handle: "div"}); $("#mapLayers").disableSelection(); // remove glow if tip is aknowledged