package com.github.pfichtner.jrunalyser.ui.map.painter;
import java.awt.Graphics2D;
import org.jdesktop.swingx.JXMapViewer;
import org.jdesktop.swingx.mapviewer.Waypoint;
import org.jdesktop.swingx.mapviewer.WaypointRenderer;
import com.github.pfichtner.jrunalyser.base.Delegate;
public class OffsetWaypointRendererDelegate implements WaypointRenderer,
Delegate<WaypointRenderer> {
private final WaypointRenderer delegate;
private final int xoffset;
private final int yoffset;
@Override
public WaypointRenderer getDelegate() {
return this.delegate;
}
public OffsetWaypointRendererDelegate(int xoffset, int yoffset,
WaypointRenderer delegate) {
this.xoffset = xoffset;
this.yoffset = yoffset;
this.delegate = delegate;
}
@Override
public boolean paintWaypoint(Graphics2D g, JXMapViewer mapViewer,
Waypoint waypoint) {
g.translate(this.xoffset, this.yoffset);
boolean result = this.delegate.paintWaypoint(g, mapViewer, waypoint);
g.translate(-this.xoffset, -this.yoffset);
return result;
}
}