Ignore:
Timestamp:
2011-02-15T12:02:25+01:00 (15 years ago)
Author:
bastiK
Message:

mapcss: minor fixes

File:
1 edited

Legend:

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

    r3893 r3903  
    124124    public static final NodeElemStyle SIMPLE_NODE_ELEMSTYLE;
    125125    static {
    126         Cascade c = new Cascade();
     126        MultiCascade mc = new MultiCascade();
     127        Cascade c = mc.getOrCreateCascade("default");
    127128        c.put("text", "auto");
    128         SIMPLE_NODE_ELEMSTYLE = create(c, true);
     129        SIMPLE_NODE_ELEMSTYLE = create(new Environment(null, mc, "default", null), true);
    129130    }
    130131
     
    137138    }
    138139
    139     public static NodeElemStyle create(Cascade c) {
    140         return create(c, false);
    141     }
    142 
    143     private static NodeElemStyle create(Cascade c, boolean allowOnlyText) {
     140    public static NodeElemStyle create(Environment env) {
     141        return create(env, false);
     142    }
     143
     144    private static NodeElemStyle create(Environment env, boolean allowOnlyText) {
     145        Cascade c = env.mc.getCascade(env.layer);
     146
    144147        IconReference iconRef = c.get("icon-image", null, IconReference.class);
    145148        ImageIcon icon = null;
     
    158161            }
    159162        } else {
    160             symbol = createSymbol(c);
     163            symbol = createSymbol(env);
    161164        }
    162165
     
    195198    }
    196199
    197     private static Symbol createSymbol(Cascade c) {
     200    private static Symbol createSymbol(Environment env) {
     201        Cascade c = env.mc.getCascade(env.layer);
     202        Cascade c_def = env.mc.getCascade("default");
     203
    198204        SymbolShape shape;
    199205        String shapeStr = c.get("symbol-shape", null, String.class);
     
    204210        } else
    205211            return null;
    206 
    207         float size = c.get("symbol-size", 10f, Float.class);
     212       
     213        Float sizeOnDefault = c_def.get("symbol-size", null, Float.class);
     214        if (sizeOnDefault != null && sizeOnDefault <= 0) {
     215            sizeOnDefault = null;
     216        }
     217        Float size = getWidth(c, "symbol-size", sizeOnDefault);
     218
     219        if (size == null) {
     220            size = 10f;
     221        }
     222
    208223        if (size <= 0)
    209224            return null;
    210225
    211         Float strokeWidth = c.get("symbol-stroke-width", null, Float.class);
    212         if (strokeWidth != null && strokeWidth <= 0) {
    213             strokeWidth = null;
    214         }
     226        Float strokeWidthOnDefault = getWidth(c_def, "symbol-stroke-width", null);
     227        Float strokeWidth = getWidth(c, "symbol-stroke-width", strokeWidthOnDefault);
     228
    215229        Color strokeColor = c.get("symbol-stroke-color", null, Color.class);
    216230
Note: See TracChangeset for help on using the changeset viewer.