001    // License: GPL. For details, see LICENSE file.
002    package org.openstreetmap.josm.data.osm.visitor.paint;
003    
004    import org.openstreetmap.josm.data.Bounds;
005    import org.openstreetmap.josm.data.osm.DataSet;
006    
007    /**
008     * <p>An object which can render data provided by a {@link DataSet}.</p>
009     */
010    public interface Rendering {
011        /**
012         * <p>Renders the OSM data in {@code data}</p>
013         * 
014         * @param data the data set to be rendered
015         * @param renderVirtualNodes if true, renders virtual nodes. Otherwise, ignores them.
016         * @param bbox the bounding box for the data to be rendered. Only objects within or intersecting
017         * with {@code bbox} are rendered
018         */
019        void render(DataSet data, boolean renderVirtualNodes, Bounds bbox);
020    }