package magic.ui.theme;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import magic.ui.helpers.ImageHelper;
public class PlayerAvatar {
public static final int LARGE_SIZE = 120;
public static final int MEDIUM_SIZE = LARGE_SIZE/2;
private static final int SMALL_SIZE = LARGE_SIZE/4;
public static final int CUSTOM_SIZE = 54;
private ImageIcon largeIcon;
private ImageIcon mediumIcon;
private ImageIcon smallIcon;
private ImageIcon turnIcon;
private int face = 0;
public PlayerAvatar(final BufferedImage image) {
largeIcon = new ImageIcon(ImageHelper.scale(image, LARGE_SIZE, LARGE_SIZE));
mediumIcon = new ImageIcon(ImageHelper.scale(image, MEDIUM_SIZE, MEDIUM_SIZE));
smallIcon = new ImageIcon(ImageHelper.scale(image, SMALL_SIZE, SMALL_SIZE));
turnIcon = new ImageIcon(ImageHelper.scale(image, CUSTOM_SIZE, CUSTOM_SIZE));
}
/**
* Note, this is only used by the test classes.
*/
public PlayerAvatar(final int face) {
this.face = face;
}
public ImageIcon getIcon(final int size) {
if (face > 0) {
return ThemeFactory.getInstance().getCurrentTheme().getAvatarIcon(face, size);
} else {
switch (size) {
case 1: return smallIcon;
case 2: return mediumIcon;
case 3: return largeIcon;
case 4: return turnIcon;
default: throw new RuntimeException("PlayerAvatar.getIcon: invalid size " + size);
}
}
}
public int getFace() {
return face;
}
}