From 6a1f4a35d42ea651d08a603c18a5c76c1af3df06 Mon Sep 17 00:00:00 2001 From: Tirth Bharatiya <41485330+tirth1@users.noreply.github.com> Date: Tue, 28 Nov 2023 00:57:17 +0530 Subject: [PATCH] refactor: extracted resource load methods from ModernCardRenderer to ModernCard (#11478) --- .../mage/card/arcane/ModernCardRenderer.java | 35 +------------- .../card/arcane/ModernCardResourceLoader.java | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 34 deletions(-) create mode 100644 Mage.Client/src/main/java/org/mage/card/arcane/ModernCardResourceLoader.java diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java b/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java index 8b3ec481969..00101fe5554 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardRenderer.java @@ -13,6 +13,7 @@ import mage.view.CardView; import mage.view.PermanentView; import org.apache.log4j.Logger; import static org.mage.card.arcane.ManaSymbols.getSizedManaSymbol; +import static org.mage.card.arcane.ModernCardResourceLoader.*; import javax.swing.*; import java.awt.*; @@ -62,40 +63,6 @@ public class ModernCardRenderer extends CardRenderer { private static final GlowText glowTextRenderer = new GlowText(); public static final Color MANA_ICONS_TEXT_COLOR = Color.DARK_GRAY; // text color of missing mana icons in IMAGE render mode - /////////////////////////////////////////////////////////////////////////// - // Textures for modern frame cards - private static TexturePaint loadBackgroundTexture(String name) { - URL url = ModernCardRenderer.class.getResource("/cardrender/background_texture_" + name + ".png"); - ImageIcon icon = new ImageIcon(url); - BufferedImage img = CardRendererUtils.toBufferedImage(icon.getImage()); - return new TexturePaint(img, new Rectangle(0, 0, img.getWidth(), img.getHeight())); - } - - private static BufferedImage loadBackgroundImage(String name) { - URL url = ModernCardRenderer.class.getResource("/cardrender/background_texture_" + name + ".png"); - ImageIcon icon = new ImageIcon(url); - BufferedImage img = CardRendererUtils.toBufferedImage(icon.getImage()); - return img; - } - - private static BufferedImage loadFramePart(String name) { - URL url = ModernCardRenderer.class.getResource("/cardrender/" + name + ".png"); - ImageIcon icon = new ImageIcon(url); - return CardRendererUtils.toBufferedImage(icon.getImage()); - } - - private static Font loadFont(String name) { - try (InputStream in = ModernCardRenderer.class.getResourceAsStream("/cardrender/" + name + ".ttf")) { - return Font.createFont( - Font.TRUETYPE_FONT, in); - } catch (IOException e) { - LOGGER.info("Failed to load font `" + name + "`, couldn't find resource."); - } catch (FontFormatException e) { - LOGGER.info("Failed to load font `" + name + "`, bad format."); - } - return new Font("Arial", Font.PLAIN, 1); - } - // public static final Font BASE_BELEREN_FONT = loadFont("beleren-bold"); public static final Paint BG_TEXTURE_WHITE = loadBackgroundTexture("white"); diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardResourceLoader.java b/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardResourceLoader.java new file mode 100644 index 00000000000..e9b7d4ffa03 --- /dev/null +++ b/Mage.Client/src/main/java/org/mage/card/arcane/ModernCardResourceLoader.java @@ -0,0 +1,48 @@ +package org.mage.card.arcane; + +import org.apache.log4j.Logger; + +import javax.swing.*; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; + +public class ModernCardResourceLoader { + private static final Logger LOGGER = Logger.getLogger(ModernCardResourceLoader.class); + + /////////////////////////////////////////////////////////////////////////// + // Textures for modern frame cards + protected static TexturePaint loadBackgroundTexture(String name) { + URL url = ModernCardResourceLoader.class.getResource("/cardrender/background_texture_" + name + ".png"); + ImageIcon icon = new ImageIcon(url); + BufferedImage img = CardRendererUtils.toBufferedImage(icon.getImage()); + return new TexturePaint(img, new Rectangle(0, 0, img.getWidth(), img.getHeight())); + } + + protected static BufferedImage loadBackgroundImage(String name) { + URL url = ModernCardResourceLoader.class.getResource("/cardrender/background_texture_" + name + ".png"); + ImageIcon icon = new ImageIcon(url); + BufferedImage img = CardRendererUtils.toBufferedImage(icon.getImage()); + return img; + } + + protected static BufferedImage loadFramePart(String name) { + URL url = ModernCardResourceLoader.class.getResource("/cardrender/" + name + ".png"); + ImageIcon icon = new ImageIcon(url); + return CardRendererUtils.toBufferedImage(icon.getImage()); + } + + protected static Font loadFont(String name) { + try (InputStream in = ModernCardResourceLoader.class.getResourceAsStream("/cardrender/" + name + ".ttf")) { + return Font.createFont( + Font.TRUETYPE_FONT, in); + } catch (IOException e) { + LOGGER.info("Failed to load font `" + name + "`, couldn't find resource."); + } catch (FontFormatException e) { + LOGGER.info("Failed to load font `" + name + "`, bad format."); + } + return new Font("Arial", Font.PLAIN, 1); + } +}