From 5fe65ad74b2de544c21772b0c2e98b31e79d8cf9 Mon Sep 17 00:00:00 2001 From: Agetian Date: Sat, 8 Feb 2014 19:35:36 +0000 Subject: [PATCH] - Added a preference to support enabling/disabling foil overlay display in GUI. - Tied the card panel foil display to the user preference setting. --- .../forge/gui/home/settings/CSubmenuPreferences.java | 1 + .../forge/gui/home/settings/VSubmenuPreferences.java | 9 +++++++++ .../main/java/forge/gui/toolbox/imaging/FImageUtil.java | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java b/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java index d550bd640c4..18716932fce 100644 --- a/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java +++ b/forge-gui/src/main/java/forge/gui/home/settings/CSubmenuPreferences.java @@ -75,6 +75,7 @@ public enum CSubmenuPreferences implements ICDoc { lstControls.add(Pair.of(view.getCbSingletons(), FPref.DECKGEN_SINGLETONS)); lstControls.add(Pair.of(view.getCbUploadDraft(), FPref.UI_UPLOAD_DRAFT)); lstControls.add(Pair.of(view.getCbEnableAICheats(), FPref.UI_ENABLE_AI_CHEATS)); + lstControls.add(Pair.of(view.getCbDisplayFoil(), FPref.UI_OVERLAY_FOIL_EFFECT)); lstControls.add(Pair.of(view.getCbRandomFoil(), FPref.UI_RANDOM_FOIL)); lstControls.add(Pair.of(view.getCbEnableSounds(), FPref.UI_ENABLE_SOUNDS)); lstControls.add(Pair.of(view.getCbAltSoundSystem(), FPref.UI_ALT_SOUND_SYSTEM)); diff --git a/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java b/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java index 6cab41c821d..05bd1246487 100644 --- a/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java +++ b/forge-gui/src/main/java/forge/gui/home/settings/VSubmenuPreferences.java @@ -76,6 +76,7 @@ public enum VSubmenuPreferences implements IVSubmenu { private final JCheckBox cbEnforceDeckLegality = new OptionsCheckBox("Deck Conformance"); private final JCheckBox cbCloneImgSource = new OptionsCheckBox("Clones Use Original Card Art"); private final JCheckBox cbScaleLarger = new OptionsCheckBox("Scale Image Larger"); + private final JCheckBox cbDisplayFoil = new OptionsCheckBox("Display Foil Overlay"); private final JCheckBox cbRandomFoil = new OptionsCheckBox("Random Foil"); private final JCheckBox cbRandomArtInPools = new OptionsCheckBox("Randomize Card Art in Generated Card Pools"); private final JCheckBox cbEnableSounds = new OptionsCheckBox("Enable Sounds"); @@ -185,6 +186,9 @@ public enum VSubmenuPreferences implements IVSubmenu { // Graphic Options pnlPrefs.add(new SectionLabel("Graphic Options"), sectionConstraints + ", gaptop 2%"); + pnlPrefs.add(cbDisplayFoil, regularConstraints); + pnlPrefs.add(new NoteLabel("Displays foil cards with the visual foil overlay effect."), regularConstraints); + pnlPrefs.add(cbRandomFoil, regularConstraints); pnlPrefs.add(new NoteLabel("Adds foiled effects to random cards."), regularConstraints); @@ -421,6 +425,11 @@ public enum VSubmenuPreferences implements IVSubmenu { return cbEnableAICheats; } + /** @return {@link javax.swing.JCheckBox} */ + public JCheckBox getCbDisplayFoil() { + return cbDisplayFoil; + } + /** @return {@link javax.swing.JCheckBox} */ public JCheckBox getCbRandomFoil() { return cbRandomFoil; diff --git a/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java b/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java index ef114e0bb21..897033715e7 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java @@ -22,9 +22,11 @@ import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import forge.ImageCache; +import forge.Singletons; import forge.card.CardCharacteristicName; import forge.game.card.Card; import forge.gui.toolbox.CardFaceSymbols; +import forge.properties.ForgePreferences; /** * Common image-related routines specific to Forge images. @@ -65,6 +67,10 @@ public final class FImageUtil { * Applies a foil effect to a card image. */ private static BufferedImage getImageWithFoilEffect(BufferedImage plainImage, int foilIndex) { + if (!Singletons.getModel().getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_OVERLAY_FOIL_EFFECT)) { + return plainImage; + } + ColorModel cm = plainImage.getColorModel(); BufferedImage foilImage = new BufferedImage(cm, plainImage.copyData(null), cm.isAlphaPremultiplied(), null); final String fl = String.format("foil%02d", foilIndex);