Added mana icon versions to each skin.

Renamed texture1.jpg to bg_texture.jpg.

Removed old icon versions.

Added icon and font resize adapters to all pool labels.
This commit is contained in:
Doublestrike
2011-12-06 07:20:09 +00:00
parent decc71177b
commit a4d68f2bf2
5 changed files with 87 additions and 21 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -242,53 +242,52 @@ public class ViewField extends FRoundedPanel {
final String constraintsR = "w 47%!, h 12.5%!, growy, gapright 3%";
// Hand, library, graveyard, exile, flashback, poison labels
ViewField.this.lblHand = new DetailLabel(new ImageIcon("res/images/symbols-13/detail_hand.png"), "99");
ViewField.this.lblHand = new DetailLabel("zone.hand", "99");
ViewField.this.lblHand.setToolTipText("Cards in hand");
poolArea.add(ViewField.this.lblHand, constraintsL);
ViewField.this.lblLibrary = new DetailLabel(new ImageIcon("res/images/symbols-13/detail_library.png"), "99");
ViewField.this.lblLibrary = new DetailLabel("zone.library", "99");
ViewField.this.lblLibrary.setToolTipText("Cards in library");
poolArea.add(ViewField.this.lblLibrary, constraintsR);
ViewField.this.lblGraveyard = new DetailLabel(new ImageIcon("res/images/symbols-13/detail_grave.png"), "99");
ViewField.this.lblGraveyard = new DetailLabel("zone.graveyard", "99");
ViewField.this.lblGraveyard.setToolTipText("Cards in graveyard");
poolArea.add(ViewField.this.lblGraveyard, constraintsL);
ViewField.this.lblExile = new DetailLabel(new ImageIcon("res/images/symbols-13/detail_exile.png"), "99");
ViewField.this.lblExile = new DetailLabel("zone.exile", "99");
ViewField.this.lblExile.setToolTipText("Exiled cards");
poolArea.add(ViewField.this.lblExile, constraintsR);
ViewField.this.lblFlashback = new DetailLabel(new ImageIcon("res/images/symbols-13/detail_flashback.png"),
"99");
ViewField.this.lblFlashback = new DetailLabel("zone.flashback", "99");
ViewField.this.lblFlashback.setToolTipText("Flashback cards");
poolArea.add(ViewField.this.lblFlashback, constraintsL);
ViewField.this.lblPoison = new DetailLabel(new ImageIcon("res/images/symbols-13/detail_poison.png"), "99");
ViewField.this.lblPoison = new DetailLabel("zone.poison", "99");
ViewField.this.lblPoison.setToolTipText("Poison counters");
poolArea.add(ViewField.this.lblPoison, constraintsR);
// Black, Blue, Colorless, Green, Red, White mana labels
ViewField.this.lblBlack = new DetailLabel(new ImageIcon("res/images/symbols-13/B.png"), "99");
ViewField.this.lblBlack = new DetailLabel("mana.black", "99");
ViewField.this.lblBlack.setToolTipText("Black mana");
poolArea.add(ViewField.this.lblBlack, constraintsL);
ViewField.this.lblBlue = new DetailLabel(new ImageIcon("res/images/symbols-13/U.png"), "99");
ViewField.this.lblBlue = new DetailLabel("mana.blue", "99");
ViewField.this.lblBlue.setToolTipText("Blue mana");
poolArea.add(ViewField.this.lblBlue, constraintsR);
ViewField.this.lblGreen = new DetailLabel(new ImageIcon("res/images/symbols-13/G.png"), "99");
ViewField.this.lblGreen = new DetailLabel("mana.green", "99");
ViewField.this.lblGreen.setToolTipText("Green mana");
poolArea.add(ViewField.this.lblGreen, constraintsL);
ViewField.this.lblRed = new DetailLabel(new ImageIcon("res/images/symbols-13/R.png"), "99");
ViewField.this.lblRed = new DetailLabel("mana.red", "99");
ViewField.this.lblRed.setToolTipText("Red mana");
poolArea.add(ViewField.this.lblRed, constraintsR);
ViewField.this.lblWhite = new DetailLabel(new ImageIcon("res/images/symbols-13/W.png"), "99");
ViewField.this.lblWhite = new DetailLabel("mana.white", "99");
ViewField.this.lblWhite.setToolTipText("White mana");
poolArea.add(ViewField.this.lblWhite, constraintsL);
ViewField.this.lblColorless = new DetailLabel(new ImageIcon("res/images/symbols-13/X.png"), "99");
ViewField.this.lblColorless = new DetailLabel("mana.colorless", "99");
ViewField.this.lblColorless.setToolTipText("Colorless mana");
poolArea.add(ViewField.this.lblColorless, constraintsR);
}
@@ -628,21 +627,25 @@ public class ViewField extends FRoundedPanel {
private final Color hoverBG;
private Color clrBorders;
private final MouseAdapter madHover;
private int w, h;
private int w, h, padding;
private String iconAddress;
/**
* Instance of JLabel detailing info about field: has icon and optional
* hover effect.
*
* @param icon
*   Label's icon
* @param txt
* @param s0
*   Label's icon address
* @param txt0
*   Label's text
*/
public DetailLabel(final ImageIcon icon, final String txt) {
public DetailLabel(final String s0, final String txt0) {
super();
this.setIcon(icon);
this.setText(txt);
padding = 6;
iconAddress = s0;
this.setIcon(skin.getIcon(iconAddress, h - 2 * padding, h - 2 * padding));
this.setText(txt0);
this.setOpaque(false);
this.setForeground(ViewField.this.skin.getClrText());
this.setPreferredSize(this.labelSize);
@@ -668,6 +671,7 @@ public class ViewField extends FRoundedPanel {
@Override
public void componentResized(ComponentEvent e) {
setFont(ViewField.this.skin.getFont1().deriveFont(Font.PLAIN, (getHeight() / 2)));
setIcon(skin.getIcon(iconAddress, h - 2 * padding, h - 2 * padding));
}
});

View File

@@ -19,9 +19,13 @@ package forge.view.toolbox;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
@@ -35,6 +39,8 @@ import forge.gui.GuiUtils;
*/
public class FSkin {
private Map<String, BufferedImage> icons;
// ===== Public fields
/** Primary font used in titles and buttons and most text output. */
private Font font1 = null;
@@ -126,7 +132,7 @@ public class FSkin {
// ===== Private fields
private final String spriteFile = "sprite.png";
private final String font1file = "font1.ttf";
private final String texture1file = "texture1.jpg";
private final String texture1file = "bg_texture.jpg";
private final String btnLupfile = "btnLup.png";
private final String btnMupfile = "btnMup.png";
private final String btnRupfile = "btnRup.png";
@@ -174,6 +180,7 @@ public class FSkin {
*/
private void loadFontAndImages(final String skinName) {
final String dirName = "res/images/skins/" + skinName + "/";
icons = new HashMap<String, BufferedImage>();
// Fonts
this.setFont1(this.retrieveFont(dirName + this.font1file));
@@ -218,6 +225,22 @@ public class FSkin {
this.setIconViewDeckList(image.getSubimage(60, 140, 20, 20));
this.setIconSettings(image.getSubimage(80, 0, 80, 80));
this.setIconConcede(image.getSubimage(80, 80, 80, 80));
// All icons should eventually be set and retrieved using this method.
// Doublestrike 6-12-11
this.setIcon("zone.hand", image.getSubimage(280, 40, 40, 40));
this.setIcon("zone.library", image.getSubimage(280, 0, 40, 40));
this.setIcon("zone.graveyard", image.getSubimage(320, 0, 40, 40));
this.setIcon("zone.exile", image.getSubimage(320, 40, 40, 40));
this.setIcon("zone.flashback", image.getSubimage(320, 120, 40, 40));
this.setIcon("zone.poison", image.getSubimage(320, 80, 40, 40));
this.setIcon("mana.black", image.getSubimage(240, 0, 40, 40));
this.setIcon("mana.blue", image.getSubimage(240, 40, 40, 40));
this.setIcon("mana.green", image.getSubimage(240, 120, 40, 40));
this.setIcon("mana.red", image.getSubimage(240, 80, 40, 40));
this.setIcon("mana.white", image.getSubimage(280, 120, 40, 40));
this.setIcon("mana.colorless", image.getSubimage(280, 80, 40, 40));
} catch (final IOException e) {
System.err.println(this.notfound + this.spriteFile);
}
@@ -929,4 +952,43 @@ public class FSkin {
public ImageIcon getIconViewDeckList() {
return this.icoViewDeckList;
}
/**
* @param s0 &emsp; String address
* @return ImageIcon
*/
public ImageIcon getIcon(String s0) {
return new ImageIcon(icons.get(s0));
}
/**
* Gets a scaled version of an icon from this skin's icon map.
*
* @param s0 String icon address
* @param w0 int new width
* @param h0 int new height
* @return ImageIcon
*/
public ImageIcon getIcon(String s0, int w0, int h0) {
w0 = (w0 < 1) ? 1 : w0;
h0 = (h0 < 1) ? 1 : h0;
BufferedImage original = icons.get(s0);
BufferedImage scaled = new BufferedImage(w0, h0, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = scaled.createGraphics();
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2d.drawImage(original, 0, 0, w0, h0, 0, 0, original.getWidth(), original.getHeight(), null);
g2d.dispose();
return new ImageIcon(scaled);
}
/**
* @param s0 &emsp; String address
* @param bi0 &emsp; BufferedImage
*/
public void setIcon(String s0, BufferedImage bi0) {
icons.put(s0, bi0);
}
}