From 58b5f2741bd4691b75c2770642e1e9fcbc4f0f52 Mon Sep 17 00:00:00 2001 From: Emux Date: Sun, 13 Nov 2016 12:23:32 +0200 Subject: [PATCH] Use baseline 160dpi in scaling, closes #236 --- docs/Changelog.md | 1 + .../oscim/android/test/BaseMapActivity.java | 3 +-- .../android/test/LayerGroupActivity.java | 5 ++--- .../android/test/MapsforgeMapActivity.java | 3 +-- .../android/test/MarkerOverlayActivity.java | 3 +-- .../android/test/OsmJsonMapActivity.java | 3 +-- .../oscim/android/test/SimpleMapActivity.java | 5 ++--- .../src/org/oscim/gdx/MainActivity.java | 2 +- .../android/canvas/AndroidSvgBitmap.java | 2 +- vtm-app/src/org/oscim/app/MapLayers.java | 5 ++--- vtm-app/src/org/oscim/app/TileMap.java | 2 +- .../src/org/oscim/awt/AwtSvgBitmap.java | 4 ++-- .../org/oscim/ios/backend/IosSvgBitmap.java | 4 ++-- .../resources/assets/styles/style.xml | 4 ++-- .../resources/assets/styles/default.xml | 8 ++++---- vtm-themes/resources/assets/styles/mapzen.xml | 8 ++++---- .../resources/assets/styles/newtron.xml | 4 ++-- .../resources/assets/styles/osmarender.xml | 8 ++++---- .../resources/assets/styles/tronrender.xml | 4 ++-- vtm/src/org/oscim/backend/CanvasAdapter.java | 7 ++++++- vtm/src/org/oscim/map/Animator.java | 3 ++- .../oscim/scalebar/DefaultMapScaleBar.java | 2 +- vtm/src/org/oscim/theme/ThemeLoader.java | 2 +- vtm/src/org/oscim/theme/XmlThemeBuilder.java | 19 ++++++++++--------- 24 files changed, 56 insertions(+), 55 deletions(-) diff --git a/docs/Changelog.md b/docs/Changelog.md index 7909bf8e..987e69cf 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -6,6 +6,7 @@ - Polygon label position enhancements [#80](https://github.com/mapsforge/vtm/issues/80) - PathLayer (vtm) fix disappearing segments [#108](https://github.com/mapsforge/vtm/issues/108) - House numbers (nodes) fix visibility [#168](https://github.com/mapsforge/vtm/issues/168) +- Use baseline 160dpi in scaling [#236](https://github.com/mapsforge/vtm/issues/236) - MapFileTileSource zoom level API enhancements [#219](https://github.com/mapsforge/vtm/issues/219) - Tile grid layer scaling [#238](https://github.com/mapsforge/vtm/issues/238) - Internal render themes various improvements [#41](https://github.com/mapsforge/vtm/issues/41) diff --git a/vtm-android-example/src/org/oscim/android/test/BaseMapActivity.java b/vtm-android-example/src/org/oscim/android/test/BaseMapActivity.java index 7f8241d5..b56dbf78 100644 --- a/vtm-android-example/src/org/oscim/android/test/BaseMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/BaseMapActivity.java @@ -22,7 +22,6 @@ import android.view.Menu; import android.view.MenuItem; import org.oscim.android.cache.TileCache; -import org.oscim.backend.CanvasAdapter; import org.oscim.core.MapPosition; import org.oscim.layers.TileGridLayer; import org.oscim.layers.tile.vector.VectorTileLayer; @@ -109,7 +108,7 @@ public class BaseMapActivity extends MapActivity { } else { item.setChecked(true); if (mGridLayer == null) - mGridLayer = new TileGridLayer(mMap, CanvasAdapter.dpi / 160); + mGridLayer = new TileGridLayer(mMap, getResources().getDisplayMetrics().density); mMap.layers().add(mGridLayer); } diff --git a/vtm-android-example/src/org/oscim/android/test/LayerGroupActivity.java b/vtm-android-example/src/org/oscim/android/test/LayerGroupActivity.java index 6238922f..e706dde8 100644 --- a/vtm-android-example/src/org/oscim/android/test/LayerGroupActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/LayerGroupActivity.java @@ -20,7 +20,6 @@ package org.oscim.android.test; import android.os.Bundle; -import org.oscim.backend.CanvasAdapter; import org.oscim.layers.tile.buildings.BuildingLayer; import org.oscim.layers.tile.vector.labeling.LabelLayer; import org.oscim.map.Layers; @@ -53,7 +52,7 @@ public class LayerGroupActivity extends BaseMapActivity { layers.addGroup(GROUP_LABELS); layers.add(new LabelLayer(mMap, mBaseLayer), GROUP_LABELS); - mapScaleBar = new DefaultMapScaleBar(mMap, CanvasAdapter.dpi / 160); + mapScaleBar = new DefaultMapScaleBar(mMap); mapScaleBar.setScaleBarMode(DefaultMapScaleBar.ScaleBarMode.BOTH); mapScaleBar.setDistanceUnitAdapter(MetricUnitAdapter.INSTANCE); mapScaleBar.setSecondaryDistanceUnitAdapter(ImperialUnitAdapter.INSTANCE); @@ -62,7 +61,7 @@ public class LayerGroupActivity extends BaseMapActivity { MapScaleBarLayer mapScaleBarLayer = new MapScaleBarLayer(mMap, mapScaleBar); BitmapRenderer renderer = mapScaleBarLayer.getRenderer(); renderer.setPosition(GLViewport.Position.BOTTOM_LEFT); - renderer.setOffset(5 * CanvasAdapter.dpi / 160, 0); + renderer.setOffset(5 * getResources().getDisplayMetrics().density, 0); layers.addGroup(GROUP_OVERLAYS); layers.add(mapScaleBarLayer, GROUP_OVERLAYS); diff --git a/vtm-android-example/src/org/oscim/android/test/MapsforgeMapActivity.java b/vtm-android-example/src/org/oscim/android/test/MapsforgeMapActivity.java index 71b474c7..b9497957 100644 --- a/vtm-android-example/src/org/oscim/android/test/MapsforgeMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/MapsforgeMapActivity.java @@ -25,7 +25,6 @@ import android.view.MenuItem; import org.oscim.android.filepicker.FilePicker; import org.oscim.android.filepicker.FilterByFileExtension; import org.oscim.android.filepicker.ValidMapFile; -import org.oscim.backend.CanvasAdapter; import org.oscim.core.MapPosition; import org.oscim.core.Tile; import org.oscim.layers.TileGridLayer; @@ -93,7 +92,7 @@ public class MapsforgeMapActivity extends MapActivity { } else { item.setChecked(true); if (mGridLayer == null) - mGridLayer = new TileGridLayer(mMap, CanvasAdapter.dpi / 160); + mGridLayer = new TileGridLayer(mMap, getResources().getDisplayMetrics().density); mMap.layers().add(mGridLayer); } diff --git a/vtm-android-example/src/org/oscim/android/test/MarkerOverlayActivity.java b/vtm-android-example/src/org/oscim/android/test/MarkerOverlayActivity.java index 77b2f649..7bed66c6 100644 --- a/vtm-android-example/src/org/oscim/android/test/MarkerOverlayActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/MarkerOverlayActivity.java @@ -21,7 +21,6 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.widget.Toast; -import org.oscim.backend.CanvasAdapter; import org.oscim.backend.canvas.Bitmap; import org.oscim.core.GeoPoint; import org.oscim.layers.TileGridLayer; @@ -82,7 +81,7 @@ public class MarkerOverlayActivity extends BitmapTileMapActivity markerLayer.addItems(pts); - mMap.layers().add(new TileGridLayer(mMap, CanvasAdapter.dpi / 160)); + mMap.layers().add(new TileGridLayer(mMap, getResources().getDisplayMetrics().density)); } @Override diff --git a/vtm-android-example/src/org/oscim/android/test/OsmJsonMapActivity.java b/vtm-android-example/src/org/oscim/android/test/OsmJsonMapActivity.java index 34d510f2..74e0a20d 100644 --- a/vtm-android-example/src/org/oscim/android/test/OsmJsonMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/OsmJsonMapActivity.java @@ -19,7 +19,6 @@ package org.oscim.android.test; import android.os.Bundle; -import org.oscim.backend.CanvasAdapter; import org.oscim.layers.TileGridLayer; import org.oscim.layers.tile.buildings.BuildingLayer; import org.oscim.layers.tile.vector.VectorTileLayer; @@ -66,7 +65,7 @@ public class OsmJsonMapActivity extends MapActivity { mMap.layers().add(l); mMap.layers().add(new LabelLayer(mMap, l)); - mMap.layers().add(new TileGridLayer(mMap, CanvasAdapter.dpi / 160)); + mMap.layers().add(new TileGridLayer(mMap, getResources().getDisplayMetrics().density)); mMap.setMapPosition(53.08, 8.83, Math.pow(2, 16)); } diff --git a/vtm-android-example/src/org/oscim/android/test/SimpleMapActivity.java b/vtm-android-example/src/org/oscim/android/test/SimpleMapActivity.java index 888c4e0c..df74f6b3 100644 --- a/vtm-android-example/src/org/oscim/android/test/SimpleMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/SimpleMapActivity.java @@ -19,7 +19,6 @@ package org.oscim.android.test; import android.os.Bundle; -import org.oscim.backend.CanvasAdapter; import org.oscim.core.MapPosition; import org.oscim.core.MercatorProjection; import org.oscim.layers.GroupLayer; @@ -48,7 +47,7 @@ public class SimpleMapActivity extends BaseMapActivity { groupLayer.layers.add(new LabelLayer(mMap, mBaseLayer)); mMap.layers().add(groupLayer); - mapScaleBar = new DefaultMapScaleBar(mMap, CanvasAdapter.dpi / 160); + mapScaleBar = new DefaultMapScaleBar(mMap); mapScaleBar.setScaleBarMode(DefaultMapScaleBar.ScaleBarMode.BOTH); mapScaleBar.setDistanceUnitAdapter(MetricUnitAdapter.INSTANCE); mapScaleBar.setSecondaryDistanceUnitAdapter(ImperialUnitAdapter.INSTANCE); @@ -57,7 +56,7 @@ public class SimpleMapActivity extends BaseMapActivity { MapScaleBarLayer mapScaleBarLayer = new MapScaleBarLayer(mMap, mapScaleBar); BitmapRenderer renderer = mapScaleBarLayer.getRenderer(); renderer.setPosition(GLViewport.Position.BOTTOM_LEFT); - renderer.setOffset(5 * CanvasAdapter.dpi / 160, 0); + renderer.setOffset(5 * getResources().getDisplayMetrics().density, 0); mMap.layers().add(mapScaleBarLayer); mMap.setTheme(VtmThemes.DEFAULT); diff --git a/vtm-android-gdx/src/org/oscim/gdx/MainActivity.java b/vtm-android-gdx/src/org/oscim/gdx/MainActivity.java index 656291b2..8a7d8c11 100644 --- a/vtm-android-gdx/src/org/oscim/gdx/MainActivity.java +++ b/vtm-android-gdx/src/org/oscim/gdx/MainActivity.java @@ -58,7 +58,7 @@ public class MainActivity extends AndroidApplication { @Override public void createLayers() { TileSource ts = new OSciMap4TileSource(); - initDefaultLayers(ts, true, true, true, CanvasAdapter.dpi / 160); + initDefaultLayers(ts, true, true, true, getResources().getDisplayMetrics().density); } } } diff --git a/vtm-android/src/org/oscim/android/canvas/AndroidSvgBitmap.java b/vtm-android/src/org/oscim/android/canvas/AndroidSvgBitmap.java index ac4c3777..f159cd03 100644 --- a/vtm-android/src/org/oscim/android/canvas/AndroidSvgBitmap.java +++ b/vtm-android/src/org/oscim/android/canvas/AndroidSvgBitmap.java @@ -76,7 +76,7 @@ public class AndroidSvgBitmap extends AndroidBitmap { private static android.graphics.Bitmap getResourceBitmapImpl(InputStream inputStream) throws IOException { synchronized (SVG.getVersion()) { - return getResourceBitmap(inputStream, CanvasAdapter.dpi / 160, DEFAULT_SIZE, 0, 0, 100); + return getResourceBitmap(inputStream, CanvasAdapter.dpi / CanvasAdapter.DEFAULT_DPI, DEFAULT_SIZE, 0, 0, 100); } } diff --git a/vtm-app/src/org/oscim/app/MapLayers.java b/vtm-app/src/org/oscim/app/MapLayers.java index f7bb2fe9..bd11925b 100644 --- a/vtm-app/src/org/oscim/app/MapLayers.java +++ b/vtm-app/src/org/oscim/app/MapLayers.java @@ -21,7 +21,6 @@ import android.content.SharedPreferences; import android.preference.PreferenceManager; import org.oscim.android.cache.TileCache; -import org.oscim.backend.CanvasAdapter; import org.oscim.layers.GenericLayer; import org.oscim.layers.Layer; import org.oscim.layers.TileGridLayer; @@ -149,13 +148,13 @@ public class MapLayers { } - void enableGridOverlay(boolean enable) { + void enableGridOverlay(Context context, boolean enable) { if (mGridEnabled == enable) return; if (enable) { if (mGridOverlay == null) - mGridOverlay = new TileGridLayer(App.map, CanvasAdapter.dpi / 160); + mGridOverlay = new TileGridLayer(App.map, context.getResources().getDisplayMetrics().density); App.map.layers().add(mGridOverlay); } else { diff --git a/vtm-app/src/org/oscim/app/TileMap.java b/vtm-app/src/org/oscim/app/TileMap.java index bcfe9e82..0d69c387 100755 --- a/vtm-app/src/org/oscim/app/TileMap.java +++ b/vtm-app/src/org/oscim/app/TileMap.java @@ -205,7 +205,7 @@ public class TileMap extends MapActivity implements MapEventsReceiver { break; case R.id.menu_layer_grid: - mMapLayers.enableGridOverlay(!mMapLayers.isGridEnabled()); + mMapLayers.enableGridOverlay(this, !mMapLayers.isGridEnabled()); mMap.updateMap(true); break; diff --git a/vtm-desktop/src/org/oscim/awt/AwtSvgBitmap.java b/vtm-desktop/src/org/oscim/awt/AwtSvgBitmap.java index bfc95a02..6435d5e7 100644 --- a/vtm-desktop/src/org/oscim/awt/AwtSvgBitmap.java +++ b/vtm-desktop/src/org/oscim/awt/AwtSvgBitmap.java @@ -28,7 +28,7 @@ import java.net.URI; public class AwtSvgBitmap extends AwtBitmap { /** - * Default size is 20x20px (400px) at 240dpi. + * Default size is 20x20px (400px) at 160dpi. */ public static float DEFAULT_SIZE = 400f; @@ -79,7 +79,7 @@ public class AwtSvgBitmap extends AwtBitmap { private static BufferedImage getResourceBitmapImpl(InputStream inputStream) throws IOException { synchronized (SVGCache.getSVGUniverse()) { - return getResourceBitmap(inputStream, CanvasAdapter.dpi / 240, DEFAULT_SIZE, 0, 0, 100); + return getResourceBitmap(inputStream, CanvasAdapter.dpi / CanvasAdapter.DEFAULT_DPI, DEFAULT_SIZE, 0, 0, 100); } } diff --git a/vtm-ios/src/org/oscim/ios/backend/IosSvgBitmap.java b/vtm-ios/src/org/oscim/ios/backend/IosSvgBitmap.java index d481e84c..a4dc713a 100644 --- a/vtm-ios/src/org/oscim/ios/backend/IosSvgBitmap.java +++ b/vtm-ios/src/org/oscim/ios/backend/IosSvgBitmap.java @@ -34,7 +34,7 @@ public class IosSvgBitmap extends IosBitmap { private static final Logger log = LoggerFactory.getLogger(IosSvgBitmap.class); /** - * Default size is 20x20px (400px) at 240dpi. + * Default size is 20x20px (400px) at 160dpi. */ public static float DEFAULT_SIZE = 400f; @@ -90,7 +90,7 @@ public class IosSvgBitmap extends IosBitmap { } private static UIImage getResourceBitmapImpl(InputStream inputStream) { - return getResourceBitmap(inputStream, CanvasAdapter.dpi / 240, DEFAULT_SIZE, 0, 0, 100); + return getResourceBitmap(inputStream, CanvasAdapter.dpi / CanvasAdapter.DEFAULT_DPI, DEFAULT_SIZE, 0, 0, 100); } public IosSvgBitmap(InputStream inputStream) throws IOException { diff --git a/vtm-playground/resources/assets/styles/style.xml b/vtm-playground/resources/assets/styles/style.xml index 695ffb54..36e4f7b0 100644 --- a/vtm-playground/resources/assets/styles/style.xml +++ b/vtm-playground/resources/assets/styles/style.xml @@ -1,6 +1,6 @@ - diff --git a/vtm-themes/resources/assets/styles/default.xml b/vtm-themes/resources/assets/styles/default.xml index e6788b71..dabb6c03 100644 --- a/vtm-themes/resources/assets/styles/default.xml +++ b/vtm-themes/resources/assets/styles/default.xml @@ -1,6 +1,6 @@ - @@ -1035,13 +1035,13 @@ - - diff --git a/vtm-themes/resources/assets/styles/mapzen.xml b/vtm-themes/resources/assets/styles/mapzen.xml index 19d8cac6..aef4d023 100644 --- a/vtm-themes/resources/assets/styles/mapzen.xml +++ b/vtm-themes/resources/assets/styles/mapzen.xml @@ -1,6 +1,6 @@ - @@ -1035,13 +1035,13 @@ - - diff --git a/vtm-themes/resources/assets/styles/newtron.xml b/vtm-themes/resources/assets/styles/newtron.xml index a707c60f..b0677dd8 100644 --- a/vtm-themes/resources/assets/styles/newtron.xml +++ b/vtm-themes/resources/assets/styles/newtron.xml @@ -1204,12 +1204,12 @@ - - diff --git a/vtm-themes/resources/assets/styles/osmarender.xml b/vtm-themes/resources/assets/styles/osmarender.xml index 4460dc0a..6192fba8 100644 --- a/vtm-themes/resources/assets/styles/osmarender.xml +++ b/vtm-themes/resources/assets/styles/osmarender.xml @@ -1,6 +1,6 @@ - @@ -1291,12 +1291,12 @@ - - diff --git a/vtm-themes/resources/assets/styles/tronrender.xml b/vtm-themes/resources/assets/styles/tronrender.xml index 86e9e7ee..f5c27770 100644 --- a/vtm-themes/resources/assets/styles/tronrender.xml +++ b/vtm-themes/resources/assets/styles/tronrender.xml @@ -1197,12 +1197,12 @@ - - diff --git a/vtm/src/org/oscim/backend/CanvasAdapter.java b/vtm/src/org/oscim/backend/CanvasAdapter.java index 51664fa0..27bf221e 100644 --- a/vtm/src/org/oscim/backend/CanvasAdapter.java +++ b/vtm/src/org/oscim/backend/CanvasAdapter.java @@ -43,10 +43,15 @@ public abstract class CanvasAdapter { */ static CanvasAdapter g; + /** + * Default dpi. + */ + public static final float DEFAULT_DPI = 160; + /** * The dpi. */ - public static float dpi = 240; + public static float dpi = DEFAULT_DPI; /** * The scale. diff --git a/vtm/src/org/oscim/map/Animator.java b/vtm/src/org/oscim/map/Animator.java index 797b22a3..2281a1b6 100644 --- a/vtm/src/org/oscim/map/Animator.java +++ b/vtm/src/org/oscim/map/Animator.java @@ -1,6 +1,7 @@ /* * Copyright 2013 Hannes Janetzek * Copyright 2016 Stephan Leuschner + * Copyright 2016 devemux86 * * This file is part of the OpenScienceMap project (http://www.opensciencemap.org). * @@ -180,7 +181,7 @@ public class Animator { float duration = 500; - float flingFactor = 240 / CanvasAdapter.dpi; + float flingFactor = CanvasAdapter.DEFAULT_DPI / CanvasAdapter.dpi; mVelocity.x = velocityX * flingFactor; mVelocity.y = velocityY * flingFactor; mVelocity.x = clamp(mVelocity.x, xmin, xmax); diff --git a/vtm/src/org/oscim/scalebar/DefaultMapScaleBar.java b/vtm/src/org/oscim/scalebar/DefaultMapScaleBar.java index 168f5d1e..afaf5569 100644 --- a/vtm/src/org/oscim/scalebar/DefaultMapScaleBar.java +++ b/vtm/src/org/oscim/scalebar/DefaultMapScaleBar.java @@ -49,7 +49,7 @@ public class DefaultMapScaleBar extends MapScaleBar { private final Paint paintScaleTextStroke; public DefaultMapScaleBar(Map map) { - this(map, CanvasAdapter.dpi / 240); + this(map, CanvasAdapter.dpi / CanvasAdapter.DEFAULT_DPI); } public DefaultMapScaleBar(Map map, float scale) { diff --git a/vtm/src/org/oscim/theme/ThemeLoader.java b/vtm/src/org/oscim/theme/ThemeLoader.java index 912ff1de..4231b19a 100644 --- a/vtm/src/org/oscim/theme/ThemeLoader.java +++ b/vtm/src/org/oscim/theme/ThemeLoader.java @@ -33,7 +33,7 @@ public class ThemeLoader { public static IRenderTheme load(ThemeFile theme) throws ThemeException { IRenderTheme t = XmlThemeBuilder.read(theme); if (t != null) - t.scaleTextSize(CanvasAdapter.textScale + (CanvasAdapter.dpi / 240 - 1) * 0.5f); + t.scaleTextSize(CanvasAdapter.textScale + (CanvasAdapter.dpi / CanvasAdapter.DEFAULT_DPI - 1)); return t; } } diff --git a/vtm/src/org/oscim/theme/XmlThemeBuilder.java b/vtm/src/org/oscim/theme/XmlThemeBuilder.java index 4439cef0..d21d6ec8 100644 --- a/vtm/src/org/oscim/theme/XmlThemeBuilder.java +++ b/vtm/src/org/oscim/theme/XmlThemeBuilder.java @@ -134,7 +134,7 @@ public class XmlThemeBuilder extends DefaultHandler { private final ThemeFile mTheme; private RenderTheme mRenderTheme; - private final float mScale; + private final float mScale, mScale2; private Set mCategories; private XmlRenderThemeStyleLayer mCurrentLayer; @@ -142,7 +142,8 @@ public class XmlThemeBuilder extends DefaultHandler { public XmlThemeBuilder(ThemeFile theme) { mTheme = theme; - mScale = CanvasAdapter.scale + (CanvasAdapter.dpi / 240 - 1) * 0.5f; + mScale = CanvasAdapter.scale + (CanvasAdapter.dpi / CanvasAdapter.DEFAULT_DPI - 1); + mScale2 = CanvasAdapter.scale + (CanvasAdapter.dpi / CanvasAdapter.DEFAULT_DPI - 1) * 0.5f; } @Override @@ -479,7 +480,7 @@ public class XmlThemeBuilder extends DefaultHandler { b.color(value); else if ("width".equals(name) || "stroke-width".equals(name)) { - b.strokeWidth = parseFloat(value) * mScale; + b.strokeWidth = parseFloat(value) * mScale2; if (line == null) { if (!isOutline) validateNonNegative("width", b.strokeWidth); @@ -496,7 +497,7 @@ public class XmlThemeBuilder extends DefaultHandler { b.fixed = parseBoolean(value); else if ("stipple".equals(name)) - b.stipple = Math.round(parseInt(value) * mScale); + b.stipple = Math.round(parseInt(value) * mScale2); else if ("stipple-stroke".equals(name)) b.stippleColor(value); @@ -583,7 +584,7 @@ public class XmlThemeBuilder extends DefaultHandler { else if ("stroke-width".equals(name)) { float strokeWidth = Float.parseFloat(value); validateNonNegative("stroke-width", strokeWidth); - b.strokeWidth = strokeWidth * mScale; + b.strokeWidth = strokeWidth * mScale2; } else if ("fade".equals(name)) b.fadeScale = Integer.parseInt(value); @@ -856,7 +857,7 @@ public class XmlThemeBuilder extends DefaultHandler { b.strokeColor = Color.parseColor(value); else if ("stroke-width".equals(name)) - b.strokeWidth = Float.parseFloat(value) * mScale; + b.strokeWidth = Float.parseFloat(value) * mScale2; else if ("caption".equals(name)) b.caption = Boolean.parseBoolean(value); @@ -869,7 +870,7 @@ public class XmlThemeBuilder extends DefaultHandler { else if ("dy".equals(name)) // NB: minus.. - b.dy = -Float.parseFloat(value) * CanvasAdapter.dpi / 160; + b.dy = -Float.parseFloat(value) * mScale; else if ("symbol".equals(name)) { String lowValue = value.toLowerCase(Locale.ENGLISH); @@ -911,7 +912,7 @@ public class XmlThemeBuilder extends DefaultHandler { String value = attributes.getValue(i); if ("r".equals(name) || "radius".equals(name)) - radius = Float.parseFloat(value) * mScale; + radius = Float.parseFloat(value) * mScale2; else if ("cat".equals(name)) cat = value; @@ -926,7 +927,7 @@ public class XmlThemeBuilder extends DefaultHandler { stroke = Color.parseColor(value); else if ("stroke-width".equals(name)) - strokeWidth = Float.parseFloat(value) * mScale; + strokeWidth = Float.parseFloat(value) * mScale2; else logUnknownAttribute(elementName, name, value, i);