MapScaleBar: fix scaling

This commit is contained in:
Emux 2019-11-05 15:03:18 +02:00
parent ae04fa83f6
commit 0dd82cb68f
No known key found for this signature in database
GPG Key ID: 64ED9980896038C3
2 changed files with 7 additions and 7 deletions

View File

@ -1,7 +1,7 @@
/* /*
* Copyright 2010, 2011, 2012, 2013 mapsforge.org * Copyright 2010, 2011, 2012, 2013 mapsforge.org
* Copyright 2014 Ludwig M Brinckmann * Copyright 2014 Ludwig M Brinckmann
* Copyright 2014-2017 devemux86 * Copyright 2014-2019 devemux86
* Copyright 2014 Erik Duisters * Copyright 2014 Erik Duisters
* Copyright 2014 Christian Pesch * Copyright 2014 Christian Pesch
* *
@ -39,7 +39,6 @@ public class DefaultMapScaleBar extends MapScaleBar {
public enum ScaleBarMode {BOTH, SINGLE} public enum ScaleBarMode {BOTH, SINGLE}
private final float scale;
private ScaleBarMode scaleBarMode; private ScaleBarMode scaleBarMode;
private DistanceUnitAdapter secondaryDistanceUnitAdapter; private DistanceUnitAdapter secondaryDistanceUnitAdapter;
@ -53,12 +52,11 @@ public class DefaultMapScaleBar extends MapScaleBar {
} }
public DefaultMapScaleBar(Map map, float scale) { public DefaultMapScaleBar(Map map, float scale) {
super(map, (int) (BITMAP_WIDTH * scale), (int) (BITMAP_HEIGHT * scale)); super(map, (int) (BITMAP_WIDTH * scale), (int) (BITMAP_HEIGHT * scale), scale);
setMarginHorizontal((int) (DEFAULT_HORIZONTAL_MARGIN * scale)); setMarginHorizontal((int) (DEFAULT_HORIZONTAL_MARGIN * scale));
setMarginVertical((int) (DEFAULT_VERTICAL_MARGIN * scale)); setMarginVertical((int) (DEFAULT_VERTICAL_MARGIN * scale));
this.scale = scale;
this.scaleBarMode = ScaleBarMode.BOTH; this.scaleBarMode = ScaleBarMode.BOTH;
this.secondaryDistanceUnitAdapter = ImperialUnitAdapter.INSTANCE; this.secondaryDistanceUnitAdapter = ImperialUnitAdapter.INSTANCE;

View File

@ -44,8 +44,9 @@ public abstract class MapScaleBar {
protected Canvas mapScaleCanvas; protected Canvas mapScaleCanvas;
private int marginHorizontal; private int marginHorizontal;
private int marginVertical; private int marginVertical;
private final MapPosition prevMapPosition = new MapPosition(); protected final MapPosition prevMapPosition = new MapPosition();
protected boolean redrawNeeded; protected boolean redrawNeeded;
protected final float scale;
protected ScaleBarPosition scaleBarPosition; protected ScaleBarPosition scaleBarPosition;
private boolean visible; private boolean visible;
@ -62,9 +63,10 @@ public abstract class MapScaleBar {
} }
} }
public MapScaleBar(Map map, int width, int height) { public MapScaleBar(Map map, int width, int height, float scale) {
this.map = map; this.map = map;
this.mapScaleBitmap = CanvasAdapter.newBitmap(width, height, 0); this.mapScaleBitmap = CanvasAdapter.newBitmap(width, height, 0);
this.scale = scale;
this.scaleBarPosition = DEFAULT_SCALE_BAR_POSITION; this.scaleBarPosition = DEFAULT_SCALE_BAR_POSITION;
@ -206,7 +208,7 @@ public abstract class MapScaleBar {
for (int scaleBarValue : scaleBarValues) { for (int scaleBarValue : scaleBarValues) {
mapScaleValue = scaleBarValue; mapScaleValue = scaleBarValue;
scaleBarLength = (int) (mapScaleValue / groundResolution); scaleBarLength = (int) (mapScaleValue / groundResolution);
if (scaleBarLength < (this.mapScaleBitmap.getWidth() - 10)) { if (scaleBarLength < (this.mapScaleBitmap.getWidth() - 10 * this.scale)) {
break; break;
} }
} }