Ticket #10638: OsmDataLayer.patch

File OsmDataLayer.patch, 1.4 KB (added by GerdP, 8 years ago)
  • src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java

     
    1616import java.awt.TexturePaint;
    1717import java.awt.event.ActionEvent;
    1818import java.awt.geom.Area;
     19import java.awt.geom.Path2D;
    1920import java.awt.geom.Rectangle2D;
    2021import java.awt.image.BufferedImage;
    2122import java.io.File;
     
    403404            // on some platforms viewport bounds seem to be offset from the left,
    404405            // over-grow it just to be sure
    405406            b.grow(100, 100);
    406             Area a = new Area(b);
     407            Path2D p = new Path2D.Double();
    407408
    408             // now successively subtract downloaded areas
     409            // combine successively downloaded areas
    409410            for (Bounds bounds : data.getDataSourceBounds()) {
    410411                if (bounds.isCollapsed()) {
    411412                    continue;
    412413                }
    413                 a.subtract(mv.getState().getArea(bounds));
     414                p.append(mv.getState().getArea(bounds), false);
    414415            }
     416            // subtract combined areas
     417            Area a = new Area(b);
     418            a.subtract(new Area(p));
    415419
    416420            // paint remainder
    417421            MapViewPoint anchor = mv.getState().getPointFor(new EastNorth(0, 0));