VTM map scaling improvements, fix #401

This commit is contained in:
Emux 2017-09-14 10:36:33 +03:00
parent c4b6d019ff
commit c694fbc63b
11 changed files with 27 additions and 31 deletions

View File

@ -8,6 +8,7 @@
- POI Search example [#394](https://github.com/mapsforge/vtm/issues/394) - POI Search example [#394](https://github.com/mapsforge/vtm/issues/394)
- Mapsforge Reverse Geocoding [#383](https://github.com/mapsforge/vtm/issues/383) - Mapsforge Reverse Geocoding [#383](https://github.com/mapsforge/vtm/issues/383)
- Core utilities [#396](https://github.com/mapsforge/vtm/issues/396) - Core utilities [#396](https://github.com/mapsforge/vtm/issues/396)
- Map scaling improvements [#401](https://github.com/mapsforge/vtm/issues/401)
- Mapsforge fix artifacts zoom > 17 [#231](https://github.com/mapsforge/vtm/issues/231) - Mapsforge fix artifacts zoom > 17 [#231](https://github.com/mapsforge/vtm/issues/231)
- vtm-theme-comparator module [#387](https://github.com/mapsforge/vtm/issues/387) - vtm-theme-comparator module [#387](https://github.com/mapsforge/vtm/issues/387)
- Many other minor improvements and bug fixes - Many other minor improvements and bug fixes

View File

@ -966,8 +966,8 @@
<m k="area" v="~|false|no"> <m k="area" v="~|false|no">
<m k="highway"> <m k="highway">
<m k="oneway" v="yes|true" zoom-min="16"> <m k="oneway" v="yes|true" zoom-min="16">
<line fix="true" src="assets:patterns/oneway.svg" stipple="160" <line fix="true" src="assets:patterns/oneway.svg" stipple="240"
stipple-stroke="#666666" width="6" /> stipple-stroke="#666666" width="9" />
</m> </m>
</m> </m>
</m> </m>

View File

@ -963,8 +963,8 @@
<m k="area" v="~|false|no"> <m k="area" v="~|false|no">
<m k="kind_detail"> <m k="kind_detail">
<m k="oneway" v="yes|true" zoom-min="16"> <m k="oneway" v="yes|true" zoom-min="16">
<line fix="true" src="assets:patterns/oneway.svg" stipple="160" <line fix="true" src="assets:patterns/oneway.svg" stipple="240"
stipple-stroke="#666666" width="6" /> stipple-stroke="#666666" width="9" />
</m> </m>
</m> </m>
</m> </m>

View File

@ -996,8 +996,8 @@
<m k="area" v="~|false|no"> <m k="area" v="~|false|no">
<m k="highway"> <m k="highway">
<m k="oneway" v="yes|true" zoom-min="16"> <m k="oneway" v="yes|true" zoom-min="16">
<line fix="true" src="assets:patterns/oneway.svg" stipple="160" <line fix="true" src="assets:patterns/oneway.svg" stipple="240"
stipple-stroke="#666666" width="6" /> stipple-stroke="#666666" width="9" />
</m> </m>
</m> </m>
</m> </m>

View File

@ -962,8 +962,8 @@
<m k="area" v="~|false|no"> <m k="area" v="~|false|no">
<m k="highway"> <m k="highway">
<m k="oneway" v="yes|true" zoom-min="16"> <m k="oneway" v="yes|true" zoom-min="16">
<line fix="true" src="assets:patterns/oneway.svg" stipple="160" <line fix="true" src="assets:patterns/oneway.svg" stipple="240"
stipple-stroke="#666666" width="6" /> stipple-stroke="#666666" width="9" />
</m> </m>
</m> </m>
</m> </m>

View File

@ -940,8 +940,8 @@
<m k="area" v="~|false|no"> <m k="area" v="~|false|no">
<m k="highway"> <m k="highway">
<m k="oneway" v="yes|true" zoom-min="16"> <m k="oneway" v="yes|true" zoom-min="16">
<line fix="true" src="assets:patterns/oneway.svg" stipple="160" <line fix="true" src="assets:patterns/oneway.svg" stipple="240"
stipple-stroke="#666666" width="6" /> stipple-stroke="#666666" width="9" />
</m> </m>
</m> </m>
</m> </m>

View File

@ -940,8 +940,8 @@
<m k="area" v="~|false|no"> <m k="area" v="~|false|no">
<m k="highway"> <m k="highway">
<m k="oneway" v="yes|true" zoom-min="16"> <m k="oneway" v="yes|true" zoom-min="16">
<line fix="true" src="assets:patterns/oneway.svg" stipple="160" <line fix="true" src="assets:patterns/oneway.svg" stipple="240"
stipple-stroke="#666666" width="6" /> stipple-stroke="#666666" width="9" />
</m> </m>
</m> </m>
</m> </m>

View File

@ -989,8 +989,8 @@
<m k="area" v="~|false|no"> <m k="area" v="~|false|no">
<m k="highway"> <m k="highway">
<m k="oneway" v="yes|true" zoom-min="16"> <m k="oneway" v="yes|true" zoom-min="16">
<line fix="true" src="assets:patterns/oneway.svg" stipple="160" <line fix="true" src="assets:patterns/oneway.svg" stipple="240"
stipple-stroke="#666666" width="6" /> stipple-stroke="#666666" width="9" />
</m> </m>
</m> </m>
</m> </m>

View File

@ -59,11 +59,6 @@ public abstract class CanvasAdapter {
*/ */
public static Platform platform = Platform.UNKNOWN; public static Platform platform = Platform.UNKNOWN;
/**
* The scale.
*/
public static float scale = 1;
/** /**
* The text scale. * The text scale.
*/ */

View File

@ -169,8 +169,8 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
public XmlMapsforgeThemeBuilder(ThemeFile theme, ThemeCallback themeCallback) { public XmlMapsforgeThemeBuilder(ThemeFile theme, ThemeCallback themeCallback) {
mTheme = theme; mTheme = theme;
mThemeCallback = themeCallback; mThemeCallback = themeCallback;
mScale = CanvasAdapter.scale + (CanvasAdapter.getScale() - 1); mScale = CanvasAdapter.getScale();
mScale2 = CanvasAdapter.scale + (CanvasAdapter.getScale() - 1) * 0.5f; mScale2 = CanvasAdapter.getScale() * 0.5f;
} }
@Override @Override
@ -704,7 +704,7 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
else if ("stroke-width".equals(name)) { else if ("stroke-width".equals(name)) {
float strokeWidth = Float.parseFloat(value); float strokeWidth = Float.parseFloat(value);
validateNonNegative("stroke-width", strokeWidth); validateNonNegative("stroke-width", strokeWidth);
b.strokeWidth = strokeWidth * mScale2; b.strokeWidth = strokeWidth * mScale;
} else if ("fade".equals(name)) } else if ("fade".equals(name))
b.fadeScale = Integer.parseInt(value); b.fadeScale = Integer.parseInt(value);
@ -977,7 +977,7 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
b.strokeColor = Color.parseColor(value); b.strokeColor = Color.parseColor(value);
else if ("stroke-width".equals(name)) else if ("stroke-width".equals(name))
b.strokeWidth = Float.parseFloat(value) * mScale2; b.strokeWidth = Float.parseFloat(value) * mScale;
else if ("caption".equals(name)) else if ("caption".equals(name))
b.caption = Boolean.parseBoolean(value); b.caption = Boolean.parseBoolean(value);
@ -1055,7 +1055,7 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
String value = attributes.getValue(i); String value = attributes.getValue(i);
if ("r".equals(name) || "radius".equals(name)) if ("r".equals(name) || "radius".equals(name))
b.radius(Float.parseFloat(value) * mScale2); b.radius(Float.parseFloat(value) * mScale);
else if ("cat".equals(name)) else if ("cat".equals(name))
b.cat(value); b.cat(value);
@ -1070,7 +1070,7 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
b.strokeColor(Color.parseColor(value)); b.strokeColor(Color.parseColor(value));
else if ("stroke-width".equals(name)) else if ("stroke-width".equals(name))
b.strokeWidth(Float.parseFloat(value) * mScale2); b.strokeWidth(Float.parseFloat(value) * mScale);
else else
logUnknownAttribute(elementName, name, value, i); logUnknownAttribute(elementName, name, value, i);

View File

@ -169,8 +169,8 @@ public class XmlThemeBuilder extends DefaultHandler {
public XmlThemeBuilder(ThemeFile theme, ThemeCallback themeCallback) { public XmlThemeBuilder(ThemeFile theme, ThemeCallback themeCallback) {
mTheme = theme; mTheme = theme;
mThemeCallback = themeCallback; mThemeCallback = themeCallback;
mScale = CanvasAdapter.scale + (CanvasAdapter.getScale() - 1); mScale = CanvasAdapter.getScale();
mScale2 = CanvasAdapter.scale + (CanvasAdapter.getScale() - 1) * 0.5f; mScale2 = CanvasAdapter.getScale() * 0.5f;
} }
@Override @Override
@ -702,7 +702,7 @@ public class XmlThemeBuilder extends DefaultHandler {
else if ("stroke-width".equals(name)) { else if ("stroke-width".equals(name)) {
float strokeWidth = Float.parseFloat(value); float strokeWidth = Float.parseFloat(value);
validateNonNegative("stroke-width", strokeWidth); validateNonNegative("stroke-width", strokeWidth);
b.strokeWidth = strokeWidth * mScale2; b.strokeWidth = strokeWidth * mScale;
} else if ("fade".equals(name)) } else if ("fade".equals(name))
b.fadeScale = Integer.parseInt(value); b.fadeScale = Integer.parseInt(value);
@ -975,7 +975,7 @@ public class XmlThemeBuilder extends DefaultHandler {
b.strokeColor = Color.parseColor(value); b.strokeColor = Color.parseColor(value);
else if ("stroke-width".equals(name)) else if ("stroke-width".equals(name))
b.strokeWidth = Float.parseFloat(value) * mScale2; b.strokeWidth = Float.parseFloat(value) * mScale;
else if ("caption".equals(name)) else if ("caption".equals(name))
b.caption = Boolean.parseBoolean(value); b.caption = Boolean.parseBoolean(value);
@ -1045,7 +1045,7 @@ public class XmlThemeBuilder extends DefaultHandler {
String value = attributes.getValue(i); String value = attributes.getValue(i);
if ("r".equals(name) || "radius".equals(name)) if ("r".equals(name) || "radius".equals(name))
b.radius(Float.parseFloat(value) * mScale2); b.radius(Float.parseFloat(value) * mScale);
else if ("cat".equals(name)) else if ("cat".equals(name))
b.cat(value); b.cat(value);
@ -1060,7 +1060,7 @@ public class XmlThemeBuilder extends DefaultHandler {
b.strokeColor(Color.parseColor(value)); b.strokeColor(Color.parseColor(value));
else if ("stroke-width".equals(name)) else if ("stroke-width".equals(name))
b.strokeWidth(Float.parseFloat(value) * mScale2); b.strokeWidth(Float.parseFloat(value) * mScale);
else else
logUnknownAttribute(elementName, name, value, i); logUnknownAttribute(elementName, name, value, i);