mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 09:41:24 +01:00
fix scaleBar change
This commit is contained in:
parent
c2ceb227ad
commit
8b3b64626f
3 changed files with 13 additions and 11 deletions
4
main.js
4
main.js
|
|
@ -481,7 +481,7 @@ function doWorkOnZoom(isScaleChanged, isPositionChanged) {
|
||||||
|
|
||||||
if (isScaleChanged) {
|
if (isScaleChanged) {
|
||||||
invokeActiveZooming();
|
invokeActiveZooming();
|
||||||
drawScaleBar();
|
drawScaleBar(scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
// zoom image converter overlay
|
// zoom image converter overlay
|
||||||
|
|
@ -652,7 +652,7 @@ async function generate() {
|
||||||
randomizeOptions();
|
randomizeOptions();
|
||||||
placePoints();
|
placePoints();
|
||||||
calculateVoronoi(grid, grid.points);
|
calculateVoronoi(grid, grid.points);
|
||||||
drawScaleBar();
|
drawScaleBar(scale);
|
||||||
await HeightmapGenerator.generate();
|
await HeightmapGenerator.generate();
|
||||||
markFeatures();
|
markFeatures();
|
||||||
markupGridOcean();
|
markupGridOcean();
|
||||||
|
|
|
||||||
|
|
@ -536,11 +536,11 @@ class Planimeter extends Measurer {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Scale bar
|
// Scale bar
|
||||||
function drawScaleBar(scaleLevel = scale) {
|
function drawScaleBar(scaleLevel) {
|
||||||
if (scaleBar.style("display") === "none") return; // no need to re-draw hidden element
|
if (scaleBar.style("display") === "none") return; // no need to re-draw hidden element
|
||||||
scaleBar.selectAll("*").remove(); // fully redraw every time
|
scaleBar.selectAll("*").remove(); // fully redraw every time
|
||||||
|
|
||||||
const distanceScale = distanceScaleInput.value;
|
const distanceScale = +distanceScaleInput.value;
|
||||||
const unit = distanceUnitInput.value;
|
const unit = distanceUnitInput.value;
|
||||||
const size = +barSizeInput.value;
|
const size = +barSizeInput.value;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ function editUnits() {
|
||||||
position: {my: "right top", at: "right-10 top+10", of: "svg", collision: "fit"}
|
position: {my: "right top", at: "right-10 top+10", of: "svg", collision: "fit"}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const drawBar = () => drawScaleBar(scale);
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("distanceUnitInput").addEventListener("change", changeDistanceUnit);
|
document.getElementById("distanceUnitInput").addEventListener("change", changeDistanceUnit);
|
||||||
document.getElementById("distanceScaleOutput").addEventListener("input", changeDistanceScale);
|
document.getElementById("distanceScaleOutput").addEventListener("input", changeDistanceScale);
|
||||||
|
|
@ -19,9 +21,9 @@ function editUnits() {
|
||||||
document.getElementById("heightExponentInput").addEventListener("input", changeHeightExponent);
|
document.getElementById("heightExponentInput").addEventListener("input", changeHeightExponent);
|
||||||
document.getElementById("heightExponentOutput").addEventListener("input", changeHeightExponent);
|
document.getElementById("heightExponentOutput").addEventListener("input", changeHeightExponent);
|
||||||
document.getElementById("temperatureScale").addEventListener("change", changeTemperatureScale);
|
document.getElementById("temperatureScale").addEventListener("change", changeTemperatureScale);
|
||||||
document.getElementById("barSizeOutput").addEventListener("input", drawScaleBar);
|
document.getElementById("barSizeOutput").addEventListener("input", drawBar);
|
||||||
document.getElementById("barSizeInput").addEventListener("input", drawScaleBar);
|
document.getElementById("barSizeInput").addEventListener("input", drawBar);
|
||||||
document.getElementById("barLabel").addEventListener("input", drawScaleBar);
|
document.getElementById("barLabel").addEventListener("input", drawBar);
|
||||||
document.getElementById("barPosX").addEventListener("input", fitScaleBar);
|
document.getElementById("barPosX").addEventListener("input", fitScaleBar);
|
||||||
document.getElementById("barPosY").addEventListener("input", fitScaleBar);
|
document.getElementById("barPosY").addEventListener("input", fitScaleBar);
|
||||||
document.getElementById("barBackOpacity").addEventListener("input", changeScaleBarOpacity);
|
document.getElementById("barBackOpacity").addEventListener("input", changeScaleBarOpacity);
|
||||||
|
|
@ -46,18 +48,18 @@ function editUnits() {
|
||||||
prompt("Provide a custom name for a distance unit", {default: ""}, custom => {
|
prompt("Provide a custom name for a distance unit", {default: ""}, custom => {
|
||||||
this.options.add(new Option(custom, custom, false, true));
|
this.options.add(new Option(custom, custom, false, true));
|
||||||
lock("distanceUnit");
|
lock("distanceUnit");
|
||||||
drawScaleBar();
|
drawScaleBar(scale);
|
||||||
calculateFriendlyGridSize();
|
calculateFriendlyGridSize();
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
drawScaleBar();
|
drawScaleBar(scale);
|
||||||
calculateFriendlyGridSize();
|
calculateFriendlyGridSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
function changeDistanceScale() {
|
function changeDistanceScale() {
|
||||||
drawScaleBar();
|
drawScaleBar(scale);
|
||||||
calculateFriendlyGridSize();
|
calculateFriendlyGridSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -136,7 +138,7 @@ function editUnits() {
|
||||||
localStorage.removeItem("barBackColor");
|
localStorage.removeItem("barBackColor");
|
||||||
localStorage.removeItem("barPosX");
|
localStorage.removeItem("barPosX");
|
||||||
localStorage.removeItem("barPosY");
|
localStorage.removeItem("barPosY");
|
||||||
drawScaleBar();
|
drawScaleBar(scale);
|
||||||
|
|
||||||
// population
|
// population
|
||||||
populationRate = populationRateOutput.value = populationRateInput.value = 1000;
|
populationRate = populationRateOutput.value = populationRateInput.value = 1000;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue