package drawer;
import models.Player;
import models.Score;
import java.awt.*;
import java.awt.image.BufferedImage;
import static drawer.RankingGameConfiguration.COLOR_SHMUP_GREY;
import static drawer.RankingGameConfiguration.COLOR_SHMUP_TEXT;
import static java.awt.Font.PLAIN;
import static java.awt.RenderingHints.KEY_ANTIALIASING;
import static java.awt.RenderingHints.KEY_TEXT_ANTIALIASING;
import static java.awt.RenderingHints.VALUE_ANTIALIAS_ON;
import static java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_ON;
import static java.awt.image.BufferedImage.TYPE_INT_ARGB;
public class SignaturePicture {
public static final int WIDTH = 724;
private final static Font gameFont = new Font("Lucida", PLAIN, 11);
public static BufferedImage createSignaturePicture(Player player) {
BufferedImage bi = new BufferedImage(WIDTH, 15, TYPE_INT_ARGB);
Graphics2D graphics = bi.createGraphics();
FontMetrics fontMetrics = graphics.getFontMetrics();
graphics.setColor(COLOR_SHMUP_TEXT);
graphics.setFont(gameFont);
Score lastScore = player.getLastScore();
graphics.drawString(message(lastScore), 0, fontMetrics.getAscent());
return bi;
}
private static String message(Score lastScore) {
return "Dernier score réalisé " + lastScore.formattedDateInFrench() + " sur " + lastScore.game.title + " (" + lastScore.formattedValue() + "pts - " + lastScore.formattedRank() + ")";
}
}