package games.strategy.engine.chat;
import java.awt.Component;
import java.awt.Graphics;
import java.util.List;
import javax.swing.Icon;
public class CompositeIcon implements Icon {
private static final int GAP = 2;
private final List<Icon> icons;
CompositeIcon(final List<Icon> icons) {
this.icons = icons;
}
@Override
public void paintIcon(final Component c, final Graphics g, final int x, final int y) {
int dx = 0;
for (final Icon icon : icons) {
icon.paintIcon(c, g, x + dx, y);
dx += GAP;
dx += icon.getIconWidth();
}
}
@Override
public int getIconWidth() {
int sum = 0;
for (final Icon icon : icons) {
sum += icon.getIconWidth();
sum += GAP;
}
return sum;
}
@Override
public int getIconHeight() {
int max = 0;
for (final Icon icon : icons) {
max = Math.max(icon.getIconHeight(), max);
}
return max;
}
}