/*
* WaypointRenderer.java
*
* Created on March 30, 2006, 5:24 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package org.jdesktop.swingx.mapviewer;
import java.awt.Graphics2D;
import java.awt.geom.Point2D;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import org.jdesktop.swingx.JXMapViewer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* This is a standard waypoint renderer.
* @author joshy
*/
public class DefaultWaypointRenderer implements WaypointRenderer<Waypoint>
{
private final static Logger mLog =
LoggerFactory.getLogger( DefaultWaypointRenderer.class );
private BufferedImage img = null;
/**
* Uses a default waypoint image
*/
public DefaultWaypointRenderer()
{
try
{
img = ImageIO.read(getClass().getResource("resources/standard_waypoint.png"));
}
catch (Exception ex)
{
mLog.error("couldn't read standard_waypoint.png", ex );
}
}
@Override
public void paintWaypoint(Graphics2D g, JXMapViewer map, Waypoint w)
{
if (img == null)
return;
Point2D point = map.getTileFactory().geoToPixel(w.getPosition(), map.getZoom());
int x = (int)point.getX() -img.getWidth() / 2;
int y = (int)point.getY() -img.getHeight();
g.drawImage(img, x, y, null);
}
}