Changeset 775 in josm for trunk/src/org/openstreetmap


Ignore:
Timestamp:
2008-08-12T20:31:49+02:00 (16 years ago)
Author:
stoecker
Message:

cleanup of mappaint patches. Closes #1404. Patch by Jörg Henne.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/MapPaintVisitor.java

    r768 r775  
    8686
    8787        private int unselectedNodeRadius;
     88       
     89        private int taggedNodeRadius;
    8890
    8991        private int selectedNodeSize;
     
    9294
    9395        private int defaultSegmentWidth = 2;
     96        private int taggedNodeSize;
    9497
    9598    public final static Color darkerblue = new Color(0,0,96);
     
    144147                        if (n.selected)
    145148                                drawNode(n, selectedColor, selectedNodeSize, selectedNodeRadius, fillSelectedNode);
     149                        else if (n.tagged)
     150                                drawNode(n, nodeColor, taggedNodeSize, taggedNodeRadius, fillUnselectedNode);
    146151                        else
    147152                                drawNode(n, nodeColor, unselectedNodeSize, unselectedNodeRadius, fillUnselectedNode);
     
    352357                                return;
    353358                        g.setColor(color);
    354                         if (fill)
     359                        if (fill) {
    355360                                g.fillRect(p.x - radius, p.y - radius, size, size);
    356                         else
     361                                g.drawRect(p.x - radius, p.y - radius, size, size);
     362                        } else
    357363                                g.drawRect(p.x - radius, p.y - radius, size, size);
    358364                }
     
    380386                        5) / 2;
    381387                selectedNodeSize = selectedNodeRadius * 2;
     388
    382389                unselectedNodeRadius = Main.pref.getInteger(
    383390                        "mappaint.node.unselected-size", 3) / 2;
    384391                unselectedNodeSize = unselectedNodeRadius * 2;
     392
     393                taggedNodeRadius = Main.pref.getInteger(
     394                                "mappaint.node.tagged-size", 5) / 2;
     395                taggedNodeSize = taggedNodeRadius * 2;
    385396
    386397                defaultSegmentWidth = Main.pref.getInteger(
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/SimplePaintVisitor.java

    r768 r775  
    8686
    8787        Rectangle bbox = new Rectangle();
     88        private int taggedNodeRadius;
     89        private int taggedNodeSize;
    8890
    8991        public void visitAll(DataSet data) {
     
    107109                unselectedNodeSize = unselectedNodeRadius * 2;
    108110
     111                taggedNodeRadius = Main.pref.getInteger(
     112                                "mappaint.node.tagged-size", 5) / 2;
     113                taggedNodeSize = taggedNodeRadius * 2;
     114
    109115                defaultSegmentWidth = Main.pref.getInteger(
    110116                        "mappaint.segment.default-width", 2);
     
    161167                else if (n.selected)
    162168                        drawNode(n, selectedColor, selectedNodeSize, selectedNodeRadius, fillSelectedNode);
    163                 else
     169                else if(n.tagged)
     170                        drawNode(n, nodeColor, taggedNodeSize, taggedNodeRadius, fillUnselectedNode);
     171                else
    164172                        drawNode(n, nodeColor, unselectedNodeSize, unselectedNodeRadius, fillUnselectedNode);
    165173        }
     
    276284                                return;
    277285                        g.setColor(color);
    278                         if (fill)
     286                        if (fill) {
    279287                                g.fillRect(p.x - radius, p.y - radius, size, size);
    280                         else
     288                                g.drawRect(p.x - radius, p.y - radius, size, size);
     289                        } else
    281290                                g.drawRect(p.x - radius, p.y - radius, size, size);
    282291                }
  • trunk/src/org/openstreetmap/josm/gui/MapView.java

    r684 r775  
    8686        private LinkedList<MapViewPaintable> temporaryLayers = new LinkedList<MapViewPaintable>();
    8787       
     88        private BufferedImage offscreenBuffer;
     89       
    8890        /**
    8991         * The listener of the active layer changes.
     
    204206                if (center == null)
    205207                        return; // no data loaded yet.
    206                
    207                 BufferedImage bim = new BufferedImage(getWidth(), getHeight(), Transparency.OPAQUE);
    208                 Graphics2D tempG = bim.createGraphics();
     208
     209                // re-create offscreen-buffer if we've been resized, otherwise
     210                // just re-use it.
     211                if (null == offscreenBuffer || offscreenBuffer.getWidth() != getWidth()
     212                        || offscreenBuffer.getHeight() != getHeight())
     213                        offscreenBuffer = new BufferedImage(getWidth(), getHeight(),
     214                                BufferedImage.TYPE_INT_ARGB);
     215
     216                Graphics2D tempG = offscreenBuffer.createGraphics();
    209217                tempG.setColor(Preferences.getPreferencesColor("background", Color.BLACK));
    210218                tempG.fillRect(0, 0, getWidth(), getHeight());
     
    238246                        playHeadMarker.paint(tempG, this);
    239247
    240                 g.drawImage(bim, 0, 0, null);
     248                g.drawImage(offscreenBuffer, 0, 0, null);
    241249                super.paint(g);
    242250        }
Note: See TracChangeset for help on using the changeset viewer.