package com.github.pfichtner.jrunalyser.ui.map.wprenderer;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.TexturePaint;
import java.awt.geom.Ellipse2D;
import java.awt.image.BufferedImage;
import com.github.pfichtner.jrunalyser.ui.map.theme.Theme;
import com.github.pfichtner.jrunalyser.ui.map.wp.TrackEndWaypoint;
public class SegmentBorderWaypointRendererEnd extends
AbstractSegmentBorderWaypointRenderer<TrackEndWaypoint> {
private final static BufferedImage checkedFlag = createCheckedFlag(3);
public SegmentBorderWaypointRendererEnd(Theme theme, Font font) {
super(theme, font);
}
@Override
protected void drawCircleBorder(Graphics2D g, TrackEndWaypoint waypoint, int r) {
// draw the checked flag
g.setColor(null);
g.setPaint(new TexturePaint(checkedFlag, new Rectangle(0, 0,
checkedFlag.getWidth(), checkedFlag.getHeight())));
g.fill(new Ellipse2D.Double(-r, -r, 2 * r + 1, 2 * r + 1));
}
private static BufferedImage createCheckedFlag(int stroke) {
BufferedImage image = new BufferedImage(2 * stroke, 2 * stroke,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.setColor(Color.BLACK);
g.fillRect(0, 0, stroke, stroke);
g.fillRect(stroke, stroke, stroke, stroke);
g.setColor(Color.WHITE);
g.fillRect(stroke, 0, stroke, stroke);
g.fillRect(0, stroke, stroke, stroke);
g.dispose();
return image;
}
}