refactor: extracted resource load methods from ModernCardRenderer to ModernCard (#11478)

This commit is contained in:
Tirth Bharatiya 2023-11-28 00:57:17 +05:30 committed by GitHub
parent 3a92d67d10
commit 6a1f4a35d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 49 additions and 34 deletions

View file

@ -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");

View file

@ -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);
}
}