// License: GPL. Copyright 2007 by Immanuel Scholz and others
package org.openstreetmap.josm.gui.layer.markerlayer;
import java.io.File;
import org.openstreetmap.josm.data.gpx.WayPoint;
/**
* This interface has to be implemented by anyone who wants to create markers.
*
* When reading a gpx file, all implementations of MarkerMaker registered with
* the Marker are consecutively called until one returns a Marker object.
*
* @author Frederik Ramm <frederik@remote.org>
*/
public interface MarkerProducers {
/**
* Returns a Marker object if this implementation wants to create one for the
* given input data, or <code>null</code> otherwise.
*
* @param wp waypoint data
* @param relativePath An path to use for constructing relative URLs or
* <code>null</code> for no relative URLs
* @return A Marker object, or <code>null</code>.
*/
public Marker createMarker(WayPoint wp, File relativePath, MarkerLayer parentLayer, double time, double offset);
}