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/PartiallyInsideAreaStrategy.java

    r12088 r12476  
    22package org.openstreetmap.josm.gui.mappaint.styleelement.placement;
    33
     4import java.awt.geom.Point2D;
    45import java.awt.geom.Rectangle2D;
    56
     
    2021     * An instance of this class.
    2122     */
    22     public static final PartiallyInsideAreaStrategy INSTANCE = new PartiallyInsideAreaStrategy();
     23    public static final PartiallyInsideAreaStrategy INSTANCE = new PartiallyInsideAreaStrategy(0, 0);
    2324
    24     private PartiallyInsideAreaStrategy() {
     25    private PartiallyInsideAreaStrategy(double offsetX, double offsetY) {
     26        super(offsetX, offsetY);
    2527    }
    2628
     
    4446        }
    4547    }
     48
     49    @Override
     50    public PositionForAreaStrategy withAddedOffset(Point2D addToOffset) {
     51        if (Math.abs(addToOffset.getX()) < 1e-5 && Math.abs(addToOffset.getY()) < 1e-5) {
     52            return this;
     53        } else {
     54            return new PartiallyInsideAreaStrategy(offsetX + addToOffset.getX(), offsetY + addToOffset.getY());
     55        }
     56    }
     57
     58    @Override
     59    public String toString() {
     60        return "PartiallyInsideAreaStrategy [offsetX=" + offsetX + ", offsetY=" + offsetY + "]";
     61    }
    4662}
Note: See TracChangeset for help on using the changeset viewer.