Changeset 759 in josm
- Timestamp:
- 2008-08-08T18:03:46+02:00 (16 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/visitor/SimplePaintVisitor.java
r637 r759 2 2 package org.openstreetmap.josm.data.osm.visitor; 3 3 4 import java.awt.BasicStroke; 4 5 import java.awt.Color; 5 6 import java.awt.Graphics; … … 7 8 import java.awt.Point; 8 9 import java.awt.Rectangle; 10 import java.awt.Stroke; 9 11 import java.awt.geom.GeneralPath; 10 12 … … 14 16 import org.openstreetmap.josm.data.osm.DataSet; 15 17 import org.openstreetmap.josm.data.osm.Relation; 18 import org.openstreetmap.josm.data.osm.RelationMember; 16 19 import org.openstreetmap.josm.data.osm.Node; 17 20 import org.openstreetmap.josm.data.osm.OsmPrimitive; … … 31 34 public final static Color darkblue = new Color(0,0,128); 32 35 public final static Color darkgreen = new Color(0,128,0); 36 public final static Color teal = new Color(0,128,128); 33 37 34 38 /** … … 52 56 protected Color nodeColor; 53 57 protected Color dfltWayColor; 58 protected Color relationColor; 54 59 protected Color untaggedWayColor; 55 60 protected Color incompleteColor; … … 72 77 nodeColor = Preferences.getPreferencesColor("node", Color.RED); 73 78 dfltWayColor = Preferences.getPreferencesColor("way", darkblue); 79 relationColor = Preferences.getPreferencesColor("relation", teal); 74 80 untaggedWayColor = Preferences.getPreferencesColor("untagged way", darkgreen); 75 81 incompleteColor = Preferences.getPreferencesColor("incomplete way", darkerblue); … … 82 88 // time to iterate through list twice, OTOH does not 83 89 // require changing the colour while painting... 90 for (final OsmPrimitive osm : data.relations) 91 if (!osm.deleted && !osm.selected) 92 osm.visit(this); 93 84 94 for (final OsmPrimitive osm : data.ways) 85 95 if (!osm.deleted && !osm.selected && osm.tagged) … … 157 167 } 158 168 159 public void visit(Relation e) { 160 // relations are not (yet?) drawn. 169 private Stroke relatedWayStroke = new BasicStroke( 170 4, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL); 171 public void visit(Relation r) { 172 if (r.incomplete) return; 173 174 Color col; 175 if (inactive) { 176 col = inactiveColor; 177 } else if (r.selected) { 178 col = selectedColor; 179 } else { 180 col = relationColor; 181 } 182 g.setColor(col); 183 184 for (RelationMember m : r.members) { 185 if (m.member.incomplete || m.member.deleted) continue; 186 187 if (m.member instanceof Node) { 188 Point p = nc.getPoint(((Node) m.member).eastNorth); 189 if (p.x < 0 || p.y < 0 190 || p.x > nc.getWidth() || p.y > nc.getHeight()) continue; 191 192 g.drawOval(p.x-3, p.y-3, 6, 6); 193 } else if (m.member instanceof Way) { 194 GeneralPath path = new GeneralPath(); 195 196 boolean first = true; 197 for (Node n : ((Way) m.member).nodes) { 198 if (n.incomplete || n.deleted) continue; 199 Point p = nc.getPoint(n.eastNorth); 200 if (first) { 201 path.moveTo(p.x, p.y); 202 first = false; 203 } else { 204 path.lineTo(p.x, p.y); 205 } 206 } 207 208 ((Graphics2D) g).draw(relatedWayStroke.createStrokedShape(path)); 209 } 210 } 161 211 } 162 212 -
trunk/src/org/openstreetmap/josm/gui/preferences/ColorPreference.java
r758 r759 150 150 marktr("way"), ColorHelper.color2html(SimplePaintVisitor.darkblue), 151 151 marktr("incomplete way"), ColorHelper.color2html(SimplePaintVisitor.darkerblue), 152 marktr("relation"), ColorHelper.color2html(SimplePaintVisitor.teal), 152 153 marktr("selected"), ColorHelper.color2html(Color.white), 153 154 marktr("gps point"), ColorHelper.color2html(Color.gray),
Note:
See TracChangeset
for help on using the changeset viewer.