001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.osm.visitor.paint;
003
004import org.openstreetmap.josm.data.Bounds;
005import org.openstreetmap.josm.data.osm.DataSet;
006
007/**
008 * <p>An object which can render data provided by a {@link DataSet}.</p>
009 */
010public 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}