mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 09:41:24 +01:00
Color picker hatches 14-60 (#726)
* Color picker hatches 14-60 Added hatches to number 14 to 60. Updated the code of the color picker to accept multiples rows of hatches. Changed the size of fillRectPointer from 0.9 em to 1.5 em. Added an Update code to upgrade maps to 1.72 to have a grid of 60 svg hatches. Without the update, loaded files appeared with the rectangles for hatches 14-60 empty. * Hatches ordered Reworked the code to put back rows of 14 hatches. Reordered the first 14 hatches to defaault. Made 3 rows, so 42 hatches. * Cleaned code and fixes Cleaned </pattern> in index.html line 152. Put back: width=".9em" height=".9em" style="margin-bottom:-1px"> for fill. * mouseover hatches Fixed some typos. Changed mousemove for mouseover and moved the calling of the function tip from the each function to the original place at 519. The arrow function changed to one that tells the id. * Copies hatching from defElements into map svg, and hatching removed from saved map files. * Removed haching completely from map svg * Hatching copy for clone is now done before unused pattern removal * Added back code that removes the unused hatching group Co-authored-by: Evolvedexperiment <evolvedexperiment@gmail.com> Co-authored-by: Azgaar <maxganiev@yandex.ru>
This commit is contained in:
parent
7dadb95c86
commit
81f037004c
6 changed files with 173 additions and 71 deletions
196
index.html
196
index.html
|
|
@ -148,55 +148,6 @@
|
||||||
</filter>
|
</filter>
|
||||||
</g>
|
</g>
|
||||||
|
|
||||||
<g id="hatching">
|
|
||||||
<pattern id="hatch0" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch1" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch2" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:2"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch3" patternTransform="rotate(-45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch4" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:1.5"/>
|
|
||||||
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch5" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:1.5"/>
|
|
||||||
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch6" patternUnits="userSpaceOnUse" width="5" height="5">
|
|
||||||
<circle cx="2.5" cy="2.5" r="1" style="fill: black"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch7" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="3" transform="rotate(-45 0 0)" style="stroke:black; stroke-width:1.5" />
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch8" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:2.5"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch9" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:2.5"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch10" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:2.5"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch11" patternTransform="rotate(-45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:2.5"/>
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch12" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="1" x2="0" y2="3" style="stroke:black; stroke-width:1.5" />
|
|
||||||
<line x1="1" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:1.5" />
|
|
||||||
</pattern>
|
|
||||||
<pattern id="hatch13" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
|
||||||
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:1.5" />
|
|
||||||
<line x1="0" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:1.5" />
|
|
||||||
</pattern>
|
|
||||||
</g>
|
|
||||||
|
|
||||||
<g id="deftemp">
|
<g id="deftemp">
|
||||||
<mask id="land"></mask>
|
<mask id="land"></mask>
|
||||||
<mask id="water">
|
<mask id="water">
|
||||||
|
|
@ -4356,6 +4307,153 @@
|
||||||
<path d="M 43.4,0 36.2,12.5 43.4,25 M 21.7,12.5 H 36.2 Z M 0,0 H 14.5 L 21.7,12.5 14.5,25 H 0"/>
|
<path d="M 43.4,0 36.2,12.5 43.4,25 M 21.7,12.5 H 36.2 Z M 0,0 H 14.5 L 21.7,12.5 14.5,25 H 0"/>
|
||||||
</pattern>
|
</pattern>
|
||||||
</g>
|
</g>
|
||||||
|
|
||||||
|
<g id="defs-hatching">
|
||||||
|
<pattern id="hatch0" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch1" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch2" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch3" patternTransform="rotate(-45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch4" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch5" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch6" patternUnits="userSpaceOnUse" width="5" height="5">
|
||||||
|
<circle cx="2.5" cy="2.5" r="1" style="fill: black"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch7" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="3" transform="rotate(-45 0 0)" style="stroke:black; stroke-width:1.5" />
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch8" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:2.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch9" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:2.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch10" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:2.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch11" patternTransform="rotate(-45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:2.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch12" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="1" x2="0" y2="3" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="1" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch13" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="0" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch14" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="1" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch15" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="1" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch16" patternTransform="rotate(-45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="1" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch17" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="1" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="1" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch18" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="1" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="1" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch19" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch20" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch21" patternTransform="rotate(-45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch22" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="2" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch23" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="0" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch24" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="0" y2="4" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="2" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch25" patternTransform="rotate(-45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch26" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch27" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch28" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="2" y1="0" x2="0" y2="2" style="stroke:black; stroke-width:2"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch29" patternTransform="rotate(30 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="1" x2="0" y2="3" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="1" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch30" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="1" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="1" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch31" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="1" y1="0" x2="0" y2="3" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="1" y1="0" x2="3" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch32" patternUnits="userSpaceOnUse" width="5" height="5">
|
||||||
|
<circle cx="2.5" cy="2.5" r="0.5" style="fill: black"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch33" patternUnits="userSpaceOnUse" width="5" height="5">
|
||||||
|
<circle cx="2.5" cy="2.5" r="1.5" style="fill: black"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch34" patternUnits="userSpaceOnUse" width="5" height="5">
|
||||||
|
<circle cx="3" cy="3" r="1" style="fill: black"/>
|
||||||
|
<circle cx="1" cy="1" r="1" style="fill: black"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch35" patternUnits="userSpaceOnUse" width="5" height="5">
|
||||||
|
<circle cx="3" cy="3" r="1.5" style="fill: black"/>
|
||||||
|
<circle cx="1" cy="1" r="1.5" style="fill: black"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch36" patternTransform="rotate(-45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="3" transform="rotate(-45 0 0)" style="stroke:black; stroke-width:1.5" />
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch37" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="0" y2="3" transform="rotate(-45 0 0)" style="stroke:black; stroke-width:1.5" />
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch38" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="4" y2="4" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch39" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="4" y2="4" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch40" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="3" y2="3" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
<pattern id="hatch41" patternTransform="rotate(45 0 0)" patternUnits="userSpaceOnUse" width="4" height="4">
|
||||||
|
<line x1="0" y1="0" x2="3" y2="3" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
<line x1="0" y1="0" x2="4" y2="0" style="stroke:black; stroke-width:1.5"/>
|
||||||
|
</pattern>
|
||||||
|
</g>
|
||||||
</defs>
|
</defs>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
||||||
|
|
|
||||||
2
main.js
2
main.js
|
|
@ -2,7 +2,7 @@
|
||||||
// https://github.com/Azgaar/Fantasy-Map-Generator
|
// https://github.com/Azgaar/Fantasy-Map-Generator
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
const version = "1.722"; // generator version
|
const version = "1.73"; // generator version
|
||||||
document.title += " v" + version;
|
document.title += " v" + version;
|
||||||
|
|
||||||
// switches to disable/enable logging features
|
// switches to disable/enable logging features
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,9 @@ async function getMapURL(type, options = {}) {
|
||||||
filters[i].remove();
|
filters[i].remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const hatching = svgDefs.getElementById("defs-hatching");
|
||||||
|
if (hatching) cloneDefs.appendChild(hatching.cloneNode(true));
|
||||||
|
|
||||||
// remove unused patterns
|
// remove unused patterns
|
||||||
const patterns = cloneEl.querySelectorAll("pattern");
|
const patterns = cloneEl.querySelectorAll("pattern");
|
||||||
for (let i = 0; i < patterns.length; i++) {
|
for (let i = 0; i < patterns.length; i++) {
|
||||||
|
|
@ -262,7 +265,7 @@ async function getMapURL(type, options = {}) {
|
||||||
if (pattern) cloneDefs.appendChild(pattern.cloneNode(true));
|
if (pattern) cloneDefs.appendChild(pattern.cloneNode(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cloneEl.getElementById("hatching").children.length) cloneEl.getElementById("hatching")?.remove(); // remove unused hatching group
|
if (!cloneEl.getElementById("defs-hatching").children.length) cloneEl.getElementById("defs-hatching")?.remove(); // remove unused hatching group
|
||||||
if (!cloneEl.getElementById("fogging-cont")) cloneEl.getElementById("fog")?.remove(); // remove unused fog
|
if (!cloneEl.getElementById("fogging-cont")) cloneEl.getElementById("fog")?.remove(); // remove unused fog
|
||||||
if (!cloneEl.getElementById("regions")) cloneEl.getElementById("statePaths")?.remove(); // removed unused statePaths
|
if (!cloneEl.getElementById("regions")) cloneEl.getElementById("statePaths")?.remove(); // removed unused statePaths
|
||||||
if (!cloneEl.getElementById("labels")) cloneEl.getElementById("textPaths")?.remove(); // removed unused textPaths
|
if (!cloneEl.getElementById("labels")) cloneEl.getElementById("textPaths")?.remove(); // removed unused textPaths
|
||||||
|
|
|
||||||
|
|
@ -190,7 +190,6 @@ function parseLoadedData(data) {
|
||||||
if (customizationMenu.offsetParent) styleTab.click();
|
if (customizationMenu.offsetParent) styleTab.click();
|
||||||
|
|
||||||
const reliefIcons = document.getElementById("defs-relief").innerHTML; // save relief icons
|
const reliefIcons = document.getElementById("defs-relief").innerHTML; // save relief icons
|
||||||
const hatching = document.getElementById("hatching").cloneNode(true); // save hatching
|
|
||||||
|
|
||||||
void (function parseParameters() {
|
void (function parseParameters() {
|
||||||
const params = data[0].split("|");
|
const params = data[0].split("|");
|
||||||
|
|
@ -473,9 +472,6 @@ function parseLoadedData(data) {
|
||||||
if (!layerIsOn("toggleBorders")) $("#borders").fadeOut();
|
if (!layerIsOn("toggleBorders")) $("#borders").fadeOut();
|
||||||
if (!layerIsOn("toggleStates")) regions.attr("display", "none").selectAll("path").remove();
|
if (!layerIsOn("toggleStates")) regions.attr("display", "none").selectAll("path").remove();
|
||||||
|
|
||||||
// 1.0 adds hatching
|
|
||||||
document.getElementsByTagName("defs")[0].appendChild(hatching);
|
|
||||||
|
|
||||||
// 1.0 adds zones layer
|
// 1.0 adds zones layer
|
||||||
zones = viewbox.insert("g", "#borders").attr("id", "zones").attr("display", "none");
|
zones = viewbox.insert("g", "#borders").attr("id", "zones").attr("display", "none");
|
||||||
zones.attr("opacity", 0.6).attr("stroke", null).attr("stroke-width", 0).attr("stroke-dasharray", null).attr("stroke-linecap", "butt");
|
zones.attr("opacity", 0.6).attr("stroke", null).attr("stroke-width", 0).attr("stroke-dasharray", null).attr("stroke-linecap", "butt");
|
||||||
|
|
@ -939,6 +935,11 @@ function parseLoadedData(data) {
|
||||||
localStorage.removeItem(styleName);
|
localStorage.removeItem(styleName);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (version < 1.73) {
|
||||||
|
// v1.73 moved the hatching patterns out of the user's SVG
|
||||||
|
document.getElementById("hatching")?.remove();
|
||||||
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
void (function checkDataIntegrity() {
|
void (function checkDataIntegrity() {
|
||||||
|
|
@ -1049,7 +1050,7 @@ function parseLoadedData(data) {
|
||||||
// sort markers by index
|
// sort markers by index
|
||||||
pack.markers.sort((a, b) => a.i - b.i);
|
pack.markers.sort((a, b) => a.i - b.i);
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
changeMapSize();
|
changeMapSize();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -425,10 +425,10 @@ function clearLegend() {
|
||||||
function createPicker() {
|
function createPicker() {
|
||||||
const pos = () => tip("Drag to change the picker position");
|
const pos = () => tip("Drag to change the picker position");
|
||||||
const cl = () => tip("Click to close the picker");
|
const cl = () => tip("Click to close the picker");
|
||||||
const closePicker = () => contaiter.style("display", "none");
|
const closePicker = () => container.style("display", "none");
|
||||||
|
|
||||||
const contaiter = d3.select("body").append("svg").attr("id", "pickerContainer").attr("width", "100%").attr("height", "100%");
|
const container = d3.select("body").append("svg").attr("id", "pickerContainer").attr("width", "100%").attr("height", "100%");
|
||||||
contaiter
|
container
|
||||||
.append("rect")
|
.append("rect")
|
||||||
.attr("x", 0)
|
.attr("x", 0)
|
||||||
.attr("y", 0)
|
.attr("y", 0)
|
||||||
|
|
@ -437,7 +437,7 @@ function createPicker() {
|
||||||
.attr("opacity", 0.2)
|
.attr("opacity", 0.2)
|
||||||
.on("mousemove", cl)
|
.on("mousemove", cl)
|
||||||
.on("click", closePicker);
|
.on("click", closePicker);
|
||||||
const picker = contaiter
|
const picker = container
|
||||||
.append("g")
|
.append("g")
|
||||||
.attr("id", "picker")
|
.attr("id", "picker")
|
||||||
.call(
|
.call(
|
||||||
|
|
@ -494,7 +494,7 @@ function createPicker() {
|
||||||
|
|
||||||
const colors = picker.append("g").attr("id", "pickerColors").attr("stroke", "#333333");
|
const colors = picker.append("g").attr("id", "pickerColors").attr("stroke", "#333333");
|
||||||
const hatches = picker.append("g").attr("id", "pickerHatches").attr("stroke", "#333333");
|
const hatches = picker.append("g").attr("id", "pickerHatches").attr("stroke", "#333333");
|
||||||
const hatching = d3.selectAll("g#hatching > pattern");
|
const hatching = d3.selectAll("g#defs-hatching > pattern");
|
||||||
const number = hatching.size();
|
const number = hatching.size();
|
||||||
|
|
||||||
const clr = d3.range(number).map(i => d3.hsl((i / number) * 360, 0.7, 0.7).hex());
|
const clr = d3.range(number).map(i => d3.hsl((i / number) * 360, 0.7, 0.7).hex());
|
||||||
|
|
@ -504,8 +504,8 @@ function createPicker() {
|
||||||
.attr("id", "picker_" + d)
|
.attr("id", "picker_" + d)
|
||||||
.attr("fill", d)
|
.attr("fill", d)
|
||||||
.attr("class", i ? "" : "selected")
|
.attr("class", i ? "" : "selected")
|
||||||
.attr("x", i * 22 + 4)
|
.attr("x", (i % 14) * 22 + 4)
|
||||||
.attr("y", 40)
|
.attr("y", 40 + Math.floor(i / 14)*20)
|
||||||
.attr("width", 16)
|
.attr("width", 16)
|
||||||
.attr("height", 16);
|
.attr("height", 16);
|
||||||
});
|
});
|
||||||
|
|
@ -515,20 +515,20 @@ function createPicker() {
|
||||||
.append("rect")
|
.append("rect")
|
||||||
.attr("id", "picker_" + this.id)
|
.attr("id", "picker_" + this.id)
|
||||||
.attr("fill", "url(#" + this.id + ")")
|
.attr("fill", "url(#" + this.id + ")")
|
||||||
.attr("x", i * 22 + 4)
|
.attr("x", (i % 14) * 22 + 4)
|
||||||
.attr("y", 61)
|
.attr("y", Math.floor(i / 14)*20 + 20 + (number * 2))
|
||||||
.attr("width", 16)
|
.attr("width", 16)
|
||||||
.attr("height", 16);
|
.attr("height", 16)
|
||||||
});
|
});
|
||||||
|
|
||||||
colors
|
colors
|
||||||
.selectAll("rect")
|
.selectAll("rect")
|
||||||
.on("click", pickerFillClicked)
|
.on("click", pickerFillClicked)
|
||||||
.on("mousemove", () => tip("Click to fill with the color"));
|
.on("mouseover", () => tip("Click to fill with the color"));
|
||||||
hatches
|
hatches
|
||||||
.selectAll("rect")
|
.selectAll("rect")
|
||||||
.on("click", pickerFillClicked)
|
.on("click", pickerFillClicked)
|
||||||
.on("mousemove", () => tip("Click to fill with the hatching"));
|
.on("mouseover", function() { tip("Click to fill with the hatching " + this.id) });
|
||||||
|
|
||||||
// append box
|
// append box
|
||||||
const bbox = picker.node().getBBox();
|
const bbox = picker.node().getBBox();
|
||||||
|
|
@ -544,10 +544,10 @@ function createPicker() {
|
||||||
.attr("fill", "#ffffff")
|
.attr("fill", "#ffffff")
|
||||||
.attr("stroke", "#5d4651")
|
.attr("stroke", "#5d4651")
|
||||||
.on("mousemove", pos);
|
.on("mousemove", pos);
|
||||||
picker.insert("text", ":first-child").attr("x", 291).attr("y", -10).attr("id", "pickerCloseText").text("✕");
|
picker.insert("text", ":first-child").attr("x", width-20).attr("y", -10).attr("id", "pickerCloseText").text("✕");
|
||||||
picker
|
picker
|
||||||
.insert("rect", ":first-child")
|
.insert("rect", ":first-child")
|
||||||
.attr("x", 288)
|
.attr("x", width-23)
|
||||||
.attr("y", -21)
|
.attr("y", -21)
|
||||||
.attr("id", "pickerCloseRect")
|
.attr("id", "pickerCloseRect")
|
||||||
.attr("width", 14)
|
.attr("width", 14)
|
||||||
|
|
|
||||||
|
|
@ -331,7 +331,7 @@ function editZones() {
|
||||||
function addZonesLayer() {
|
function addZonesLayer() {
|
||||||
const id = getNextId("zone");
|
const id = getNextId("zone");
|
||||||
const description = "Unknown zone";
|
const description = "Unknown zone";
|
||||||
const fill = "url(#hatch" + (id.slice(4) % 14) + ")";
|
const fill = "url(#hatch" + (id.slice(4) % 42) + ")";
|
||||||
zones.append("g").attr("id", id).attr("data-description", description).attr("data-cells", "").attr("fill", fill);
|
zones.append("g").attr("id", id).attr("data-description", description).attr("data-cells", "").attr("fill", fill);
|
||||||
const unit = areaUnit.value === "square" ? " " + distanceUnitInput.value + "²" : " " + areaUnit.value;
|
const unit = areaUnit.value === "square" ? " " + distanceUnitInput.value + "²" : " " + areaUnit.value;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue