Changeset 768 in josm for trunk/src/org/openstreetmap/josm/data
- Timestamp:
- 2008-08-11T20:59:42+02:00 (16 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/data
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/Preferences.java
r655 r768 277 277 return ColorHelper.html2color(colStr); 278 278 } 279 280 public int getInteger(String key, int def) { 281 String v = get(key); 282 if(null == v) 283 return def; 284 285 try { 286 return Integer.parseInt(v); 287 } catch(NumberFormatException e) { 288 // fall out 289 } 290 291 return def; 292 } 279 293 } -
trunk/src/org/openstreetmap/josm/data/osm/visitor/MapPaintVisitor.java
r757 r768 9 9 import java.awt.Point; 10 10 import java.awt.Polygon; 11 import java.awt.RenderingHints; 11 12 import java.awt.Stroke; 12 13 import java.awt.geom.GeneralPath; … … 17 18 18 19 import org.openstreetmap.josm.Main; 20 import org.openstreetmap.josm.actions.UnselectAllAction; 19 21 import org.openstreetmap.josm.data.Preferences; 20 22 import org.openstreetmap.josm.data.osm.DataSet; … … 77 79 protected boolean showOrderNumber; 78 80 81 private boolean fillSelectedNode; 82 83 private boolean fillUnselectedNode; 84 85 private int selectedNodeRadius; 86 87 private int unselectedNodeRadius; 88 89 private int selectedNodeSize; 90 91 private int unselectedNodeSize; 92 93 private int defaultSegmentWidth = 2; 94 79 95 public final static Color darkerblue = new Color(0,0,96); 80 96 public final static Color darkblue = new Color(0,0,128); … … 126 142 } 127 143 } else { 128 drawNode(n, n.selected ? selectedColor : nodeColor); 144 if (n.selected) 145 drawNode(n, selectedColor, selectedNodeSize, selectedNodeRadius, fillSelectedNode); 146 else 147 drawNode(n, nodeColor, unselectedNodeSize, unselectedNodeRadius, fillUnselectedNode); 129 148 } 130 149 } … … 143 162 144 163 Color colour = untaggedColor; 145 int width = 2;164 int width = defaultSegmentWidth; 146 165 int realWidth = 0; //the real width of the element in meters 147 166 boolean dashed = false; … … 326 345 * @param color The color of the node. 327 346 */ 328 public void drawNode(Node n, Color color) { 329 if(isZoomOk(null)) { 330 Point p = nc.getPoint(n.eastNorth); 331 if ((p.x < 0) || (p.y < 0) || (p.x > nc.getWidth()) || (p.y > nc.getHeight())) return; 332 g.setColor(color); 333 g.drawRect(p.x-1, p.y-1, 2, 2); 334 } 335 } 347 public void drawNode(Node n, Color color, int size, int radius, boolean fill) { 348 if (isZoomOk(null) && size > 1) { 349 Point p = nc.getPoint(n.eastNorth); 350 if ((p.x < 0) || (p.y < 0) || (p.x > nc.getWidth()) 351 || (p.y > nc.getHeight())) 352 return; 353 g.setColor(color); 354 if (fill) 355 g.fillRect(p.x - radius, p.y - radius, size, size); 356 else 357 g.drawRect(p.x - radius, p.y - radius, size, size); 358 } 359 } 336 360 337 361 // NW 111106 Overridden from SimplePaintVisitor in josm-1.4-nw1 … … 353 377 fillAreas = Main.pref.getBoolean("mappaint.fillareas", true); 354 378 355 /* XXX - there must be a better way to get a bounded Integer pref! */ 356 try { 357 fillAlpha = Integer.valueOf(Main.pref.get("mappaint.fillalpha", "50")); 358 if (fillAlpha < 0) { 359 fillAlpha = 0; 360 } 361 if (fillAlpha > 255) { 362 fillAlpha = 255; 363 } 364 } catch (NumberFormatException nfe) { 365 fillAlpha = 50; 366 } 379 selectedNodeRadius = Main.pref.getInteger("mappaint.node.selected-size", 380 5) / 2; 381 selectedNodeSize = selectedNodeRadius * 2; 382 unselectedNodeRadius = Main.pref.getInteger( 383 "mappaint.node.unselected-size", 3) / 2; 384 unselectedNodeSize = unselectedNodeRadius * 2; 385 386 defaultSegmentWidth = Main.pref.getInteger( 387 "mappaint.segment.default-width", 2); 388 389 fillSelectedNode = Main.pref.getBoolean("mappaint.node.fill-selected", 390 true); 391 fillUnselectedNode = Main.pref.getBoolean( 392 "mappaint.node.fill-unselected", false); 393 394 ((Graphics2D)g) 395 .setRenderingHint( 396 RenderingHints.KEY_ANTIALIASING, 397 Main.pref.getBoolean("mappaint.use-antialiasing", true) ? RenderingHints.VALUE_ANTIALIAS_ON 398 : RenderingHints.VALUE_ANTIALIAS_OFF); 399 400 fillAlpha = Math.min(255, Math.max(0, Integer.valueOf(Main.pref 401 .getInteger("mappaint.fillalpha", 50)))); 367 402 368 403 Collection<Way> noAreaWays = new LinkedList<Way>(); -
trunk/src/org/openstreetmap/josm/data/osm/visitor/SimplePaintVisitor.java
r759 r768 8 8 import java.awt.Point; 9 9 import java.awt.Rectangle; 10 import java.awt.RenderingHints; 10 11 import java.awt.Stroke; 11 12 import java.awt.geom.GeneralPath; 12 13 13 import java.util.Iterator; 14 14 15 import org.openstreetmap.josm.Main; 15 16 import org.openstreetmap.josm.data.Preferences; 16 17 import org.openstreetmap.josm.data.osm.DataSet; 17 import org.openstreetmap.josm.data.osm.Relation;18 18 import org.openstreetmap.josm.data.osm.RelationMember; 19 19 import org.openstreetmap.josm.data.osm.Node; 20 20 import org.openstreetmap.josm.data.osm.OsmPrimitive; 21 import org.openstreetmap.josm.data.osm.Relation; 22 import org.openstreetmap.josm.data.osm.RelationMember; 21 23 import org.openstreetmap.josm.data.osm.Way; 22 24 import org.openstreetmap.josm.gui.NavigatableComponent; 23 import org.openstreetmap.josm.tools.ColorHelper;24 25 25 26 /** … … 64 65 protected boolean showOrderNumber; 65 66 67 private boolean fillSelectedNode; 68 69 private boolean fillUnselectedNode; 70 71 private int selectedNodeRadius; 72 73 private int unselectedNodeRadius; 74 75 private int selectedNodeSize; 76 77 private int unselectedNodeSize; 78 79 private int defaultSegmentWidth = 2; 80 66 81 /** 67 82 * Draw subsequent segments of same color as one Path … … 85 100 showOrderNumber = Main.pref.getBoolean("draw.segment.order_number"); 86 101 102 selectedNodeRadius = Main.pref.getInteger("mappaint.node.selected-size", 103 5) / 2; 104 selectedNodeSize = selectedNodeRadius * 2; 105 unselectedNodeRadius = Main.pref.getInteger( 106 "mappaint.node.unselected-size", 3) / 2; 107 unselectedNodeSize = unselectedNodeRadius * 2; 108 109 defaultSegmentWidth = Main.pref.getInteger( 110 "mappaint.segment.default-width", 2); 111 112 fillSelectedNode = Main.pref.getBoolean("mappaint.node.fill-selected", 113 true); 114 fillUnselectedNode = Main.pref.getBoolean( 115 "mappaint.node.fill-unselected", false); 116 117 ((Graphics2D)g) 118 .setRenderingHint( 119 RenderingHints.KEY_ANTIALIASING, 120 Main.pref.getBoolean("mappaint.use-antialiasing", true) ? RenderingHints.VALUE_ANTIALIAS_ON 121 : RenderingHints.VALUE_ANTIALIAS_OFF); 122 87 123 // draw tagged ways first, then untagged ways. takes 88 124 // time to iterate through list twice, OTOH does not … … 121 157 if (n.incomplete) return; 122 158 123 Color color = null;124 159 if (inactive) 125 color = inactiveColor;160 drawNode(n, inactiveColor, unselectedNodeSize, unselectedNodeRadius, fillUnselectedNode); 126 161 else if (n.selected) 127 color = selectedColor;162 drawNode(n, selectedColor, selectedNodeSize, selectedNodeRadius, fillSelectedNode); 128 163 else 129 color = nodeColor; 130 drawNode(n, color); 164 drawNode(n, nodeColor, unselectedNodeSize, unselectedNodeRadius, fillUnselectedNode); 131 165 } 132 166 … … 235 269 * @param color The color of the node. 236 270 */ 237 public void drawNode(Node n, Color color ) {238 Point p = nc.getPoint(n.eastNorth);239 if ((p.x < 0) || (p.y < 0) || (p.x > nc.getWidth()) || (p.y > nc.getHeight())) return;240 241 g.setColor(color); 242 243 if (n.tagged) { 244 g.drawRect(p.x, p.y, 0, 0); 245 g.drawRect(p.x-2, p.y-2, 4, 4);246 } else { 247 g.drawRect(p.x-1, p.y-1, 2, 2);248 271 public void drawNode(Node n, Color color, int size, int radius, boolean fill) { 272 if (size > 1) { 273 Point p = nc.getPoint(n.eastNorth); 274 if ((p.x < 0) || (p.y < 0) || (p.x > nc.getWidth()) 275 || (p.y > nc.getHeight())) 276 return; 277 g.setColor(color); 278 if (fill) 279 g.fillRect(p.x - radius, p.y - radius, size, size); 280 else 281 g.drawRect(p.x - radius, p.y - radius, size, size); 282 } 249 283 } 250 284
Note:
See TracChangeset
for help on using the changeset viewer.