package magic.ui.widget.cards.canvas;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import magic.model.IRenderableCard;
import magic.model.MagicCardDefinition;
import magic.ui.MagicImages;
final class CardCanvas {
private Dimension cardSize;
private Point position;
private final Rectangle boundary = new Rectangle();
private final IRenderableCard card;
public CardCanvas(final IRenderableCard card) {
this.card = card;
this.cardSize = new Dimension();
setPosition(new Point(0, 0));
}
public void setPosition(final Point p0) {
position = p0;
boundary.setBounds(position.x, position.y, cardSize.width, cardSize.height);
}
public Point getPosition() {
return position;
}
public Dimension getSize() {
return this.cardSize;
}
@Override
public int hashCode() {
final int hashcode1 = getFrontImage().hashCode();
final int hashcode2 = getBackImage() == null ? 0 : getBackImage().hashCode();
return 73 * hashcode1 ^ 79 * hashcode2;
}
public BufferedImage getFrontImage() {
return MagicImages.getCardImage(card);
}
public BufferedImage getBackImage() {
return null;
}
Rectangle getBounds() {
return new Rectangle(position, cardSize);
}
void setSize(int cardWidth, int cardHeight) {
cardSize = new Dimension(cardWidth, cardHeight);
}
MagicCardDefinition getCardDefinition() {
return card.getCardDefinition();
}
}