Ignore:
Timestamp:
2017-07-13T23:02:13+02:00 (7 years ago)
Author:
michael2402
Message:

Fix #15006: Separate offset handling for ways, areas and node. Handle offset for all three of them.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/placement/OnLineStrategy.java

    r11814 r12476  
    44import java.awt.font.GlyphVector;
    55import java.awt.geom.AffineTransform;
     6import java.awt.geom.Point2D;
    67import java.awt.geom.Rectangle2D;
    78import java.util.ArrayList;
     
    332333        return Math.atan2(end.getInViewY() - start.getInViewY(), end.getInViewX() - start.getInViewX());
    333334    }
     335
     336    @Override
     337    public PositionForAreaStrategy withAddedOffset(Point2D addToOffset) {
     338        if (Math.abs(addToOffset.getY()) < 1e-5) {
     339            return this;
     340        } else {
     341            return new OnLineStrategy(addToOffset.getY() + this.yOffset);
     342        }
     343    }
     344
     345    @Override
     346    public String toString() {
     347        return "OnLineStrategy [yOffset=" + yOffset + "]";
     348    }
     349
     350    @Override
     351    public int hashCode() {
     352        final int prime = 31;
     353        int result = 1;
     354        long temp;
     355        temp = Double.doubleToLongBits(yOffset);
     356        result = prime * result + (int) (temp ^ (temp >>> 32));
     357        return result;
     358    }
     359
     360    @Override
     361    public boolean equals(Object obj) {
     362        if (this == obj) {
     363            return true;
     364        }
     365        if (obj == null) {
     366            return false;
     367        }
     368        if (getClass() != obj.getClass()) {
     369            return false;
     370        }
     371        OnLineStrategy other = (OnLineStrategy) obj;
     372        if (Double.doubleToLongBits(yOffset) != Double.doubleToLongBits(other.yOffset)) {
     373            return false;
     374        }
     375        return true;
     376    }
    334377}
Note: See TracChangeset for help on using the changeset viewer.