package mage.client.components.ability;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.plaf.basic.BasicArrowButton;
import javax.swing.plaf.metal.MetalScrollButton;
/**
* Buttons for scroll bar.
*
* @author nantuko
*/
public class MageScrollButton extends MetalScrollButton {
private static final ImageIcon buttonLeft;
private static final ImageIcon buttonRight;
private static final ImageIcon buttonUp;
private static final ImageIcon buttonDown;
private int width;
static {
buttonLeft = new ImageIcon(MageScrollButton.class.getResource("/buttons/left.png"));
buttonRight = new ImageIcon(MageScrollButton.class.getResource("/buttons/right.png"));
buttonUp = new ImageIcon(MageScrollButton.class.getResource("/buttons/up.png"));
buttonDown = new ImageIcon(MageScrollButton.class.getResource("/buttons/down.png"));
}
public MageScrollButton(int direction, int width, boolean freeStanding) {
super(direction, width, freeStanding);
setOpaque(false);
this.width = width;
buttonUp.setImage(buttonUp.getImage().getScaledInstance(width, width, Image.SCALE_SMOOTH));
buttonDown.setImage(buttonDown.getImage().getScaledInstance(width, width, Image.SCALE_SMOOTH));
buttonLeft.setImage(buttonLeft.getImage().getScaledInstance(width, width, Image.SCALE_SMOOTH));
buttonRight.setImage(buttonRight.getImage().getScaledInstance(width, width, Image.SCALE_SMOOTH));
}
@Override
public Dimension getMaximumSize() {
return this.getPreferredSize();
}
@Override
public Dimension getMinimumSize() {
return this.getPreferredSize();
}
@Override
public Dimension getPreferredSize() {
return new Dimension(width, width);
}
@Override
public void paint(Graphics g) {
switch (getDirection()) {
case BasicArrowButton.WEST:
buttonLeft.paintIcon(null, g, 0, 0);
break;
case BasicArrowButton.EAST:
buttonRight.paintIcon(null, g, 0, 0);
break;
case BasicArrowButton.NORTH:
buttonUp.paintIcon(null, g, 0, 0);
break;
case BasicArrowButton.SOUTH:
buttonDown.paintIcon(null, g, 0, 0);
break;
}
}
}