diff --git a/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java b/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
index f5e8a95..3b99149 100644
|
a
|
b
|
public class StyledMapRenderer extends AbstractMapRenderer {
|
| 702 | 702 | Font defaultFont = g.getFont(); |
| 703 | 703 | g.setFont(text.font); |
| 704 | 704 | |
| 705 | | int x = (int) (p.getInViewX() + text.xOffset); |
| 706 | | int y = (int) (p.getInViewY() + text.yOffset); |
| | 705 | int x = (int) (Math.round(p.getInViewX()) + text.xOffset); |
| | 706 | int y = (int) (Math.round(p.getInViewY()) + text.yOffset); |
| 707 | 707 | /** |
| 708 | 708 | * |
| 709 | 709 | * left-above __center-above___ right-above |
| … |
… |
public class StyledMapRenderer extends AbstractMapRenderer {
|
| 889 | 889 | temporaryGraphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha)); |
| 890 | 890 | } |
| 891 | 891 | |
| 892 | | double x = p.getInViewX(); |
| 893 | | double y = p.getInViewY(); |
| | 892 | double x = Math.round(p.getInViewX()); |
| | 893 | double y = Math.round(p.getInViewY()); |
| 894 | 894 | temporaryGraphics.translate(x, y); |
| 895 | 895 | temporaryGraphics.rotate(theta); |
| 896 | 896 | int drawX = -w/2 + img.offsetX; |
diff --git a/src/org/openstreetmap/josm/gui/MapViewState.java b/src/org/openstreetmap/josm/gui/MapViewState.java
index 49d1ad5..693989f 100644
|
a
|
b
|
public final class MapViewState {
|
| 218 | 218 | } |
| 219 | 219 | |
| 220 | 220 | /** |
| | 221 | * Gets the center of the view, rounded to a pixel coordinate |
| | 222 | * @return The center position. |
| | 223 | */ |
| | 224 | public MapViewPoint getCenterAtPixel() { |
| | 225 | return getForView(viewWidth / 2, viewHeight / 2); |
| | 226 | } |
| | 227 | |
| | 228 | /** |
| 221 | 229 | * Gets the width of the view on the Screen; |
| 222 | 230 | * @return The width of the view component in screen pixel. |
| 223 | 231 | */ |
diff --git a/src/org/openstreetmap/josm/gui/NavigatableComponent.java b/src/org/openstreetmap/josm/gui/NavigatableComponent.java
index 1c3af2e..416fe0b 100644
|
a
|
b
|
public class NavigatableComponent extends JComponent implements Helpful {
|
| 293 | 293 | * Zoom in current view. Use configured zoom step and scaling settings. |
| 294 | 294 | */ |
| 295 | 295 | public void zoomIn() { |
| 296 | | zoomTo(getCenter(), scaleZoomIn()); |
| | 296 | zoomTo(state.getCenterAtPixel().getEastNorth(), scaleZoomIn()); |
| 297 | 297 | } |
| 298 | 298 | |
| 299 | 299 | /** |
| 300 | 300 | * Zoom out current view. Use configured zoom step and scaling settings. |
| 301 | 301 | */ |
| 302 | 302 | public void zoomOut() { |
| 303 | | zoomTo(getCenter(), scaleZoomOut()); |
| | 303 | zoomTo(state.getCenterAtPixel().getEastNorth(), scaleZoomOut()); |
| 304 | 304 | } |
| 305 | 305 | |
| 306 | 306 | /** |
| … |
… |
public class NavigatableComponent extends JComponent implements Helpful {
|
| 407 | 407 | * @return the current center of the viewport |
| 408 | 408 | */ |
| 409 | 409 | public EastNorth getCenter() { |
| 410 | | return state.getCenter().getEastNorth(); |
| | 410 | return state.getCenterAtPixel().getEastNorth(); |
| 411 | 411 | } |
| 412 | 412 | |
| 413 | 413 | /** |
| … |
… |
public class NavigatableComponent extends JComponent implements Helpful {
|
| 607 | 607 | private void zoomNoUndoTo(EastNorth newCenter, double newScale, boolean initial) { |
| 608 | 608 | if (!newCenter.equals(getCenter())) { |
| 609 | 609 | EastNorth oldCenter = getCenter(); |
| 610 | | state = state.usingCenter(newCenter); |
| | 610 | state = state.movedTo(state.getCenterAtPixel(), newCenter); |
| 611 | 611 | if (!initial) { |
| 612 | 612 | firePropertyChange(PROPNAME_CENTER, oldCenter, newCenter); |
| 613 | 613 | } |
| … |
… |
public class NavigatableComponent extends JComponent implements Helpful {
|
| 616 | 616 | double oldScale = getScale(); |
| 617 | 617 | state = state.usingScale(newScale); |
| 618 | 618 | // temporary. Zoom logic needs to be moved. |
| 619 | | state = state.movedTo(state.getCenter(), newCenter); |
| | 619 | state = state.movedTo(state.getCenterAtPixel(), newCenter); |
| 620 | 620 | if (!initial) { |
| 621 | 621 | firePropertyChange(PROPNAME_SCALE, oldScale, newScale); |
| 622 | 622 | } |