// License: GPL. For details, see Readme.txt file.
package org.openstreetmap.gui.jmapviewer.interfaces;
import java.awt.Image;
public interface Attributed {
/**
* @return True if the tile source requires attribution in text or image form.
*/
boolean requiresAttribution();
/**
* @param zoom The optional zoom level for the view.
* @param botRight The bottom right of the bounding box for attribution.
* @param topLeft The top left of the bounding box for attribution.
* @return Attribution text for the image source.
*/
String getAttributionText(int zoom, ICoordinate topLeft, ICoordinate botRight);
/**
* @return The URL to open when the user clicks the attribution text.
*/
String getAttributionLinkURL();
/**
* @return The URL for the attribution image. Null if no image should be displayed.
*/
Image getAttributionImage();
/**
* @return The URL to open when the user clicks the attribution image.
* When return value is null, the image is still displayed (provided getAttributionImage()
* returns a value other than null), but the image does not link to a website.
*/
String getAttributionImageURL();
/**
* @return The attribution "Terms of Use" text.
* In case it returns null, but getTermsOfUseURL() is not null, a default
* terms of use text is used.
*/
String getTermsOfUseText();
/**
* @return The URL to open when the user clicks the attribution "Terms of Use" text.
*/
String getTermsOfUseURL();
}