mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
- Integrating the "display foils when opening booster packs" patch by Seravy.
This commit is contained in:
@@ -20,6 +20,8 @@ package forge.gui;
|
|||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.awt.image.ColorModel;
|
||||||
|
import java.awt.image.WritableRaster;
|
||||||
|
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
|
||||||
@@ -28,8 +30,10 @@ import forge.ImageFetcher;
|
|||||||
import forge.ImageKeys;
|
import forge.ImageKeys;
|
||||||
import forge.game.card.CardView.CardStateView;
|
import forge.game.card.CardView.CardStateView;
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
|
import forge.item.PaperCard;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
|
import forge.toolbox.CardFaceSymbols;
|
||||||
import forge.toolbox.imaging.FImagePanel;
|
import forge.toolbox.imaging.FImagePanel;
|
||||||
import forge.toolbox.imaging.FImagePanel.AutoSizeImageMode;
|
import forge.toolbox.imaging.FImagePanel.AutoSizeImageMode;
|
||||||
import forge.toolbox.imaging.FImageUtil;
|
import forge.toolbox.imaging.FImageUtil;
|
||||||
@@ -72,12 +76,26 @@ public final class CardPicturePanel extends JPanel implements ImageFetcher.Callb
|
|||||||
this.displayed = display;
|
this.displayed = display;
|
||||||
this.mayView = mayView;
|
this.mayView = mayView;
|
||||||
|
|
||||||
final BufferedImage image = getImage();
|
final BufferedImage image = getImage();
|
||||||
if (image != null && image != this.currentImage) {
|
if (image != null && image != this.currentImage) {
|
||||||
this.currentImage = image;
|
if (displayed instanceof PaperCard && ((PaperCard)displayed).isFoil()) {
|
||||||
this.panel.setImage(image, getAutoSizeImageMode());
|
ColorModel cm = image.getColorModel();
|
||||||
}
|
boolean isAlphaPremultiplied = cm.isAlphaPremultiplied();
|
||||||
}
|
WritableRaster raster = image.copyData(null);
|
||||||
|
final BufferedImage displayedimage = new BufferedImage(cm, raster, isAlphaPremultiplied, null)
|
||||||
|
.getSubimage(0, 0, image.getWidth(), image.getHeight());
|
||||||
|
this.currentImage = displayedimage;
|
||||||
|
this.panel.setImage(displayedimage, getAutoSizeImageMode());
|
||||||
|
if (FModel.getPreferences().getPrefBoolean(FPref.UI_OVERLAY_FOIL_EFFECT)) {
|
||||||
|
CardFaceSymbols.drawOther(image.getGraphics(), String.format("foil%02d", 1), 0, 0,
|
||||||
|
displayedimage.getWidth(), displayedimage.getHeight());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.currentImage = image;
|
||||||
|
this.panel.setImage(image, getAutoSizeImageMode());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private BufferedImage getImage() {
|
private BufferedImage getImage() {
|
||||||
if (!mayView) {
|
if (!mayView) {
|
||||||
|
|||||||
Reference in New Issue
Block a user