package arcane.ui;
import javax.swing.*;
import java.awt.*;
/**
* <p>ViewPanel class.</p>
*
* @author Forge
* @version $Id: ViewPanel.java 10038 2011-06-25 08:29:06Z jendave.hudson@gmail.com $
*/
public class ViewPanel extends JPanel {
/** Constant <code>serialVersionUID=7016597023142963068L</code> */
private static final long serialVersionUID = 7016597023142963068L;
/**
* <p>doLayout.</p>
*
* @since 1.0.15
*/
public void doLayout() {
if (getComponentCount() == 0) return;
CardPanel panel = (CardPanel) getComponent(0);
int viewWidth = getWidth();
int viewHeight = getHeight();
int srcWidth = viewWidth;
int srcHeight = Math.round(viewWidth * CardPanel.ASPECT_RATIO);
int targetWidth = Math.round(viewHeight * (srcWidth / (float) srcHeight));
int targetHeight;
if (targetWidth > viewWidth) {
targetHeight = Math.round(viewWidth * (srcHeight / (float) srcWidth));
targetWidth = viewWidth;
} else
targetHeight = viewHeight;
int x = viewWidth / 2 - targetWidth / 2;
int y = viewHeight / 2 - targetHeight / 2;
panel.setCardBounds(x, y, targetWidth, targetHeight);
}
/**
* <p>setCardPanel.</p>
*
* @param panel a {@link arcane.ui.CardPanel} object.
*/
public void setCardPanel(CardPanel panel) {
//CardPanel newPanel = new CardPanel(panel.gameCard);
//newPanel.setImage(panel);
removeAll();
add(panel, BorderLayout.CENTER);
panel.revalidate();
panel.repaint();
}
}