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 * @since 4087 (creation) 010 * @since 10600 (functional interface) 011 */ 012@FunctionalInterface 013public interface Rendering { 014 /** 015 * <p>Renders the OSM data in {@code data}</p> 016 * 017 * @param data the data set to be rendered 018 * @param renderVirtualNodes if true, renders virtual nodes. Otherwise, ignores them. 019 * @param bbox the bounding box for the data to be rendered. Only objects within or intersecting 020 * with {@code bbox} are rendered 021 */ 022 void render(DataSet data, boolean renderVirtualNodes, Bounds bbox); 023}