Ticket #13375: patch-test-icon-rendering.patch

File patch-test-icon-rendering.patch, 4.1 KB (added by michael2402, 8 years ago)
  • src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java

    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 {  
    702702        Font defaultFont = g.getFont();
    703703        g.setFont(text.font);
    704704
    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);
    707707        /**
    708708         *
    709709         *       left-above __center-above___ right-above
    public class StyledMapRenderer extends AbstractMapRenderer {  
    889889            temporaryGraphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
    890890        }
    891891
    892         double x = p.getInViewX();
    893         double y = p.getInViewY();
     892        double x = Math.round(p.getInViewX());
     893        double y = Math.round(p.getInViewY());
    894894        temporaryGraphics.translate(x, y);
    895895        temporaryGraphics.rotate(theta);
    896896        int drawX = -w/2 + img.offsetX;
  • src/org/openstreetmap/josm/gui/MapViewState.java

    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 {  
    218218    }
    219219
    220220    /**
     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    /**
    221229     * Gets the width of the view on the Screen;
    222230     * @return The width of the view component in screen pixel.
    223231     */
  • src/org/openstreetmap/josm/gui/NavigatableComponent.java

    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 {  
    293293     * Zoom in current view. Use configured zoom step and scaling settings.
    294294     */
    295295    public void zoomIn() {
    296         zoomTo(getCenter(), scaleZoomIn());
     296        zoomTo(state.getCenterAtPixel().getEastNorth(), scaleZoomIn());
    297297    }
    298298
    299299    /**
    300300     * Zoom out current view. Use configured zoom step and scaling settings.
    301301     */
    302302    public void zoomOut() {
    303         zoomTo(getCenter(), scaleZoomOut());
     303        zoomTo(state.getCenterAtPixel().getEastNorth(), scaleZoomOut());
    304304    }
    305305
    306306    /**
    public class NavigatableComponent extends JComponent implements Helpful {  
    407407     * @return the current center of the viewport
    408408     */
    409409    public EastNorth getCenter() {
    410         return state.getCenter().getEastNorth();
     410        return state.getCenterAtPixel().getEastNorth();
    411411    }
    412412
    413413    /**
    public class NavigatableComponent extends JComponent implements Helpful {  
    607607    private void zoomNoUndoTo(EastNorth newCenter, double newScale, boolean initial) {
    608608        if (!newCenter.equals(getCenter())) {
    609609            EastNorth oldCenter = getCenter();
    610             state = state.usingCenter(newCenter);
     610            state = state.movedTo(state.getCenterAtPixel(), newCenter);
    611611            if (!initial) {
    612612                firePropertyChange(PROPNAME_CENTER, oldCenter, newCenter);
    613613            }
    public class NavigatableComponent extends JComponent implements Helpful {  
    616616            double oldScale = getScale();
    617617            state = state.usingScale(newScale);
    618618            // temporary. Zoom logic needs to be moved.
    619             state = state.movedTo(state.getCenter(), newCenter);
     619            state = state.movedTo(state.getCenterAtPixel(), newCenter);
    620620            if (!initial) {
    621621                firePropertyChange(PROPNAME_SCALE, oldScale, newScale);
    622622            }