Ignore:
Timestamp:
2014-10-14T21:11:26+02:00 (10 years ago)
Author:
Don-vip
Message:

fix #10615 - Inner ways of multipolygon not correctly displayed (regression from r7555)

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

Legend:

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

    r7555 r7621  
    8686
    8787    @Override
    88     public void paintPrimitive(OsmPrimitive osm, MapPaintSettings paintSettings, StyledMapRenderer painter, boolean selected, boolean member) {
     88    public void paintPrimitive(OsmPrimitive osm, MapPaintSettings paintSettings, StyledMapRenderer painter,
     89            boolean selected, boolean outermember, boolean member) {
    8990        Color myColor = color;
    9091        if (osm instanceof Way) {
     
    9293                if (selected) {
    9394                    myColor = paintSettings.getSelectedColor(color.getAlpha());
    94                 } else if (member) {
     95                } else if (outermember) {
    9596                    myColor = paintSettings.getRelationSelectedColor(color.getAlpha());
    9697                }
     
    9899            painter.drawArea((Way) osm, myColor, fillImage, text);
    99100        } else if (osm instanceof Relation) {
    100             if (color != null && (selected || (member && ((Relation) osm).isMultipolygon()))) {
     101            if (color != null && (selected || outermember)) {
    101102                myColor = paintSettings.getRelationSelectedColor(color.getAlpha());
    102103            }
  • trunk/src/org/openstreetmap/josm/gui/mappaint/BoxTextElemStyle.java

    r7383 r7621  
    179179
    180180    @Override
    181     public void paintPrimitive(OsmPrimitive osm, MapPaintSettings settings, StyledMapRenderer painter, boolean selected, boolean member) {
     181    public void paintPrimitive(OsmPrimitive osm, MapPaintSettings settings, StyledMapRenderer painter,
     182            boolean selected, boolean outermember, boolean member) {
    182183        if (osm instanceof Node) {
    183184            painter.drawBoxText((Node) osm, this);
  • trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyle.java

    r7383 r7621  
    4343     * @param painter
    4444     * @param selected true, if primitive is selected
     45     * @param outermember true, if primitive is not selected and outer member of a selected multipolygon relation
    4546     * @param member true, if primitive is not selected and member of a selected relation
    4647     */
    47     public abstract void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter, boolean selected, boolean member);
     48    public abstract void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter,
     49            boolean selected, boolean outermember, boolean member);
    4850
    4951    public boolean isProperLineStyle() {
  • trunk/src/org/openstreetmap/josm/gui/mappaint/LineElemStyle.java

    r7136 r7621  
    264264
    265265    @Override
    266     public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter, boolean selected, boolean member) {
     266    public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter,
     267            boolean selected, boolean outermember, boolean member) {
    267268        Way w = (Way)primitive;
    268269        /* show direction arrows, if draw.segment.relevant_directions_only is not set,
     
    297298        if (selected) {
    298299            myColor = paintSettings.getSelectedColor(color.getAlpha());
    299         } else if (member) {
     300        } else if (member || outermember) {
    300301            myColor = paintSettings.getRelationSelectedColor(color.getAlpha());
    301302        } else if(w.isDisabled()) {
  • trunk/src/org/openstreetmap/josm/gui/mappaint/LineTextElemStyle.java

    r7383 r7621  
    3232
    3333    @Override
    34     public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter, boolean selected, boolean member) {
     34    public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter,
     35            boolean selected, boolean outermember, boolean member) {
    3536        Way w = (Way)primitive;
    3637        painter.drawTextOnPath(w, text);
  • trunk/src/org/openstreetmap/josm/gui/mappaint/NodeElemStyle.java

    r7136 r7621  
    241241
    242242    @Override
    243     public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings settings, StyledMapRenderer painter, boolean selected, boolean member) {
     243    public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings settings, StyledMapRenderer painter,
     244            boolean selected, boolean outermember, boolean member) {
    244245        if (primitive instanceof Node) {
    245246            Node n = (Node) primitive;
  • trunk/src/org/openstreetmap/josm/gui/mappaint/RepeatImageElemStyle.java

    r7083 r7621  
    5050
    5151    @Override
    52     public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter, boolean selected, boolean member) {
     52    public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, StyledMapRenderer painter,
     53            boolean selected, boolean outermember, boolean member) {
    5354        Way w = (Way) primitive;
    5455        painter.drawRepeatImage(w, pattern.getImage(), offset, spacing, phase, align);
Note: See TracChangeset for help on using the changeset viewer.