From c3f2c820be7ac4ae013936636e6707b527ffcd95 Mon Sep 17 00:00:00 2001 From: leriomaggio Date: Thu, 30 Sep 2021 07:06:05 +0100 Subject: [PATCH] Re-enabled card image auto-download and better imagePanel alpha for disabled cards CardPicturePanel now supports back auto-download of card image whenever a placeholder image is being used. This has been enabled for PaperCard instances only, and currently being activated from DeckImport UI. This change won't affect in any way the deck editor as card image is being downloaded from catalog. Also, the alpha level set to image panel has been now set to 0.5 to control grey-coloured overlay. Signed-off-by: leriomaggio --- .../src/main/java/forge/gui/CardPicturePanel.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java b/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java index 5ee1fa4ee3e..952766b4b8a 100644 --- a/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java +++ b/forge-gui-desktop/src/main/java/forge/gui/CardPicturePanel.java @@ -36,6 +36,7 @@ import forge.toolbox.imaging.FImagePanel; import forge.toolbox.imaging.FImagePanel.AutoSizeImageMode; import forge.toolbox.imaging.FImageUtil; import forge.util.ImageFetcher; +import org.apache.commons.lang3.tuple.Pair; /** * Displays image associated with a card or inventory item. @@ -117,10 +118,12 @@ public final class CardPicturePanel extends JPanel implements ImageFetcher.Callb if (displayed instanceof InventoryItem) { final InventoryItem item = (InventoryItem) displayed; - BufferedImage image = ImageCache.getOriginalImage(item.getImageKey(false), true, null); - if (ImageCache.isDefaultImage(image) && item instanceof PaperCard) { + Pair originalImageInfo = ImageCache.getCardOriginalImageInfo( + item.getImageKey(false), true); + BufferedImage image = originalImageInfo.getLeft(); + boolean isPlaceHolderImage = originalImageInfo.getRight(); + if ((ImageCache.isDefaultImage(image) || isPlaceHolderImage) && item instanceof PaperCard) GuiBase.getInterface().getImageFetcher().fetchImage(item.getImageKey(false), this); - } return image; } else if (displayed instanceof CardStateView) { CardStateView card = (CardStateView) displayed; @@ -148,7 +151,7 @@ public final class CardPicturePanel extends JPanel implements ImageFetcher.Callb } public void showAsDisabled(){ - this.panel.setAlpha(0.8f); + this.panel.setAlpha(0.5f); } public void showAsEnabled(){