Changeset 6172 in josm for trunk/src/org/openstreetmap/josm/gui/mappaint
- Timestamp:
- 2013-08-21T18:15:12+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java
r5812 r6172 6 6 import java.awt.BasicStroke; 7 7 import java.awt.Color; 8 import java.awt.Image; 8 9 import java.awt.Rectangle; 9 10 import java.awt.Stroke; … … 19 20 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.IconReference; 20 21 import org.openstreetmap.josm.gui.mappaint.StyleCache.StyleList; 22 import org.openstreetmap.josm.tools.ImageProvider; 21 23 import org.openstreetmap.josm.tools.Utils; 22 24 … … 25 27 */ 26 28 public class NodeElemStyle extends ElemStyle implements StyleKeys { 27 public MapImage mapImage; 28 public Symbol symbol; 29 public final MapImage mapImage; 30 public final Symbol symbol; 31 32 private Image enabledNodeIcon; 33 private Image disabledNodeIcon; 29 34 30 35 public enum SymbolShape { SQUARE, CIRCLE, TRIANGLE, PENTAGON, HEXAGON, HEPTAGON, OCTAGON, NONAGON, DECAGON } … … 230 235 } 231 236 237 private Image getRealNodeIcon(final Image image) { 238 final int maxSize = 16; 239 // Scale down large (.svg) images to 16x16 pixels if no size is explicitely specified 240 if ((mapImage.width == -1 && image.getWidth(null) > maxSize) 241 || (mapImage.height == -1 && image.getHeight(null) > maxSize)) { 242 return ImageProvider.createBoundedImage(image, maxSize); 243 } else { 244 return image; 245 } 246 } 247 232 248 @Override 233 249 public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings settings, StyledMapRenderer painter, boolean selected, boolean member) { … … 235 251 Node n = (Node) primitive; 236 252 if (mapImage != null && painter.isShowIcons()) { 237 painter.drawNodeIcon(n, (painter.isInactiveMode() || n.isDisabled()) ? mapImage.getDisabled() : mapImage.getImage(), 238 Utils.color_int2float(mapImage.alpha), selected, member); 253 final Image nodeIcon; 254 if (painter.isInactiveMode() || n.isDisabled()) { 255 if (disabledNodeIcon == null) { 256 disabledNodeIcon = getRealNodeIcon(mapImage.getDisabled()); 257 } 258 nodeIcon = disabledNodeIcon; 259 } else { 260 if (enabledNodeIcon == null) { 261 enabledNodeIcon = getRealNodeIcon(mapImage.getImage()); 262 } 263 nodeIcon = enabledNodeIcon; 264 } 265 painter.drawNodeIcon(n, nodeIcon, Utils.color_int2float(mapImage.alpha), selected, member); 239 266 } else if (symbol != null) { 240 267 Color fillColor = symbol.fillColor;
Note:
See TracChangeset
for help on using the changeset viewer.