Ticket #12933: patch-mapview-remove-paint-poly.patch
File patch-mapview-remove-paint-poly.patch, 3.7 KB (added by , 9 years ago) |
---|
-
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 9334562..aca69f4 100644
a b 2 2 package org.openstreetmap.josm.gui; 3 3 4 4 import java.awt.Cursor; 5 import java.awt.Graphics;6 5 import java.awt.Point; 7 import java.awt.Polygon;8 6 import java.awt.Rectangle; 9 7 import java.awt.geom.AffineTransform; 10 8 import java.awt.geom.Point2D; … … import org.openstreetmap.josm.data.osm.Relation; 43 41 import org.openstreetmap.josm.data.osm.Way; 44 42 import org.openstreetmap.josm.data.osm.WaySegment; 45 43 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor; 46 import org.openstreetmap.josm.data.osm.visitor.paint.PaintColors;47 44 import org.openstreetmap.josm.data.preferences.BooleanProperty; 48 45 import org.openstreetmap.josm.data.preferences.DoubleProperty; 49 46 import org.openstreetmap.josm.data.preferences.IntegerProperty; … … public class NavigatableComponent extends JComponent implements Helpful { 142 139 */ 143 140 protected EastNorth center = calculateDefaultCenter(); 144 141 145 private final transient Object paintRequestLock = new Object();146 private Rectangle paintRect;147 private Polygon paintPoly;148 149 142 protected transient ViewportData initialViewport; 150 143 151 144 protected final transient CursorManager cursorManager = new CursorManager(this); … … public class NavigatableComponent extends JComponent implements Helpful { 1571 1564 return cursorManager; 1572 1565 } 1573 1566 1574 @Override1575 public void paint(Graphics g) {1576 synchronized (paintRequestLock) {1577 if (paintRect != null) {1578 Graphics g2 = g.create();1579 g2.setColor(Utils.complement(PaintColors.getBackgroundColor()));1580 g2.drawRect(paintRect.x, paintRect.y, paintRect.width, paintRect.height);1581 g2.dispose();1582 }1583 if (paintPoly != null) {1584 Graphics g2 = g.create();1585 g2.setColor(Utils.complement(PaintColors.getBackgroundColor()));1586 g2.drawPolyline(paintPoly.xpoints, paintPoly.ypoints, paintPoly.npoints);1587 g2.dispose();1588 }1589 }1590 super.paint(g);1591 }1592 1593 /**1594 * Requests to paint the given {@code Rectangle}.1595 * @param r The Rectangle to draw1596 * @see #requestClearRect1597 * @since 55001598 */1599 public void requestPaintRect(Rectangle r) {1600 if (r != null) {1601 synchronized (paintRequestLock) {1602 paintRect = r;1603 }1604 repaint();1605 }1606 }1607 1608 /**1609 * Requests to paint the given {@code Polygon} as a polyline (unclosed polygon).1610 * @param p The Polygon to draw1611 * @see #requestClearPoly1612 * @since 55001613 */1614 public void requestPaintPoly(Polygon p) {1615 if (p != null) {1616 synchronized (paintRequestLock) {1617 paintPoly = p;1618 }1619 repaint();1620 }1621 }1622 1623 /**1624 * Requests to clear the rectangled previously drawn.1625 * @see #requestPaintRect1626 * @since 55001627 */1628 public void requestClearRect() {1629 synchronized (paintRequestLock) {1630 paintRect = null;1631 }1632 repaint();1633 }1634 1635 /**1636 * Requests to clear the polyline previously drawn.1637 * @see #requestPaintPoly1638 * @since 55001639 */1640 public void requestClearPoly() {1641 synchronized (paintRequestLock) {1642 paintPoly = null;1643 }1644 repaint();1645 }1646 1647 1567 /** 1648 1568 * Get a max scale for projection that describes world in 1/512 of the projection unit 1649 1569 * @return max scale