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 }