Changeset 6174 in josm for trunk/src


Ignore:
Timestamp:
2013-08-22T01:23:38+02:00 (11 years ago)
Author:
Don-vip
Message:

see #8849 - use scaled down version of images in recently added tags panel

Location:
trunk/src/org/openstreetmap/josm/gui/mappaint
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/mappaint/MapImage.java

    r6148 r6174  
    150150        return new MapImageBoxProvider();
    151151    }
     152   
     153    /**
     154     * Returns the really displayed node icon for this {@code MapImage}.
     155     * @param disabled {@code} true to request disabled version, {@code false} for the standard version
     156     * @return The scaled down version to 16x16 pixels if the image size exceeds it and no size has been explicitely specified
     157     * @since 6174
     158     */
     159    public Image getDisplayedNodeIcon(boolean disabled) {
     160        final int maxSize = 16;
     161        final Image image = disabled ? getDisabled() : getImage();
     162        // Scale down large (.svg) images to 16x16 pixels if no size is explicitely specified
     163        if ((width  == -1 && image.getWidth(null) > maxSize)
     164         || (height == -1 && image.getHeight(null) > maxSize)) {
     165            return ImageProvider.createBoundedImage(image, maxSize);
     166        } else {
     167            return image;
     168        }
     169    }
    152170
    153171    @Override
  • trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java

    r6148 r6174  
    140140                        if (mapImage != null) {
    141141                            if (includeDeprecatedIcon || mapImage.name == null || !mapImage.name.equals("misc/deprecated.png")) {
    142                                 return new ImageIcon(mapImage.getImage());
     142                                return new ImageIcon(mapImage.getDisplayedNodeIcon(false));
    143143                            } else {
    144144                                return null; // Deprecated icon found but not wanted
  • trunk/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java

    r6172 r6174  
    2020import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.IconReference;
    2121import org.openstreetmap.josm.gui.mappaint.StyleCache.StyleList;
    22 import org.openstreetmap.josm.tools.ImageProvider;
    2322import org.openstreetmap.josm.tools.Utils;
    2423
     
    235234    }
    236235
    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    
    248236    @Override
    249237    public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings settings, StyledMapRenderer painter, boolean selected, boolean member) {
     
    254242                if (painter.isInactiveMode() || n.isDisabled()) {
    255243                    if (disabledNodeIcon == null) {
    256                         disabledNodeIcon = getRealNodeIcon(mapImage.getDisabled());
     244                        disabledNodeIcon = mapImage.getDisplayedNodeIcon(true);
    257245                    }
    258246                    nodeIcon = disabledNodeIcon;
    259247                } else {
    260248                    if (enabledNodeIcon == null) {
    261                         enabledNodeIcon = getRealNodeIcon(mapImage.getImage());
     249                        enabledNodeIcon = mapImage.getDisplayedNodeIcon(false);
    262250                    }
    263251                    nodeIcon = enabledNodeIcon;
Note: See TracChangeset for help on using the changeset viewer.