1
package games.strategy.ui;
3
import java.awt.Component;
4
import java.awt.Graphics;
6
import javax.swing.Icon;
9
* Make one icon from two.
11
public class OverlayIcon implements Icon
13
private final Icon m_back;
14
private final Icon m_front;
15
private final int m_x_offset;
16
private final int m_y_offset;
19
* Create a composite icon by overlaying the front icon over the back icon.
20
* @param back back icon
21
* @param front front icon
22
* @param x, y position of front icon relative to back icon.
24
public OverlayIcon(Icon back, Icon front, int x, int y) {
31
public int getIconHeight()
33
return m_back.getIconHeight() > (m_front.getIconHeight() + m_y_offset) ?
34
m_back.getIconHeight() : (m_front.getIconHeight() + m_y_offset);
37
public int getIconWidth()
39
return m_back.getIconWidth() > (m_front.getIconWidth() + m_x_offset) ?
40
m_back.getIconWidth() : (m_front.getIconWidth() + m_x_offset);
43
public void paintIcon(Component c, Graphics g, int x, int y)
45
m_back.paintIcon(c, g, x, y);
46
m_front.paintIcon(c, g, x + m_x_offset, y + m_y_offset);