theme: change some theme attribute names and fix renderTheme.xsd

- element '<use-* name="x">' changed to <* use="x">
- style 'name' attribute changed to 'id'
This commit is contained in:
Hannes Janetzek 2013-09-15 17:39:43 +02:00
parent 8fe8c3a1f2
commit 027c2e7618
5 changed files with 1121 additions and 1955 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<rendertheme xmlns="http://mapsforge.org/renderTheme" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <rendertheme xmlns="http://mapsforge.org/renderTheme" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://mapsforge.org/renderTheme ../renderTheme.xsd" version="1" map-background="#fffcfa"> xsi:schemaLocation="http://mapsforge.org/renderTheme ../../renderTheme.xsd" version="1" map-background="#fffcfa">
<!-- ways --> <!-- ways -->
<m e="way"> <m e="way">
@ -417,17 +417,17 @@
</m> --> </m> -->
<!-- ways -->
<m e="way"> <m e="way">
<!-- no tunnel -->
<m k="tunnel" v="~|no|false"> <style-outline id="casing" stroke="#707070" width="0.15" />
<!-- no area -->
<m k="area" v="~|no|false">
<!-- highway -->
<m k="highway">
<!-- no bridge -->
<m k="bridge" v="~|no|false">
<!-- highway casings --> <!-- highway casings -->
<m k="tunnel" v="~|no|false">
<m k="area" v="~|no|false">
<m k="highway">
<!--
<m k="bridge" v="~|no|false">
<m v="steps"> <m v="steps">
<line stroke="#707070" width="0.6" /> <line stroke="#707070" width="0.6" />
</m> </m>
@ -470,10 +470,8 @@
<line stroke="#707070" width="2.0" cap="butt" /> <line stroke="#707070" width="2.0" cap="butt" />
</m> </m>
</m> </m>
-->
<!-- bridge -->
<m k="bridge" v="yes|true"> <m k="bridge" v="yes|true">
<!-- highway casings -->
<m v="steps|footway|path"> <m v="steps|footway|path">
<line stroke="#000000" width="0.7" cap="butt" /> <line stroke="#000000" width="0.7" cap="butt" />
</m> </m>
@ -504,7 +502,7 @@
<!-- building --> <!-- building -->
<m k="building"> <m k="building">
<area fill="#f3d6b6" stroke="#6a5a8e" stroke-width="0.2" /> <area fill="#f3d6b6" stroke="#6a5a8e" stroke-width="0.2" />
<line stroke="#6a5a8e" width="1.0" fix="true" />
<m zoom-min="17"> <m zoom-min="17">
<caption k="name" font-style="bold" font-size="10" fill="#4040ff" stroke="#ffffff" stroke-width="2.0" /> <caption k="name" font-style="bold" font-size="10" fill="#4040ff" stroke="#ffffff" stroke-width="2.0" />
<caption k="addr:housenumber" font-style="bold" font-size="10" fill="#606060" stroke="#ffffff" <caption k="addr:housenumber" font-style="bold" font-size="10" fill="#606060" stroke="#ffffff"
@ -574,90 +572,135 @@
</m> </m>
<m v="cycleway"> <m v="cycleway">
<line stroke="#d1fad1" width="0.85" /> <line stroke="#d1fad1" width="0.85" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="15"> <m zoom-min="15">
<text k="name" font-style="bold" font-size="10" stroke="#d1fad1" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#d1fad1" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="bridleway"> <m v="bridleway">
<line stroke="#d3cb98" width="0.85" /> <line stroke="#d3cb98" width="0.85" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="15"> <m zoom-min="15">
<text k="name" font-style="bold" font-size="10" stroke="#d3cb98" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#d3cb98" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="service"> <m v="service">
<line stroke="#ffffff" width="0.85" /> <line stroke="#ffffff" width="0.85" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="15"> <m zoom-min="15">
<text k="name" font-style="bold" font-size="10" stroke="#ffffff" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#ffffff" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="construction"> <m v="construction">
<line stroke="#d0d0d0" width="1.0" /> <line stroke="#d0d0d0" width="1.0" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="15"> <m zoom-min="15">
<text k="name" font-style="bold" font-size="10" stroke="#d0d0d0" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#d0d0d0" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="road"> <m v="road">
<line stroke="#d0d0d0" width="1.25" /> <line stroke="#d0d0d0" width="1.25" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="15"> <m zoom-min="15">
<text k="name" font-style="bold" font-size="10" stroke="#d0d0d0" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#d0d0d0" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="pedestrian"> <m v="pedestrian">
<line stroke="#e5e0c2" width="1.35" /> <line stroke="#e5e0c2" width="1.35" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="15"> <m zoom-min="15">
<text k="name" font-style="bold" font-size="10" stroke="#e5e0c2" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#e5e0c2" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="unclassified|residential|living_street"> <m v="unclassified|residential|living_street">
<line stroke="#ffffff" width="1.35" /> <line stroke="#ffffff" width="1.35" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="15"> <m zoom-min="15">
<text k="name" font-style="bold" font-size="10" stroke="#ffffff" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#ffffff" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="byway"> <m v="byway">
<line stroke="#efadaa" width="1.35" /> <line stroke="#efadaa" width="1.35" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="15"> <m zoom-min="15">
<text k="name" font-style="bold" font-size="10" stroke="#efadaa" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#efadaa" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="tertiary"> <m v="tertiary">
<line stroke="#ffff90" width="1.5" /> <line stroke="#ffff90" width="1.5" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#ffff90" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#ffff90" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="secondary_link"> <m v="secondary_link">
<line stroke="#fdbf6f" width="1.5" /> <line stroke="#fdbf6f" width="1.5" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#fdbf6f" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#fdbf6f" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="primary_link"> <m v="primary_link">
<line stroke="#e46d71" width="1.5" /> <line stroke="#e46d71" width="1.5" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#e46d71" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#e46d71" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="trunk_link"> <m v="trunk_link">
<line stroke="#7fc97f" width="1.5" /> <line stroke="#7fc97f" width="1.5" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#7fc97f" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#7fc97f" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="motorway_link"> <m v="motorway_link">
<line stroke="#809bc0" width="1.5" /> <line stroke="#809bc0" width="1.5" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#809bc0" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#809bc0" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="secondary"> <m v="secondary">
<line stroke="#fdbf6f" width="1.5" /> <line stroke="#fdbf6f" width="1.5" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#fdbf6f" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#fdbf6f" stroke-width="2.0" />
</m> </m>
</m> </m>
<m v="primary"> <m v="primary">
<line stroke="#e46d71" width="1.5" /> <line stroke="#e46d71" width="1.5" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#e46d71" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#e46d71" stroke-width="2.0" />
<text k="ref" font-style="bold" font-size="12" stroke="#ffffff" fill="#606060" stroke-width="2.0" /> <text k="ref" font-style="bold" font-size="12" stroke="#ffffff" fill="#606060" stroke-width="2.0" />
@ -665,6 +708,9 @@
</m> </m>
<m v="trunk"> <m v="trunk">
<line stroke="#7fc97f" width="1.5" /> <line stroke="#7fc97f" width="1.5" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#7fc97f" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#7fc97f" stroke-width="2.0" />
<text k="ref" font-style="bold" font-size="12" stroke="#ffffff" fill="#606060" stroke-width="2.0" /> <text k="ref" font-style="bold" font-size="12" stroke="#ffffff" fill="#606060" stroke-width="2.0" />
@ -672,6 +718,9 @@
</m> </m>
<m v="motorway"> <m v="motorway">
<line stroke="#809bc0" width="1.7" /> <line stroke="#809bc0" width="1.7" />
<m k="bridge" v="~|no|false">
<outline use="casing" />
</m>
<m zoom-min="14"> <m zoom-min="14">
<text k="name" font-style="bold" font-size="10" stroke="#809bc0" stroke-width="2.0" /> <text k="name" font-style="bold" font-size="10" stroke="#809bc0" stroke-width="2.0" />
<text k="ref" font-style="bold" font-size="12" stroke="#ffffff" fill="#606060" stroke-width="2.0" /> <text k="ref" font-style="bold" font-size="12" stroke="#ffffff" fill="#606060" stroke-width="2.0" />
@ -836,13 +885,13 @@
<m k="bridge" v="yes|true"> <m k="bridge" v="yes|true">
<m k="railway" v="tram"> <m k="railway" v="tram">
<line stroke="#000000" width="0.4" cap="butt" /> <line stroke="#cc000000" width="0.4" cap="butt" />
</m> </m>
<m k="railway" v="subway|light_rail|narrow_gauge"> <m k="railway" v="subway|light_rail|narrow_gauge">
<line stroke="#000000" width="0.6" cap="butt" /> <line stroke="#cc000000" width="0.6" cap="butt" />
</m> </m>
<m k="railway" v="rail"> <m k="railway" v="rail">
<line stroke="#000000" width="0.8" cap="butt" /> <line stroke="#cc000000" width="0.6" cap="butt" />
</m> </m>
</m> </m>
@ -855,9 +904,12 @@
<line stroke="#b7b7e6" width="0.25" dasharray="12,18" cap="butt" /> <line stroke="#b7b7e6" width="0.25" dasharray="12,18" cap="butt" />
</m> </m>
<m k="railway" v="light_rail"> <m k="railway" v="light_rail">
<line stroke="#0f4c0f" width="0.4" cap="butt" /> <!-- <line stroke="#0f4c0f" width="0.4" cap="butt" />
<line stroke="#b7e6e6" width="0.25" cap="butt" /> <line stroke="#b7e6e6" width="0.25" cap="butt" />
<line stroke="#0f4c0f" width="0.25" dasharray="12,18" cap="butt" /> <line stroke="#0f4c0f" width="0.25" dasharray="12,18" cap="butt" />-->
<line stroke="#0f4c0f" width="0.4" cap="butt" fade="12"
stipple="10" stipple-width="0.8"
stipple-stroke="#b7e6e6" />
</m> </m>
<m k="railway" v="narrow_gauge"> <m k="railway" v="narrow_gauge">
<line stroke="#333333" width="0.4" cap="butt" /> <line stroke="#333333" width="0.4" cap="butt" />
@ -865,9 +917,12 @@
<line stroke="#333333" width="0.25" dasharray="18,18" cap="butt" /> <line stroke="#333333" width="0.25" dasharray="18,18" cap="butt" />
</m> </m>
<m k="railway" v="rail"> <m k="railway" v="rail">
<line stroke="#333333" width="0.55" cap="butt" /> <!-- <line stroke="#333333" width="0.55" cap="butt" />
<line stroke="#e6e6e6" width="0.4" cap="butt" /> <line stroke="#e6e6e6" width="0.4" cap="butt" />
<line stroke="#333333" width="0.4" dasharray="15,15" cap="butt" /> <line stroke="#333333" width="0.4" dasharray="15,15" cap="butt" />-->
<line stroke="#333333" width="1.6" cap="butt" fade="12" fix="true"
stipple="10" stipple-width="0.8"
stipple-stroke="#e6e6e6" />
</m> </m>
</m> </m>
</m> </m>
@ -875,44 +930,45 @@
<m k="boundary"> <m k="boundary">
<m k="boundary" v="national_park"> <m k="boundary" v="national_park">
<line stroke="#4ef94b" width="0.25" dasharray="15, 5, 5, 5" /> <line stroke="#4ef94b" width="1.25" fix="true" dasharray="15, 5, 5, 5" />
</m> </m>
<m k="boundary" v="administrative"> <m k="boundary" v="administrative">
<m k="admin_level"> <m k="admin_level">
<m k="admin_level" v="11"> <m k="admin_level" v="11">
<line stroke="#f9574b" width="0.1" dasharray="1, 5" /> <line stroke="#f9574b" width="1.1" fix="true" dasharray="1, 5" />
</m> </m>
<m k="admin_level" v="10"> <m k="admin_level" v="10">
<line stroke="#f9574b" width="0.1" dasharray="5, 25" /> <line stroke="#f9574b" width="1.1" fix="true" dasharray="5, 25" />
</m> </m>
<m k="admin_level" v="9"> <m k="admin_level" v="9">
<line stroke="#f9574b" width="0.1" dasharray="15, 15" /> <line stroke="#f9574b" width="1.1" fix="true" dasharray="15, 15" />
</m> </m>
<m k="admin_level" v="8"> <m k="admin_level" v="8">
<line stroke="#f9574b" width="0.1" dasharray="15, 5, 5, 5" /> <line stroke="#f9574b" width="1.1" fix="true" dasharray="15, 5, 5, 5" />
</m> </m>
<m k="admin_level" v="7"> <m k="admin_level" v="7">
<line stroke="#f9574b" width="0.1" /> <line stroke="#f9574b" width="1.1" fix="true" />
</m> </m>
<m k="admin_level" v="6"> <m k="admin_level" v="6">
<line stroke="#f9574b" width="0.25" dasharray="5, 5" /> <line stroke="#f9574b" width="1.25" fix="true" dasharray="5, 5" />
</m> </m>
<m k="admin_level" v="5"> <m k="admin_level" v="5">
<line stroke="#f9574b" width="0.25" dasharray="15, 15" /> <line stroke="#f9574b" width="1.25" fix="true" dasharray="15, 15" />
</m> </m>
<m k="admin_level" v="4"> <m k="admin_level" v="4">
<line stroke="#f9574b" width="0.25" dasharray="15, 5, 5, 5" /> <line stroke="#00000000" width="1.25" fix="true"
stipple="4" stipple-width="0.9" stipple-stroke="#f9574b"
dasharray="15, 5, 5, 5" />
</m> </m>
<m k="admin_level" v="3"> <m k="admin_level" v="3">
<line stroke="#f9574b" width="0.25" /> <line stroke="#f9574b" width="1.25" fix="true" />
</m> </m>
<m k="admin_level" v="2"> <m k="admin_level" v="2">
<line stroke="#80ffff00" width="0.75" /> <!-- <line stroke="#80ffff00" width="0.75" />
<line stroke="#f9574b" width="0.25" dasharray="15, 15" /> <line stroke="#f9574b" width="1.25" fix="true" dasharray="15, 15" />-->
</m> <line stroke="#f9574b" width="1.25" fix="true"
<m k="admin_level" v="1"> stipple="6" stipple-width="0.9" stipple-stroke="#80ffff00"
<line stroke="#80ffff00" width="1.75" /> dasharray="15, 5, 5, 5" />
<line stroke="#f9574b" width="0.25" dasharray="15, 5, 5, 5" />
</m> </m>
</m> </m>
</m> </m>
@ -932,9 +988,8 @@
</m> </m>
<!-- nodes
<m e="node"> <m e="node">
<!--
<m k="aeroway"> <m k="aeroway">
<m k="aeroway" v="helipad" zoom-min="17"> <m k="aeroway" v="helipad" zoom-min="17">
<symbol src="jar:symbols/helipad.png" /> <symbol src="jar:symbols/helipad.png" />
@ -1115,47 +1170,40 @@
</m> </m>
</m> </m>
-->
<m k="place"> <m k="place">
<m k="place" v="hamlet" zoom-min="13"> <m k="place" v="hamlet" zoom-min="13">
<caption k="name" font-style="bold" font-size="13" fill="#000000" <caption k="name" font-style="bold" font-size="13" fill="#000000" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" />
</m> </m>
<m k="place" v="suburb|town|village" zoom-min="12"> <m k="place" v="suburb|town|village" zoom-min="12">
<caption k="name" font-style="bold" font-size="15" fill="#000000" <caption k="name" font-style="bold" font-size="15" fill="#000000" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" />
</m> </m>
<m k="place" v="island" zoom-min="10"> <m k="place" v="island" zoom-min="10">
<caption k="name" font-style="bold" font-size="20" fill="#000000" <caption k="name" font-style="bold" font-size="20" fill="#000000" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" />
</m> </m>
<m k="place" v="city" zoom-max="14"> <m k="place" v="city" zoom-max="14">
<caption k="name" font-style="bold" font-size="25" fill="#000000" <caption k="name" font-style="bold" font-size="25" fill="#000000" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" />
</m> </m>
<m k="place" v="country" zoom-max="6"> <m k="place" v="country" zoom-max="6">
<caption k="name" font-style="bold" font-size="25" fill="#000000" <caption k="name" font-style="bold" font-size="25" fill="#000000" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" />
</m> </m>
</m> </m>
<m k="railway"> <m k="railway">
<m k="railway" v="crossing" zoom-min="16"> <!-- <m k="railway" v="crossing" zoom-min="16">
<symbol src="jar:symbols/railway-crossing-small.png" /> <symbol src="jar:symbols/railway-crossing-small.png" />
</m> </m>
<m k="railway" v="level_crossing" zoom-min="16"> <m k="railway" v="level_crossing" zoom-min="16">
<symbol src="jar:symbols/railway-crossing.png" /> <symbol src="jar:symbols/railway-crossing.png" />
</m> </m>-->
<m k="railway" v="station" zoom-min="14"> <m k="railway" v="station" zoom-min="14">
<circle radius="6" fill="#ec2d2d" stroke="#606060" width="1.5" /> <circle r="6" fill="#ec2d2d" stroke="#606060" stroke-width="1.5" />
<caption k="name" dy="-10" font-style="bold" font-size="13" fill="#ec2d2d" <caption k="name" dy="-10" font-style="bold" font-size="13" fill="#ec2d2d" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" />
</m> </m>
<m k="railway" v="halt|tram_stop" zoom-min="17"> <m k="railway" v="halt|tram_stop" zoom-min="17">
<circle radius="4" fill="#ec2d2d" stroke="#606060" width="1.5" /> <circle r="4" fill="#ec2d2d" stroke="#606060" stroke-width="1.5" />
<caption k="name" dy="-15" font-style="bold" font-size="11" fill="#ec2d2d" <caption k="name" dy="-15" font-style="bold" font-size="11" fill="#ec2d2d" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" />
</m> </m>
</m> </m>
@ -1172,8 +1220,7 @@
</m> </m>
<m zoom-min="17"> <m zoom-min="17">
<caption k="name" font-style="bold" font-size="10" fill="#4040ff" <caption k="name" font-style="bold" font-size="10" fill="#4040ff" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" />
</m> </m>
</m> </m>
@ -1199,9 +1246,8 @@
</m> </m>
<m zoom-min="17"> <m zoom-min="17">
<caption k="name" font-style="bold" font-size="10" fill="#4040ff" <caption k="name" font-style="bold" font-size="10" fill="#4040ff" stroke="#ffffff" stroke-width="2.0" />
stroke="#ffffff" width="2.0" /> </m>
</m> </m>
</m> </m>
</m> -->
</rendertheme> </rendertheme>

View File

@ -1,111 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<rendertheme xmlns="http://mapsforge.org/renderTheme" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <rendertheme xmlns="http://mapsforge.org/renderTheme" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://mapsforge.org/renderTheme ../renderTheme.xsd" version="1" xsi:schemaLocation="http://mapsforge.org/renderTheme ../../renderTheme.xsd" version="1"
map-background="#050508"> map-background="#050508">
<style-text name="road" k="name" font-style="bold" font-size="18" stroke="#606050" <style-text id="road" k="name" font-style="bold" font-size="18" stroke="#606050"
fill="#eeffee" stroke-width="2.5" /> fill="#eeffee" stroke-width="2.5" />
<style-text name="major-road" k="name" font-style="bold" font-size="19" fill="#e2cf5d" <style-text id="major-road" k="name" font-style="bold" font-size="19" fill="#e2cf5d"
stroke="#101010" stroke-width="2.5" /> stroke="#101010" stroke-width="2.5" />
<style-area name="residential" fill="#ff0000" fade="10" /> <style-area id="residential" fill="#ff0000" fade="10" />
<style-area name="railway|industrial" fill="#f2eeef" fade="10" /> <style-area id="railway|industrial" fill="#f2eeef" fade="10" />
<!-- "#f0fae7" mint green --> <!-- "#f0fae7" mint green -->
<style-area name="farmland" fill="#fff8bf" fade="11" /> <style-area id="farmland" fill="#fff8bf" fade="11" />
<!-- fade out at z=7, blend over to 'blend-fill' in z=11 --> <!-- fade out at z=7, blend over to 'blend-fill' in z=11 -->
<style-area name="forest|wood" fill="#151806" fade="7" blend="11" blend-fill="#1e2205" /> <style-area id="forest|wood" fill="#151806" fade="7" blend="11" blend-fill="#1e2205" />
<!-- grass|meadow|garden|grassland|scrub --> <!-- grass|meadow|garden|grassland|scrub -->
<style-area name="greens" fill="#33390c" fade="10" /> <style-area id="greens" fill="#33390c" fade="10" />
<!-- marsh|wetland|nature_reserve --> <!-- marsh|wetland|nature_reserve -->
<style-area name="greens2" fill="#627100" fade="12" /> <style-area id="greens2" fill="#627100" fade="12" />
<!-- park|common|green|cemetery|golf_course|dog_park --> <!-- park|common|green|cemetery|golf_course|dog_park -->
<style-area name="park" fill="#627100" fade="11" /> <style-area id="park" fill="#627100" fade="11" />
<!-- de:Kleingartengebiet --> <!-- de:Kleingartengebiet -->
<style-area name="allotments" fill="#efeae0" fade="12" /> <style-area id="allotments" fill="#efeae0" fade="12" />
<!-- de:Steinbruch, Schotter-, Kies-, Sand- und Tongrube --> <!-- de:Steinbruch, Schotter-, Kies-, Sand- und Tongrube -->
<style-area name="quarry" fill="#ddddcc" fade="10" /> <style-area id="quarry" fill="#ddddcc" fade="10" />
<style-area name="military" fill="#eeedea" fade="10" /> <style-area id="military" fill="#eeedea" fade="10" />
<style-line name="residential" stroke="#ffffff" width="1.0" blur="1.0" fade="13" /> <style-line id="residential" stroke="#ffffff" width="1.0" blur="1.0" fade="13" />
<style-line name="residential:bridge" from="residential" cap="square" /> <style-line id="residential:bridge" use="residential" cap="square" />
<!-- when inheriting another style with 'from' then 'witdth' is meant relative to the parent --> <!-- when inheriting another style with 'from' then 'witdth' is meant relative to the parent -->
<style-line name="pedestrian" from="residential" width="-0.4" /> <style-line id="pedestrian" use="residential" width="-0.4" />
<style-line name="pedestrian:bridge" from="pedestrian" cap="square" /> <style-line id="pedestrian:bridge" use="pedestrian" cap="square" />
<style-line name="highway:z11" stroke="#fcba5a" width="1.8" blur="0.9" /> <style-line id="highway:z11" stroke="#fcba5a" width="1.8" blur="0.9" />
<!-- <style-line name="highway:z11:bridge" from="highway:z11" cap="butt" /> --> <!-- <style-line id="highway:z11:bridge" use="highway:z11" cap="butt" /> -->
<style-line name="trunk_link" stroke="#fee16e" width="1.3" cap="butt" blur="0.9" /> <style-line id="trunk_link" stroke="#fee16e" width="1.3" cap="butt" blur="0.9" />
<style-line name="trunk" stroke="#fedb52" width="1.6" blur="0.9" /> <style-line id="trunk" stroke="#fedb52" width="1.6" blur="0.9" />
<style-line name="primary:z11" stroke="#f2df6d" width="1.5" blur="0.9" /> <style-line id="primary:z11" stroke="#f2df6d" width="1.5" blur="0.9" />
<style-line name="secondary:z11" from="primary:z11" width="-0.1" /> <style-line id="secondary:z11" use="primary:z11" width="-0.1" />
<style-line name="tertiary" from="residential" width="0.2" fade="11" /> <style-line id="tertiary" use="residential" width="0.2" fade="11" />
<style-line name="construction" stroke="#e0e0e0" width="1.2" /> <style-line id="construction" stroke="#e0e0e0" width="1.2" />
<style-line name="highway-service" from="residential" width="-0.6" /> <style-line id="highway-service" use="residential" width="-0.6" />
<!-- track|footway|path|cycleway --> <!-- track|footway|path|cycleway -->
<style-line name="footway" stroke="#c1bcb6" width="1.2" cap="butt" fix="true" /> <style-line id="footway" stroke="#c1bcb6" width="1.2" cap="butt" fix="true" />
<style-line name="footway:z16" from="footway" width="-1.0" fixed="false" <style-line id="footway:z16" use="footway" width="-1.0" fix="false"
fade="-1" /> fade="-1" />
<style-line name="footway:z17" stroke="#faf8f5" width="0.3" /> <style-line id="footway:z17" stroke="#faf8f5" width="0.3" />
<!-- de: ein Weg der für Reiter vorgeshen ist.. --> <!-- de: ein Weg der für Reiter vorgeshen ist.. -->
<style-line name="bridleway" stroke="#d3cb98" width="0.4" cap="butt" /> <style-line id="bridleway" stroke="#d3cb98" width="0.4" cap="butt" />
<style-line name="steps" stroke="#f1f0f4" width="0.25" cap="butt" /> <style-line id="steps" stroke="#f1f0f4" width="0.25" cap="butt" />
<style-line name="water:outline" stroke="#a4bbcc" width="1.0" cap="butt" /> <style-line id="water:outline" stroke="#a4bbcc" width="1.0" cap="butt" />
<style-line name="water" stroke="#cca4bbcc" width="0.6" cap="butt" /> <style-line id="water" stroke="#cca4bbcc" width="0.6" cap="butt" />
<style-area name="water" fill="#001223" /> <style-area id="water" fill="#001223" />
<!-- no-go area boundary --> <!-- no-go area boundary -->
<style-line name="fence" stroke="#444444" width="1.2" fix="true" cap="butt" /> <style-line id="fence" stroke="#444444" width="1.2" fix="true" cap="butt" />
<style-line name="aeroway:runway" stroke="#008888" width="1.8" cap="butt" <style-line id="aeroway:runway" stroke="#008888" width="1.8" cap="butt"
blur="0.7" /> blur="0.7" />
<style-line name="building" stroke="#dd888888" width="1.5" fix="true" cap="butt" /> <style-line id="building" stroke="#dd888888" width="1.5" fix="true" cap="butt" />
<style-area name="building" fill="#ee202020" fade="15" /> <style-area id="building" fill="#ee202020" fade="15" />
<!-- ways --> <!-- ways -->
<m e="way"> <m e="way">
<m k="natural" v="grassland|scrub" zoom-min="10"> <m k="natural" v="grassland|scrub" zoom-min="10">
<use-area name="greens" /> <area use="greens" />
</m> </m>
<!-- landuse base --> <!-- landuse base -->
<m k="landuse"> <m k="landuse">
<!-- <m zoom-min="10" v="farmland|farm|orchard|vineyard|greenhouse_horticulture|plant_nursery"> <!-- <m zoom-min="10" v="farmland|farm|orchard|vineyard|greenhouse_horticulture|plant_nursery">
<use-area name="farmland"/> <area use="farmland"/>
</m> </m>
<m v="quarry"> <m v="quarry">
<use-area name="quarry"/> <area use="quarry"/>
</m> </m>
<m v="residential|farmyard|retail|commercial|industrial;retail"> <m v="residential|farmyard|retail|commercial|industrial;retail">
<use-area name="residential" /> <area use="residential" />
</m> </m>
<m v="industrial|railway"> <m v="industrial|railway">
<use-area name ="railway|industrial"/> <area use ="railway|industrial"/>
</m> </m>
--> -->
<!-- <m v="military"> <!-- <m v="military">
<use-area name="military"/> <area use="military"/>
</m> --> </m> -->
<!--<m k="landuse" v="construction|greenfield"> <area fill="#a47c41" <!--<m k="landuse" v="construction|greenfield"> <area fill="#a47c41"
@ -118,7 +118,7 @@
<m k="landuse|natural|leisure||amenity"> <m k="landuse|natural|leisure||amenity">
<!-- kind of more like landuse imho --> <!-- kind of more like landuse imho -->
<m k="leisure|landuse" v="nature_reserve"> <m k="leisure|landuse" v="nature_reserve">
<use-area name="greens2" /> <area use="greens2" />
<m zoom-min="14"> <m zoom-min="14">
<line stroke="#abe29c" width="1.0" fix="true" cap="butt" /> <line stroke="#abe29c" width="1.0" fix="true" cap="butt" />
</m> </m>
@ -128,24 +128,24 @@
<m k="landuse" zoom-min="11"> <m k="landuse" zoom-min="11">
<!-- how about 'leisure' for this one? --> <!-- how about 'leisure' for this one? -->
<m v="cemetery"> <m v="cemetery">
<use-area name="park" /> <area use="park" />
</m> </m>
<m v="reservoir|basin"> <m v="reservoir|basin">
<use-area name="water" /> <area use="water" />
</m> </m>
</m> </m>
<m k="landuse" v="village_green|recreation_ground"> <m k="landuse" v="village_green|recreation_ground">
<use-area name="greens" /> <area use="greens" />
</m> </m>
<!-- <m k="landuse" v="allotments" zoom-min="12"> <!-- <m k="landuse" v="allotments" zoom-min="12">
<use-area name="allotments"/> <area use="allotments"/>
</m> --> </m> -->
<m k="leisure" v="park|common|green|golf_course|dog_park" zoom-min="11"> <m k="leisure" v="park|common|green|golf_course|dog_park" zoom-min="11">
<use-area name="park" /> <area use="park" />
</m> </m>
<!-- Heideland, keep below forest --> <!-- Heideland, keep below forest -->
@ -154,21 +154,21 @@
</m> </m>
<m k="landuse" v="forest"> <m k="landuse" v="forest">
<use-area name="forest|wood" /> <area use="forest|wood" />
</m> </m>
<m k="natural" v="wood"> <m k="natural" v="wood">
<use-area name="forest|wood" /> <area use="forest|wood" />
<!-- <line stroke="#abcfab" width="1.5" fix="true" cap="butt"/> --> <!-- <line stroke="#abcfab" width="1.5" fix="true" cap="butt"/> -->
</m> </m>
<!-- keep grass above forest:wood and leisure:park! --> <!-- keep grass above forest:wood and leisure:park! -->
<m k="landuse" v="grass|meadow"> <m k="landuse" v="grass|meadow">
<use-area name="greens" /> <area use="greens" />
</m> </m>
<m k="leisure" v="garden"> <m k="leisure" v="garden">
<use-area name="greens" /> <area use="greens" />
</m> </m>
@ -211,7 +211,7 @@
</m> --> </m> -->
<m v="marsh|wetland|mud"> <m v="marsh|wetland|mud">
<use-area name="greens2" /> <area use="greens2" />
</m> </m>
</m> </m>
@ -260,7 +260,7 @@
</m> </m>
<m v="military"> <m v="military">
<use-line name="fence" /> <line use="fence" />
</m> </m>
</m> </m>
</m> </m>
@ -272,38 +272,38 @@
<m k="waterway"> <m k="waterway">
<m k="waterway" v="ditch|drain" zoom-min="14"> <m k="waterway" v="ditch|drain" zoom-min="14">
<use-line name="water" width="0.1" fix="true" /> <line use="water" width="0.1" fix="true" />
</m> </m>
<m k="waterway" v="canal"> <m k="waterway" v="canal">
<use-line name="water" width="-0.2" /> <line use="water" width="-0.2" />
</m> </m>
<m k="waterway" v="stream" zoom-min="14"> <m k="waterway" v="stream" zoom-min="14">
<use-line name="water" width="-0.1" /> <line use="water" width="-0.1" />
</m> </m>
<style-outline name="river" width="1.0" stroke="#456799" blur="1.0" /> <style-outline id="river" width="1.0" stroke="#456799" blur="1.0" />
<m k="waterway" v="river" closed="no"> <m k="waterway" v="river" closed="no">
<m zoom-min="12"> <m zoom-min="12">
<use-line name="water" width="0.5" /> <line use="water" width="0.5" />
<use-outline name="river" /> <outline use="river" />
</m> </m>
<m zoom-max="12"> <m zoom-max="12">
<use-line name="water" width="1.0" fix="true" fade="9" /> <line use="water" width="1.0" fix="true" fade="9" />
</m> </m>
</m> </m>
<m k="waterway" v="riverbank|dock"> <m k="waterway" v="riverbank|dock">
<use-area name="water" /> <area use="water" />
<use-line name="water" width="1.0" fix="true" /> <line use="water" width="1.0" fix="true" />
</m> </m>
<m k="waterway" v="river" closed="yes"> <m k="waterway" v="river" closed="yes">
<use-area name="water" /> <area use="water" />
<use-line name="water" width="1.0" fix="true" /> <line use="water" width="1.0" fix="true" />
</m> </m>
@ -322,8 +322,8 @@
</m> </m>
<m k="natural" v="water"> <m k="natural" v="water">
<use-area name="water" /> <area use="water" />
<use-line name="water:outline" width="0.5" fix="true" /> <line use="water:outline" width="0.5" fix="true" />
</m> </m>
@ -347,94 +347,94 @@
<!-- outline 0 --> <!-- outline 0 -->
<style-outline name="0" stroke="#44000000" width="0.1" /> <style-outline id="0" stroke="#44000000" width="0.1" />
<!-- tunnel --> <!-- tunnel -->
<m k="tunnel" v="yes|true" zoom-min="11"> <m k="tunnel" v="yes|true" zoom-min="11">
<!-- highway tunnels --> <!-- highway tunnels -->
<m k="highway"> <m k="highway">
<m zoom-min="15"> <m zoom-min="15">
<m v="steps"> <m v="steps">
<use-line name="steps" /> <line use="steps" />
<use-outline name="0" /> <outline use="0" />
</m> </m>
<m v="track|footway|path|cycleway" zoom-min="16"> <m v="track|footway|path|cycleway" zoom-min="16">
<use-line name="footway:z16" /> <line use="footway:z16" />
</m> </m>
</m> </m>
<m zoom-min="14"> <m zoom-min="14">
<m v="track|footway|path|cycleway" zoom-max="15"> <m v="track|footway|path|cycleway" zoom-max="15">
<use-line name="footway" /> <line use="footway" />
</m> </m>
<m v="bridleway"> <m v="bridleway">
<use-line name="bridleway" /> <line use="bridleway" />
</m> </m>
<m v="construction"> <m v="construction">
<use-line name="construction" /> <line use="construction" />
<use-outline name="0" /> <outline use="0" />
</m> </m>
<m v="service"> <m v="service">
<m k="service" v="-|parking_aisle"> <m k="service" v="-|parking_aisle">
<use-line name="highway-service" /> <line use="highway-service" />
<use-outline name="0" /> <outline use="0" />
</m> </m>
</m> </m>
</m> </m>
<m v="trunk_link|motorway_link"> <m v="trunk_link|motorway_link">
<use-line name="trunk_link" /> <line use="trunk_link" />
<use-outline name="0" /> <outline use="0" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m zoom-min="13"> <m zoom-min="13">
<m v="byway|pedestrian"> <m v="byway|pedestrian">
<use-line name="pedestrian" /> <line use="pedestrian" />
<use-outline name="0" /> <outline use="0" />
<use-text name="road" /> <text use="road" />
</m> </m>
<m v="residential|road|unclassified|living_street"> <m v="residential|road|unclassified|living_street">
<use-line name="residential" /> <line use="residential" />
<use-outline name="0" /> <outline use="0" />
<use-text name="road" /> <text use="road" />
</m> </m>
</m> </m>
<m v="tertiary|secondary_link"> <m v="tertiary|secondary_link">
<use-line name="tertiary" /> <line use="tertiary" />
<use-outline name="0" /> <outline use="0" />
<use-text name="road" /> <text use="road" />
</m> </m>
<m v="secondary|primary_link"> <m v="secondary|primary_link">
<use-line name="secondary:z11" /> <line use="secondary:z11" />
<use-outline name="0" /> <outline use="0" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="primary"> <m v="primary">
<use-line name="primary:z11" /> <line use="primary:z11" />
<use-outline name="0" /> <outline use="0" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="trunk"> <m v="trunk">
<use-line name="trunk" blur="0.3" /> <line use="trunk" blur="0.3" />
<use-outline name="0" /> <outline use="0" />
<!-- <use-outline name="glow"/> --> <!-- <outline use="glow"/> -->
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="motorway"> <m v="motorway">
<use-line name="highway:z11" blur="0.3" /> <line use="highway:z11" blur="0.3" />
<use-outline name="0" /> <outline use="0" />
<!-- <use-outline name="glow"/> --> <!-- <outline use="glow"/> -->
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
</m> </m>
@ -471,8 +471,8 @@
</m> --> </m> -->
<!-- Airport passenger building --> <!-- Airport passenger building -->
<m v="terminal|hangar"> <m v="terminal|hangar">
<use-area name="building" /> <area use="building" />
<use-line name="building" /> <line use="building" />
</m> </m>
</m> </m>
@ -485,8 +485,8 @@
<m k="building"> <m k="building">
<m zoom-min="15"> <m zoom-min="15">
<use-area name="building" fade="15" /> <area use="building" fade="15" />
<use-line name="building" fade="15" /> <line use="building" fade="15" />
<!-- <line stroke="#c9c3c1" width="1.0" fix="true" cap="butt" fade="15"/> <!-- <line stroke="#c9c3c1" width="1.0" fix="true" cap="butt" fade="15"/>
<area fill="#e9e6e3" fade="15" /> --> <area fill="#e9e6e3" fade="15" /> -->
</m> </m>
@ -500,16 +500,16 @@
</m> </m>
<!-- outline 1 - 4 --> <!-- outline 1 - 4 -->
<style-outline name="glow3" stroke="#ddffffff" width="0.8" blur="0.5" <style-outline id="glow3" stroke="#ddffffff" width="0.8" blur="0.5"
fade="13" /> fade="13" />
<!-- > <style-outline name="glow" stroke="#ee909090" width="0.8" blur="0.5" fade="14"/> --> <!-- > <style-outline id="glow" stroke="#ee909090" width="0.8" blur="0.5" fade="14"/> -->
<style-outline name="glow2" width="1.0" stroke="#ffffff" blur="1.0" <style-outline id="glow2" width="1.0" stroke="#ffffff" blur="1.0"
fade="13" /> fade="13" />
<style-outline name="1" stroke="#dd000000" width="-0.3" fade="14" /> <style-outline id="1" stroke="#dd000000" width="-0.3" fade="14" />
<!-- <style-outline name="1" stroke="#404030"/> --> <!-- <style-outline id="1" stroke="#404030"/> -->
<style-outline name="2" stroke="#c0c0c0" /> <style-outline id="2" stroke="#c0c0c0" />
<style-outline name="primary" stroke="#7f7700" width="0.025" /> <style-outline id="primary" stroke="#7f7700" width="0.025" />
<style-outline name="motorway" stroke="#805f2e" width="0.025" /> <style-outline id="motorway" stroke="#805f2e" width="0.025" />
<!-- highway --> <!-- highway -->
@ -581,98 +581,98 @@
<m k="area" v="~|no|false"> <m k="area" v="~|no|false">
<m zoom-min="15"> <m zoom-min="15">
<m v="steps"> <m v="steps">
<use-line name="steps" /> <line use="steps" />
<use-outline name="2" /> <outline use="2" />
</m> </m>
<m v="track|footway|path|cycleway" zoom-min="16" zoom-max="16"> <m v="track|footway|path|cycleway" zoom-min="16" zoom-max="16">
<use-line name="footway:z16" /> <line use="footway:z16" />
</m> </m>
<m v="track|footway|path|cycleway" zoom-min="17"> <m v="track|footway|path|cycleway" zoom-min="17">
<use-line name="footway:z17" /> <line use="footway:z17" />
<!-- <use-outline name="1"/> --> <!-- <outline use="1"/> -->
</m> </m>
</m> </m>
<m zoom-min="14"> <m zoom-min="14">
<m v="track|footway|path|cycleway" zoom-max="15"> <m v="track|footway|path|cycleway" zoom-max="15">
<use-line name="footway" /> <line use="footway" />
</m> </m>
<m v="bridleway"> <m v="bridleway">
<use-line name="bridleway" /> <line use="bridleway" />
</m> </m>
<m v="construction"> <m v="construction">
<use-line name="construction" /> <line use="construction" />
<use-outline name="1" /> <outline use="1" />
</m> </m>
<m v="service"> <m v="service">
<m k="service" v="-|parking_aisle"> <m k="service" v="-|parking_aisle">
<use-line name="highway-service" /> <line use="highway-service" />
<use-outline name="1" /> <outline use="1" />
</m> </m>
<!-- <m k="service" v="parking_aisle" zoom-min="16"> <!-- <m k="service" v="parking_aisle" zoom-min="16">
<use-line name="highway-service" width="-0.4"/> <line use="highway-service" width="-0.4"/>
<use-outline name="1"/> <outline use="1"/>
</m> --> </m> -->
</m> </m>
</m> </m>
<m v="trunk_link|motorway_link"> <m v="trunk_link|motorway_link">
<use-line name="trunk_link" /> <line use="trunk_link" />
<use-outline name="motorway" /> <outline use="motorway" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m zoom-min="13"> <m zoom-min="13">
<m v="byway|pedestrian"> <m v="byway|pedestrian">
<use-line name="residential" width="-0.4" /> <line use="residential" width="-0.4" />
<use-outline name="1" /> <outline use="1" />
<use-text name="road" /> <text use="road" />
</m> </m>
<m v="residential|road|unclassified|living_street"> <m v="residential|road|unclassified|living_street">
<use-line name="residential" /> <line use="residential" />
<use-outline name="1" /> <outline use="1" />
<use-outline name="glow" /> <outline use="glow" />
<use-text name="road" /> <text use="road" />
</m> </m>
</m> </m>
<m v="tertiary|secondary_link"> <m v="tertiary|secondary_link">
<use-line name="tertiary" /> <line use="tertiary" />
<use-outline name="1" /> <outline use="1" />
<use-outline name="glow" /> <outline use="glow" />
<use-text name="road" /> <text use="road" />
</m> </m>
<m v="secondary|primary_link"> <m v="secondary|primary_link">
<!-- <line stroke="#fff939" width="1.6" /> --> <!-- <line stroke="#fff939" width="1.6" /> -->
<use-line name="secondary:z11" /> <line use="secondary:z11" />
<use-outline name="primary" /> <outline use="primary" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="primary"> <m v="primary">
<use-line name="primary:z11" /> <line use="primary:z11" />
<use-outline name="primary" /> <outline use="primary" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="trunk"> <m v="trunk">
<use-line name="trunk" /> <line use="trunk" />
<use-outline name="motorway" /> <outline use="motorway" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="motorway"> <m v="motorway">
<use-line name="highway:z11" /> <line use="highway:z11" />
<use-outline name="motorway" /> <outline use="motorway" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
</m> <!-- end area=~|no|false --> </m> <!-- end area=~|no|false -->
</m> <!-- end tunnel|bridge=~|no|false --> </m> <!-- end tunnel|bridge=~|no|false -->
@ -681,91 +681,91 @@
<m k="bridge" v="yes|true|viaduct|suspension"> <m k="bridge" v="yes|true|viaduct|suspension">
<m k="area" v="~|no|false"> <m k="area" v="~|no|false">
<style-outline name="bridge" stroke="#aa202020" width="0.08" /> <style-outline id="bridge" stroke="#aa202020" width="0.08" />
<m zoom-min="15"> <m zoom-min="15">
<m v="steps"> <m v="steps">
<use-line name="steps" /> <line use="steps" />
<use-outline name="bridge" /> <outline use="bridge" />
</m> </m>
<m v="track|footway|path|cycleway" zoom-min="16" zoom-max="16"> <m v="track|footway|path|cycleway" zoom-min="16" zoom-max="16">
<use-line name="footway:z16" /> <line use="footway:z16" />
</m> </m>
<m v="track|footway|path|cycleway" zoom-min="17"> <m v="track|footway|path|cycleway" zoom-min="17">
<use-line name="footway:z17" cap="butt" /> <line use="footway:z17" cap="butt" />
<use-outline name="bridge" /> <outline use="bridge" />
</m> </m>
</m> </m>
<m zoom-min="14"> <m zoom-min="14">
<m v="track|footway|path|cycleway" zoom-max="15"> <m v="track|footway|path|cycleway" zoom-max="15">
<use-line name="footway" /> <line use="footway" />
</m> </m>
<m v="bridleway"> <m v="bridleway">
<use-line name="bridleway" /> <line use="bridleway" />
</m> </m>
<m v="construction"> <m v="construction">
<use-line name="construction" cap="square" /> <line use="construction" cap="square" />
<use-outline name="bridge" /> <outline use="bridge" />
</m> </m>
<m v="service"> <m v="service">
<use-line name="highway-service" cap="square" /> <line use="highway-service" cap="square" />
<use-outline name="bridge" /> <outline use="bridge" />
</m> </m>
</m> </m>
<m zoom-min="13"> <m zoom-min="13">
<m v="byway|pedestrian"> <m v="byway|pedestrian">
<use-line name="pedestrian:bridge" /> <line use="pedestrian:bridge" />
<use-outline name="bridge" /> <outline use="bridge" />
<use-text name="road" /> <text use="road" />
</m> </m>
<m v="residential|road|unclassified|living_street"> <m v="residential|road|unclassified|living_street">
<use-line name="residential:bridge" /> <line use="residential:bridge" />
<use-outline name="bridge" /> <outline use="bridge" />
<use-text name="road" /> <text use="road" />
</m> </m>
</m> </m>
<m v="tertiary|secondary_link"> <m v="tertiary|secondary_link">
<use-line name="tertiary" cap="square" /> <line use="tertiary" cap="square" />
<use-outline name="bridge" /> <outline use="bridge" />
<use-text name="road" /> <text use="road" />
</m> </m>
<m v="trunk_link|motorway_link"> <m v="trunk_link|motorway_link">
<use-line name="trunk_link" cap="square" /> <line use="trunk_link" cap="square" />
<use-outline name="bridge" /> <outline use="bridge" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="secondary|primary_link"> <m v="secondary|primary_link">
<!-- <line stroke="#fff939" width="1.6" cap="butt" /> --> <!-- <line stroke="#fff939" width="1.6" cap="butt" /> -->
<use-line name="secondary:z11" cap="square" /> <line use="secondary:z11" cap="square" />
<use-outline name="bridge" /> <outline use="bridge" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="primary"> <m v="primary">
<use-line name="primary:z11" cap="square" /> <line use="primary:z11" cap="square" />
<use-outline name="bridge" /> <outline use="bridge" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="trunk"> <m v="trunk">
<use-line name="trunk" cap="square" /> <line use="trunk" cap="square" />
<use-outline name="bridge" /> <outline use="bridge" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
<m v="motorway"> <m v="motorway">
<use-line name="highway:z11" cap="square" /> <line use="highway:z11" cap="square" />
<use-outline name="bridge" /> <outline use="bridge" />
<use-text name="major-road" /> <text use="major-road" />
</m> </m>
</m> <!-- end area=~|no|false --> </m> <!-- end area=~|no|false -->
@ -792,10 +792,10 @@
<!-- runways cores --> <!-- runways cores -->
<m k="aeroway"> <m k="aeroway">
<m v="runway"> <m v="runway">
<use-line name="aeroway:runway" /> <line use="aeroway:runway" />
</m> </m>
<m v="taxiway"> <m v="taxiway">
<use-line name="aeroway:runway" width="-0.8" /> <line use="aeroway:runway" width="-0.8" />
</m> </m>
</m> </m>

View File

@ -59,14 +59,14 @@
<xs:simpleType name="src"> <xs:simpleType name="src">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern value="(jar|file)\:.+" /> <!-- <xs:pattern value="(jar|file)\:.+" /> -->
<xs:pattern value=".+" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="strokeDasharray"> <xs:simpleType name="strokeDasharray">
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:pattern <xs:pattern value="([0-9]+(\.[0-9]+)? *, *[0-9]+(\.[0-9]+)? *, *)*[0-9]+(\.[0-9]+)? *, *[0-9]+(\.[0-9]+)?" />
value="([0-9]+(\.[0-9]+)? *, *[0-9]+(\.[0-9]+)? *, *)*[0-9]+(\.[0-9]+)? *, *[0-9]+(\.[0-9]+)?" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
@ -79,15 +79,14 @@
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<!-- rendering instructions --> <!-- rendering instructions -->
<xs:complexType name="area"> <xs:complexType name="area">
<xs:attribute name="name" type="xs:string" use="optional" default="0" /> <xs:attribute name="id" type="xs:string" use="optional" default="0" />
<xs:attribute name="use" type="xs:string" use="optional" default="0" />
<xs:attribute name="src" type="tns:src" use="optional" /> <xs:attribute name="src" type="tns:src" use="optional" />
<xs:attribute name="fill" type="tns:color" use="optional" default="#000000" /> <xs:attribute name="fill" type="tns:color" use="optional" default="#000000" />
<xs:attribute name="stroke" type="tns:color" use="optional" default="#00000000" /> <xs:attribute name="stroke" type="tns:color" use="optional" default="#00000000" />
<xs:attribute name="stroke-width" type="tns:nonNegativeFloat" use="optional" <xs:attribute name="stroke-width" type="tns:nonNegativeFloat" use="optional" default="0" />
default="0" />
<xs:attribute name="fade" type="xs:integer" use="optional" default="-1" /> <xs:attribute name="fade" type="xs:integer" use="optional" default="-1" />
<xs:attribute name="blend" type="xs:integer" use="optional" default="-1" /> <xs:attribute name="blend" type="xs:integer" use="optional" default="-1" />
<xs:attribute name="blend-fill" type="tns:color" use="optional" default="#000000" /> <xs:attribute name="blend-fill" type="tns:color" use="optional" default="#000000" />
@ -96,44 +95,53 @@
<xs:complexType name="caption"> <xs:complexType name="caption">
<xs:attribute name="k" type="tns:textKey" use="required" /> <xs:attribute name="k" type="tns:textKey" use="required" />
<xs:attribute name="dy" type="xs:float" use="optional" default="0" /> <xs:attribute name="dy" type="xs:float" use="optional" default="0" />
<xs:attribute name="font-family" type="tns:fontFamily" use="optional" <xs:attribute name="font-family" type="tns:fontFamily" use="optional" default="default" />
default="default" /> <xs:attribute name="font-style" type="tns:fontStyle" use="optional" default="normal" />
<xs:attribute name="font-style" type="tns:fontStyle" use="optional" <xs:attribute name="font-size" type="tns:nonNegativeFloat" use="optional" default="0" />
default="normal" />
<xs:attribute name="font-size" type="tns:nonNegativeFloat" use="optional"
default="0" />
<xs:attribute name="fill" type="tns:color" use="optional" default="#000000" /> <xs:attribute name="fill" type="tns:color" use="optional" default="#000000" />
<xs:attribute name="stroke" type="tns:color" use="optional" default="#000000" /> <xs:attribute name="stroke" type="tns:color" use="optional" default="#000000" />
<xs:attribute name="stroke-width" type="tns:nonNegativeFloat" use="optional" <xs:attribute name="stroke-width" type="tns:nonNegativeFloat" use="optional" default="0" />
default="0" /> <!-- priority for label placement, 0 = highest priority -->
<xs:attribute name="priority" type="xs:integer" use="optional" default="0" />
<!-- symbol src name in atlas -->
<xs:attribute name="symbol" type="tns:src" use="optional" />
</xs:complexType> </xs:complexType>
<xs:complexType name="circle"> <xs:complexType name="circle">
<xs:attribute name="r" type="tns:nonNegativeFloat" use="required" /> <xs:attribute name="r" type="tns:nonNegativeFloat" use="required" />
<xs:attribute name="scale-radius" type="xs:boolean" use="optional" <xs:attribute name="scale-radius" type="xs:boolean" use="optional" default="false" />
default="false" />
<xs:attribute name="fill" type="tns:color" use="optional" default="#00000000" /> <xs:attribute name="fill" type="tns:color" use="optional" default="#00000000" />
<xs:attribute name="stroke" type="tns:color" use="optional" default="#00000000" /> <xs:attribute name="stroke" type="tns:color" use="optional" default="#00000000" />
<xs:attribute name="stroke-width" type="tns:nonNegativeFloat" use="optional" <xs:attribute name="stroke-width" type="tns:nonNegativeFloat" use="optional" default="0" />
default="0" />
</xs:complexType> </xs:complexType>
<xs:complexType name="line"> <xs:complexType name="line">
<!-- named style --> <!-- style: TODO only in style-line-->
<xs:attribute name="name" type="xs:string" use="optional" default="0" /> <xs:attribute name="id" type="xs:string" use="optional" default="0" />
<!-- inherited style --> <!-- inherited style -->
<xs:attribute name="from" type="xs:string" use="optional" default="0" /> <xs:attribute name="use" type="xs:string" use="optional" default="0" />
<xs:attribute name="src" type="tns:src" use="optional" /> <xs:attribute name="src" type="tns:src" use="optional" />
<xs:attribute name="stroke" type="tns:color" use="optional" default="#000000" /> <xs:attribute name="stroke" type="tns:color" use="optional" default="#000000" />
<xs:attribute name="width" type="xs:float" use="optional" default="0" /> <xs:attribute name="width" type="xs:float" use="optional" default="0" />
<!-- minimum scaled width to draw outline --> <!-- minimum scaled width to draw outline -->
<xs:attribute name="min" type="xs:float" use="optional" default="0" /> <xs:attribute name="min" type="xs:float" use="optional" default="0" />
<xs:attribute name="stroke-dasharray" type="tns:strokeDasharray" use="optional" /> <xs:attribute name="dasharray" type="tns:strokeDasharray" use="optional" />
<xs:attribute name="cap" type="tns:cap" use="optional" default="round" /> <xs:attribute name="cap" type="tns:cap" use="optional" default="round" />
<xs:attribute name="outline" type="xs:integer" use="optional" default="0" /> <xs:attribute name="outline" type="xs:integer" use="optional" default="0" />
<xs:attribute name="fade" type="xs:integer" use="optional" default="-1" /> <xs:attribute name="fade" type="xs:integer" use="optional" default="-1" />
<xs:attribute name="blur" type="xs:float" use="optional" default="-1" /> <xs:attribute name="blur" type="xs:float" use="optional" default="-1" />
<xs:attribute name="fix" type="xs:boolean" use="optional" default="false" /> <xs:attribute name="fix" type="xs:boolean" use="optional" default="false" />
<!-- stipple repeat in 'pixel' -->
<xs:attribute name="stipple" type="xs:integer" use="optional" default="0" />
<!-- stipple color -->
<xs:attribute name="stipple-stroke" type="tns:color" use="optional" default="#000000" />
<!-- stipple width relative to line width, i.e 0.0-1.0 -->
<xs:attribute name="stipple-width" type="xs:float" use="optional" default="0" />
</xs:complexType> </xs:complexType>
<!-- <xs:complexType name="outline"> <!-- <xs:complexType name="outline">
@ -148,27 +156,25 @@
--> -->
<xs:complexType name="lineSymbol"> <xs:complexType name="lineSymbol">
<xs:attribute name="src" type="tns:src" use="required" /> <xs:attribute name="src" type="tns:src" use="required" />
<xs:attribute name="align-center" type="xs:boolean" use="optional" <xs:attribute name="align-center" type="xs:boolean" use="optional" default="false" />
default="false" />
<xs:attribute name="repeat" type="xs:boolean" use="optional" default="false" /> <xs:attribute name="repeat" type="xs:boolean" use="optional" default="false" />
</xs:complexType> </xs:complexType>
<xs:complexType name="text"> <xs:complexType name="text">
<xs:attribute name="name" type="xs:string" use="optional" default="0" /> <xs:attribute name="id" type="xs:string" use="optional" default="0" />
<xs:attribute name="style" type="xs:string" use="optional" default="0" /> <xs:attribute name="use" type="xs:string" use="optional" default="0" />
<xs:attribute name="k" type="tns:textKey" use="optional" default="name" /> <xs:attribute name="k" type="tns:textKey" use="optional" default="name" />
<xs:attribute name="dy" type="xs:float" use="optional" default="0" /> <xs:attribute name="dy" type="xs:float" use="optional" default="0" />
<xs:attribute name="font-family" type="tns:fontFamily" use="optional" <xs:attribute name="font-family" type="tns:fontFamily" use="optional" default="default" />
default="default" /> <xs:attribute name="font-style" type="tns:fontStyle" use="optional" default="normal" />
<xs:attribute name="font-style" type="tns:fontStyle" use="optional" <xs:attribute name="font-size" type="tns:nonNegativeFloat" use="optional" default="0" />
default="normal" />
<xs:attribute name="font-size" type="tns:nonNegativeFloat" use="optional"
default="0" />
<xs:attribute name="fill" type="tns:color" use="optional" default="#000000" /> <xs:attribute name="fill" type="tns:color" use="optional" default="#000000" />
<xs:attribute name="stroke" type="tns:color" use="optional" default="#000000" /> <xs:attribute name="stroke" type="tns:color" use="optional" default="#000000" />
<xs:attribute name="stroke-width" type="tns:nonNegativeFloat" use="optional" <xs:attribute name="stroke-width" type="tns:nonNegativeFloat" use="optional" default="0" />
default="0" />
<xs:attribute name="caption" type="xs:boolean" use="optional" default="false" /> <xs:attribute name="caption" type="xs:boolean" use="optional" default="false" />
<!-- priority for label placement, 0 = highest priority -->
<xs:attribute name="priority" type="xs:integer" use="optional" default="0" />
</xs:complexType> </xs:complexType>
<xs:complexType name="symbol"> <xs:complexType name="symbol">
@ -183,35 +189,40 @@
<xs:element name="m" type="tns:m" /> <xs:element name="m" type="tns:m" />
<xs:element name="area" type="tns:area" /> <xs:element name="area" type="tns:area" />
<xs:element name="use-area" type="tns:area" />
<xs:element name="caption" type="tns:caption" /> <xs:element name="caption" type="tns:caption" />
<xs:element name="circle" type="tns:circle" /> <xs:element name="circle" type="tns:circle" />
<xs:element name="line" type="tns:line" /> <xs:element name="line" type="tns:line" />
<xs:element name="use-line" type="tns:line" />
<xs:element name="outline" type="tns:line" /> <xs:element name="outline" type="tns:line" />
<xs:element name="use-outline" type="tns:line" />
<xs:element name="lineSymbol" type="tns:lineSymbol" /> <xs:element name="lineSymbol" type="tns:lineSymbol" />
<xs:element name="text" type="tns:text" /> <xs:element name="text" type="tns:text" />
<xs:element name="use-text" type="tns:text" />
<!-- <xs:element name="styletext type="xs:string" /> --> <!-- <xs:element name="styletext type="xs:string" /> -->
<xs:element name="symbol" type="tns:symbol" /> <xs:element name="symbol" type="tns:symbol" />
<!-- outline is defined within rules to match layering --> <!-- outline is defined within rules to match layering -->
<xs:element name="style-outline" type="tns:line" /> <xs:element name="style-outline" type="tns:line" />
</xs:choice> </xs:choice>
<xs:attribute name="e" type="tns:elementList" use="required" />
<xs:attribute name="k" type="xs:string" use="required" /> <xs:attribute name="e" type="tns:elementList" use="optional" />
<xs:attribute name="v" type="xs:string" use="required" /> <xs:attribute name="k" type="xs:string" use="optional" />
<xs:attribute name="v" type="xs:string" use="optional" />
<xs:attribute name="closed" type="tns:closed" use="optional" default="any" /> <xs:attribute name="closed" type="tns:closed" use="optional" default="any" />
<xs:attribute name="zoom-min" type="xs:unsignedByte" use="optional" <xs:attribute name="zoom-min" type="xs:unsignedByte" use="optional" default="0" />
default="0" /> <xs:attribute name="zoom-max" type="xs:unsignedByte" use="optional" default="127" />
<xs:attribute name="zoom-max" type="xs:unsignedByte" use="optional"
default="127" />
</xs:complexType> </xs:complexType>
<xs:complexType name="atlas">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<!-- TODO -->
<xs:element name="rect"></xs:element>
</xs:choice>
<xs:attribute name="img" type="xs:string" use="required" />
</xs:complexType>
<!-- rendertheme element --> <!-- rendertheme element -->
<xs:complexType name="rendertheme"> <xs:complexType name="rendertheme">
<xs:sequence minOccurs="0" maxOccurs="1"> <xs:sequence minOccurs="0" maxOccurs="1">
<!-- style definitions -->
<xs:sequence minOccurs="0" maxOccurs="256"> <xs:sequence minOccurs="0" maxOccurs="256">
<xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="style-text" type="tns:text" /> <xs:element name="style-text" type="tns:text" />
@ -220,18 +231,20 @@
<xs:element name="style-outline" type="tns:line" /> <xs:element name="style-outline" type="tns:line" />
</xs:choice> </xs:choice>
</xs:sequence> </xs:sequence>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="atlas" type="tns:atlas"/>
</xs:choice>
<!-- matching rules -->
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="m" type="tns:m" /> <xs:element name="m" type="tns:m" />
</xs:sequence> </xs:sequence>
</xs:sequence> </xs:sequence>
<xs:attribute name="version" type="xs:positiveInteger" use="required" /> <xs:attribute name="version" type="xs:positiveInteger" use="required" />
<xs:attribute name="map-background" type="tns:color" use="optional" <xs:attribute name="map-background" type="tns:color" use="optional" default="#ffffff" />
default="#ffffff" /> <xs:attribute name="base-stroke-width" type="tns:nonNegativeFloat" use="optional" default="1" />
<xs:attribute name="base-stroke-width" type="tns:nonNegativeFloat" use="optional" <xs:attribute name="base-text-size" type="tns:nonNegativeFloat" use="optional" default="1" />
default="1" />
<xs:attribute name="base-text-size" type="tns:nonNegativeFloat" use="optional"
default="1" />
</xs:complexType> </xs:complexType>

View File

@ -60,16 +60,8 @@ public class RenderThemeHandler extends DefaultHandler {
RENDER_THEME, RENDERING_INSTRUCTION, RULE, STYLE, ATLAS; RENDER_THEME, RENDERING_INSTRUCTION, RULE, STYLE, ATLAS;
} }
private static final String ELEMENT_NAME_RENDER_THEME = "rendertheme"; //private static final String ELEMENT_NAME_RENDER_THEME = "rendertheme";
private static final String ELEMENT_NAME_MATCH = "m"; private static final String ELEMENT_NAME_MATCH = "m";
private static final String ELEMENT_NAME_STYLE_TEXT = "style-text";
private static final String ELEMENT_NAME_STYLE_AREA = "style-area";
private static final String ELEMENT_NAME_STYLE_LINE = "style-line";
private static final String ELEMENT_NAME_STYLE_OUTLINE = "style-outline";
private static final String ELEMENT_NAME_USE_STYLE_PATH_TEXT = "use-text";
private static final String ELEMENT_NAME_USE_STYLE_AREA = "use-area";
private static final String ELEMENT_NAME_USE_STYLE_LINE = "use-line";
private static final String ELEMENT_NAME_USE_STYLE_OUTLINE = "use-outline";
private static final String UNEXPECTED_ELEMENT = "unexpected element: "; private static final String UNEXPECTED_ELEMENT = "unexpected element: ";
private static final String IMG_PATH = "styles/"; private static final String IMG_PATH = "styles/";
@ -176,12 +168,11 @@ public class RenderThemeHandler extends DefaultHandler {
public void startElement(String uri, String localName, String qName, public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException { Attributes attributes) throws SAXException {
try { try {
if (ELEMENT_NAME_RENDER_THEME.equals(localName)) { if ("rendertheme".equals(localName)) {
checkState(localName, Element.RENDER_THEME); checkState(localName, Element.RENDER_THEME);
mRenderTheme = createRenderTheme(localName, attributes); mRenderTheme = createRenderTheme(localName, attributes);
}
else if (ELEMENT_NAME_MATCH.equals(localName)) { } else if (ELEMENT_NAME_MATCH.equals(localName)) {
checkState(localName, Element.RULE); checkState(localName, Element.RULE);
Rule rule = Rule.create(localName, attributes, mRuleStack); Rule rule = Rule.create(localName, attributes, mRuleStack);
if (!mRuleStack.empty()) { if (!mRuleStack.empty()) {
@ -189,54 +180,56 @@ public class RenderThemeHandler extends DefaultHandler {
} }
mCurrentRule = rule; mCurrentRule = rule;
mRuleStack.push(mCurrentRule); mRuleStack.push(mCurrentRule);
}
else if (ELEMENT_NAME_STYLE_TEXT.equals(localName)) { } else if ("style-text".equals(localName)) {
checkState(localName, Element.STYLE); checkState(localName, Element.STYLE);
Text text = createText(localName, attributes, false); Text text = createText(localName, attributes, false);
tmpStyleHash.put("t" + text.style, text); tmpStyleHash.put("t" + text.style, text);
}
else if (ELEMENT_NAME_STYLE_AREA.equals(localName)) { } else if ("style-area".equals(localName)) {
checkState(localName, Element.STYLE); checkState(localName, Element.STYLE);
Area area = createArea(localName, attributes, 0); Area area = createArea(localName, attributes, 0);
tmpStyleHash.put("a" + area.style, area); tmpStyleHash.put("a" + area.style, area);
}
else if (ELEMENT_NAME_STYLE_LINE.equals(localName)) { } else if ("style-line".equals(localName)) {
checkState(localName, Element.STYLE); checkState(localName, Element.STYLE);
String style = null; String style = null;
if ((style = attributes.getValue("from")) != null) { if ((style = attributes.getValue("use")) != null) {
RenderInstruction ri = tmpStyleHash.get("l" + style); RenderInstruction ri = tmpStyleHash.get("l" + style);
if (ri instanceof Line) { if (ri instanceof Line) {
Line line = createLine((Line) ri, localName, attributes, 0, Line line = createLine((Line) ri, localName, attributes, 0,
false); false);
tmpStyleHash.put("l" + line.style, line); tmpStyleHash.put("l" + line.style, line);
} } else
else {
Log.d(TAG, "not a style: " + style); Log.d(TAG, "not a style: " + style);
}
} else { } else {
Line line = createLine(null, localName, attributes, 0, false); Line line = createLine(null, localName, attributes, 0, false);
tmpStyleHash.put("l" + line.style, line); tmpStyleHash.put("l" + line.style, line);
} }
}
else if (ELEMENT_NAME_STYLE_OUTLINE.equals(localName)) { } else if ("style-outline".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
Line line = createLine(null, localName, attributes, mLevel++, true); Line line = createLine(null, localName, attributes, mLevel++, true);
tmpStyleHash.put("o" + line.style, line); tmpStyleHash.put("o" + line.style, line);
// outlineLayers.add(line); // outlineLayers.add(line);
}
else if ("area".equals(localName)) { } else if ("area".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
String style = attributes.getValue("use");
if (style == null) {
Area area = createArea(localName, attributes, mLevel++); Area area = createArea(localName, attributes, mLevel++);
// mRuleStack.peek().addRenderingInstruction(area); // mRuleStack.peek().addRenderingInstruction(area);
mCurrentRule.addRenderingInstruction(area); mCurrentRule.addRenderingInstruction(area);
} else {
Area area = (Area) tmpStyleHash.get("a" + style);
if (area != null)
mCurrentRule.addRenderingInstruction(new AreaLevel(area,
mLevel++));
else
Log.d(TAG, "BUG not an area style: " + style);
} }
else if ("caption".equals(localName)) { } else if ("caption".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
Text text = createText(localName, attributes, true); Text text = createText(localName, attributes, true);
mCurrentRule.addRenderingInstruction(text); mCurrentRule.addRenderingInstruction(text);
@ -247,33 +240,49 @@ public class RenderThemeHandler extends DefaultHandler {
else else
Log.d(TAG, "using atlas item '" + text.symbol + "'"); Log.d(TAG, "using atlas item '" + text.symbol + "'");
} }
}
else if ("circle".equals(localName)) { } else if ("circle".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
Circle circle = createCircle(localName, attributes, mLevel++); Circle circle = createCircle(localName, attributes, mLevel++);
mCurrentRule.addRenderingInstruction(circle); mCurrentRule.addRenderingInstruction(circle);
}
else if ("line".equals(localName)) { } else if ("line".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
String style = attributes.getValue("use");
if (style == null) {
Line line = createLine(null, localName, attributes, mLevel++, false); Line line = createLine(null, localName, attributes, mLevel++, false);
mCurrentRule.addRenderingInstruction(line); mCurrentRule.addRenderingInstruction(line);
} else {
Line line = (Line) tmpStyleHash.get("l" + style);
if (line != null) {
Line newLine = createLine(line, localName, attributes,
mLevel++, false);
mCurrentRule.addRenderingInstruction(newLine);
} else
Log.d(TAG, "BUG: not a line style: " + style);
} }
else if ("lineSymbol".equals(localName)) { } else if ("lineSymbol".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
LineSymbol lineSymbol = createLineSymbol(localName, attributes); LineSymbol lineSymbol = createLineSymbol(localName, attributes);
mCurrentRule.addRenderingInstruction(lineSymbol); mCurrentRule.addRenderingInstruction(lineSymbol);
}
else if ("text".equals(localName)) { } else if ("text".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
String style = attributes.getValue("use");
if (style == null) {
Text text = createText(localName, attributes, false); Text text = createText(localName, attributes, false);
mCurrentRule.addRenderingInstruction(text); mCurrentRule.addRenderingInstruction(text);
} else {
Text pt = (Text) tmpStyleHash.get("t" + style);
if (pt != null)
mCurrentRule.addRenderingInstruction(pt);
else
Log.d(TAG, "BUG not a path text style: " + style);
} }
else if ("symbol".equals(localName)) { } else if ("symbol".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
Symbol symbol = createSymbol(localName, attributes); Symbol symbol = createSymbol(localName, attributes);
mCurrentRule.addRenderingInstruction(symbol); mCurrentRule.addRenderingInstruction(symbol);
@ -283,25 +292,10 @@ public class RenderThemeHandler extends DefaultHandler {
//else //else
// Log.d(TAG, "using atlas item '" + symbol.src + "'"); // Log.d(TAG, "using atlas item '" + symbol.src + "'");
} }
}
else if (ELEMENT_NAME_USE_STYLE_LINE.equals(localName)) { } else if ("outline".equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION); checkState(localName, Element.RENDERING_INSTRUCTION);
String style = attributes.getValue("name"); String style = attributes.getValue("use");
if (style != null) {
Line line = (Line) tmpStyleHash.get("l" + style);
if (line != null) {
Line newLine = createLine(line, localName, attributes,
mLevel++, false);
mCurrentRule.addRenderingInstruction(newLine);
}
else
Log.d(TAG, "BUG: not a line style: " + style);
}
} else if (ELEMENT_NAME_USE_STYLE_OUTLINE.equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION);
String style = attributes.getValue("name");
if (style != null) { if (style != null) {
Line line = (Line) tmpStyleHash.get("o" + style); Line line = (Line) tmpStyleHash.get("o" + style);
if (line != null && line.outline) if (line != null && line.outline)
@ -309,36 +303,18 @@ public class RenderThemeHandler extends DefaultHandler {
else else
Log.d(TAG, "BUG not an outline style: " + style); Log.d(TAG, "BUG not an outline style: " + style);
} }
} else if (ELEMENT_NAME_USE_STYLE_AREA.equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION);
String style = attributes.getValue("name");
if (style != null) {
Area area = (Area) tmpStyleHash.get("a" + style);
if (area != null)
mCurrentRule.addRenderingInstruction(new AreaLevel(area,
mLevel++));
else
Log.d(TAG, "BUG not an area style: " + style);
}
} else if (ELEMENT_NAME_USE_STYLE_PATH_TEXT.equals(localName)) {
checkState(localName, Element.RENDERING_INSTRUCTION);
String style = attributes.getValue("name");
if (style != null) {
Text pt = (Text) tmpStyleHash.get("t" + style);
if (pt != null)
mCurrentRule.addRenderingInstruction(pt);
else
Log.d(TAG, "BUG not a path text style: " + style);
}
} else if ("atlas".equals(localName)) { } else if ("atlas".equals(localName)) {
checkState(localName, Element.ATLAS); checkState(localName, Element.ATLAS);
createAtlas(localName, attributes); createAtlas(localName, attributes);
} else if ("rect".equals(localName)) { } else if ("rect".equals(localName)) {
checkState(localName, Element.ATLAS); checkState(localName, Element.ATLAS);
createTextureRegion(localName, attributes); createTextureRegion(localName, attributes);
} else { } else {
//Log.d(TAG, "unknown element: " + localName); Log.d(TAG, "unknown element: " + localName);
throw new SAXException("unknown element: " + localName); //throw new SAXException("unknown element: " + localName);
} }
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
throw new SAXException(null, e); throw new SAXException(null, e);
@ -356,8 +332,6 @@ public class RenderThemeHandler extends DefaultHandler {
if ("img".equals(name)) { if ("img".equals(name)) {
img = value; img = value;
} else if ("name".equals(name)) {
// img = value;
} else { } else {
RenderThemeHandler.logUnknownAttribute(elementName, name, value, i); RenderThemeHandler.logUnknownAttribute(elementName, name, value, i);
} }
@ -379,7 +353,7 @@ public class RenderThemeHandler extends DefaultHandler {
String name = attributes.getLocalName(i); String name = attributes.getLocalName(i);
String value = attributes.getValue(i); String value = attributes.getValue(i);
if ("name".equals(name)) { if ("id".equals(name)) {
regionName = value; regionName = value;
} else if ("pos".equals(name)) { } else if ("pos".equals(name)) {
String[] pos = value.split(" "); String[] pos = value.split(" ");
@ -514,7 +488,7 @@ public class RenderThemeHandler extends DefaultHandler {
for (int i = 0; i < attributes.getLength(); ++i) { for (int i = 0; i < attributes.getLength(); ++i) {
String name = attributes.getLocalName(i); String name = attributes.getLocalName(i);
String value = attributes.getValue(i); String value = attributes.getValue(i);
if ("name".equals(name)) if ("id".equals(name))
style = value; style = value;
else if ("k".equals(name)) { else if ("k".equals(name)) {
textKey = value.intern(); textKey = value.intern();
@ -563,11 +537,9 @@ public class RenderThemeHandler extends DefaultHandler {
} }
} }
// private static final Pattern SPLIT_PATTERN = Pattern.compile(",");
/** /**
* @param line * @param line
* ... * optional: line style defaults
* @param elementName * @param elementName
* the name of the XML element. * the name of the XML element.
* @param attributes * @param attributes
@ -575,7 +547,7 @@ public class RenderThemeHandler extends DefaultHandler {
* @param level * @param level
* the drawing level of this instruction. * the drawing level of this instruction.
* @param isOutline * @param isOutline
* ... * is outline layer
* @return a new Line with the given rendering attributes. * @return a new Line with the given rendering attributes.
*/ */
private static Line createLine(Line line, String elementName, Attributes attributes, private static Line createLine(Line line, String elementName, Attributes attributes,
@ -583,9 +555,6 @@ public class RenderThemeHandler extends DefaultHandler {
// Style name // Style name
String style = null; String style = null;
// Bitmap
// String src = null;
float width = 0; float width = 0;
Cap cap = Cap.ROUND; Cap cap = Cap.ROUND;
@ -600,7 +569,6 @@ public class RenderThemeHandler extends DefaultHandler {
float stippleWidth = 0; float stippleWidth = 0;
int color = Color.RED; int color = Color.RED;
int stippleColor = Color.BLACK; int stippleColor = Color.BLACK;
if (line != null) { if (line != null) {
@ -619,15 +587,15 @@ public class RenderThemeHandler extends DefaultHandler {
String name = attributes.getLocalName(i); String name = attributes.getLocalName(i);
String value = attributes.getValue(i); String value = attributes.getValue(i);
if ("name".equals(name)) if ("id".equals(name))
style = value; style = value;
else if ("src".equals(name)) { else if ("src".equals(name)) {
// src = value; // src = value;
} else if ("stroke".equals(name)) { } else if ("stroke".equals(name)) {
color = Color.parseColor(value); color = Color.parseColor(value);
} else if ("width".equals(name)) { } else if ("width".equals(name) || "stroke-width".equals(name)) {
width = Float.parseFloat(value); width = Float.parseFloat(value);
} else if ("cap".equals(name)) { } else if ("cap".equals(name) || "stroke-linecap".equals(name)) {
cap = Cap.valueOf(value.toUpperCase()); cap = Cap.valueOf(value.toUpperCase());
} else if ("fix".equals(name)) { } else if ("fix".equals(name)) {
fixed = Boolean.parseBoolean(value); fixed = Boolean.parseBoolean(value);
@ -643,7 +611,7 @@ public class RenderThemeHandler extends DefaultHandler {
min = Float.parseFloat(value); min = Float.parseFloat(value);
} else if ("blur".equals(name)) { } else if ("blur".equals(name)) {
blur = Float.parseFloat(value); blur = Float.parseFloat(value);
} else if ("from".equals(name)) { } else if ("style".equals(name)) {
// ignore // ignore
} else if ("dasharray".equals(name)) { } else if ("dasharray".equals(name)) {
// ignore // ignore
@ -699,7 +667,7 @@ public class RenderThemeHandler extends DefaultHandler {
for (int i = 0; i < attributes.getLength(); ++i) { for (int i = 0; i < attributes.getLength(); ++i) {
String name = attributes.getLocalName(i); String name = attributes.getLocalName(i);
String value = attributes.getValue(i); String value = attributes.getValue(i);
if ("name".equals(name)) if ("id".equals(name))
style = value; style = value;
else if ("src".equals(name)) { else if ("src".equals(name)) {
src = value; src = value;
@ -726,13 +694,10 @@ public class RenderThemeHandler extends DefaultHandler {
try { try {
Bitmap b = CanvasAdapter.g.loadBitmapAsset(src); Bitmap b = CanvasAdapter.g.loadBitmapAsset(src);
if (b != null) if (b != null)
texture = new TextureItem(b, true); texture = new TextureItem(b, true);
} catch (Exception e) { } catch (Exception e) {
Log.d(TAG, e.getMessage()); Log.d(TAG, e.getMessage());
} }
} }
return new Area(style, fill, stroke, strokeWidth, fade, level, blend, return new Area(style, fill, stroke, strokeWidth, fade, level, blend,
blendFill, texture); blendFill, texture);