source: josm/trunk/src/org/openstreetmap/josm/gui/mappaint/SimpleNodeElemStyle.java@ 3180

Last change on this file since 3180 was 3180, checked in by bastiK, 14 years ago

applied #4876 - make size of tagged nodes configurable (patch by petschge)

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain
File size: 2.5 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.mappaint;
3
4import java.awt.Color;
5import org.openstreetmap.josm.data.osm.Node;
6import org.openstreetmap.josm.data.osm.OsmPrimitive;
7import org.openstreetmap.josm.data.osm.visitor.paint.MapPaintSettings;
8import org.openstreetmap.josm.data.osm.visitor.paint.MapPainter;
9
10public class SimpleNodeElemStyle extends ElemStyle {
11
12 public static final SimpleNodeElemStyle INSTANCE = new SimpleNodeElemStyle();
13
14 private SimpleNodeElemStyle() {
15 minScale = 0;
16 maxScale = 1500;
17 }
18
19 private static final int max(int a, int b, int c, int d) {
20 return Math.max(Math.max(a, b), Math.max(c, d));
21 }
22
23 @Override
24 public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings settings, MapPainter painter,
25 boolean selected) {
26 Node n = (Node)primitive;
27 String name = painter.isShowNames()?painter.getNodeName(n):null;
28
29
30 if (n.isHighlighted()) {
31 painter.drawNode(n, settings.getHighlightColor(), settings.getSelectedNodeSize(), settings.isFillSelectedNode(), name);
32 } else {
33
34 Color color;
35
36 if (painter.isInactive() || n.isDisabled()) {
37 color = settings.getInactiveColor();
38 } else if (selected) {
39 color = settings.getSelectedColor();
40 } else if (n.isConnectionNode()) {
41 if (n.isTagged()) {
42 color = settings.getTaggedConnectionColor();
43 } else {
44 color = settings.getConnectionColor();
45 }
46 } else {
47 if (n.isTagged()) {
48 color = settings.getTaggedColor();
49 } else {
50 color = settings.getNodeColor();
51 }
52 }
53
54 final int size = max((selected ? settings.getSelectedNodeSize() : 0),
55 (n.isTagged() ? settings.getTaggedNodeSize() : 0),
56 (n.isConnectionNode() ? settings.getConnectionNodeSize() : 0),
57 settings.getUnselectedNodeSize());
58
59 final boolean fill = (selected && settings.isFillSelectedNode()) ||
60 (n.isTagged() && settings.isFillTaggedNode()) ||
61 (n.isConnectionNode() && settings.isFillConnectionNode()) ||
62 settings.isFillUnselectedNode();
63
64 painter.drawNode(n, color, size, fill, name);
65 }
66 }
67
68}
Note: See TracBrowser for help on using the repository browser.