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 <valeriomaggio@gmail.com>
This commit is contained in:
leriomaggio
2021-09-30 07:06:05 +01:00
parent 1a8347805c
commit c3f2c820be

View File

@@ -36,6 +36,7 @@ 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;
import forge.util.ImageFetcher; import forge.util.ImageFetcher;
import org.apache.commons.lang3.tuple.Pair;
/** /**
* Displays image associated with a card or inventory item. * 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) { if (displayed instanceof InventoryItem) {
final InventoryItem item = (InventoryItem) displayed; final InventoryItem item = (InventoryItem) displayed;
BufferedImage image = ImageCache.getOriginalImage(item.getImageKey(false), true, null); Pair<BufferedImage, Boolean> originalImageInfo = ImageCache.getCardOriginalImageInfo(
if (ImageCache.isDefaultImage(image) && item instanceof PaperCard) { 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); GuiBase.getInterface().getImageFetcher().fetchImage(item.getImageKey(false), this);
}
return image; return image;
} else if (displayed instanceof CardStateView) { } else if (displayed instanceof CardStateView) {
CardStateView card = (CardStateView) displayed; CardStateView card = (CardStateView) displayed;
@@ -148,7 +151,7 @@ public final class CardPicturePanel extends JPanel implements ImageFetcher.Callb
} }
public void showAsDisabled(){ public void showAsDisabled(){
this.panel.setAlpha(0.8f); this.panel.setAlpha(0.5f);
} }
public void showAsEnabled(){ public void showAsEnabled(){