mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
GUI: added some docs and experimental code (disabled) for better graphic rendering with HiDPI monitors (part of #969)
This commit is contained in:
parent
664ac24dfd
commit
ce439d7fcf
1 changed files with 25 additions and 3 deletions
|
|
@ -23,6 +23,10 @@ import java.util.concurrent.TimeUnit;
|
|||
*/
|
||||
public class CardPanelRenderModeMTGO extends CardPanel {
|
||||
|
||||
// TODO: share code and use for all images/rendering (potential injection point - images cache), see #969
|
||||
private static final boolean MTGO_MODE_RENDER_SMOOTH_IMAGES_ENABLED = false;
|
||||
private static final int MTGO_MODE_RENDER_SCALED_IMAGES_COEF = 1; // TODO: experiment with scale settings, is it useful to render in x2-x4 sizes?
|
||||
|
||||
// https://www.mtg.onl/evolution-of-magic-token-card-frame-design/
|
||||
|
||||
private static final Cache<ImageKey, BufferedImage> MTGO_MODE_RENDERED_CACHE = ImageCaches.register(
|
||||
|
|
@ -166,8 +170,8 @@ public class CardPanelRenderModeMTGO extends CardPanel {
|
|||
ImageKey key = new ImageKey(
|
||||
getGameCard(),
|
||||
artImage,
|
||||
getCardWidth(),
|
||||
getCardHeight(),
|
||||
getCardWidth() * MTGO_MODE_RENDER_SCALED_IMAGES_COEF,
|
||||
getCardHeight() * MTGO_MODE_RENDER_SCALED_IMAGES_COEF,
|
||||
isChoosable(),
|
||||
isSelected(),
|
||||
isTransformed()
|
||||
|
|
@ -183,7 +187,25 @@ public class CardPanelRenderModeMTGO extends CardPanel {
|
|||
// And draw the image we now have
|
||||
int cardOffsetX = 0;
|
||||
int cardOffsetY = 0;
|
||||
g.drawImage(cardImage, cardOffsetX, cardOffsetY, null);
|
||||
|
||||
Graphics2D g2 = (Graphics2D) g.create();
|
||||
try {
|
||||
// render with antialiasing
|
||||
if (MTGO_MODE_RENDER_SMOOTH_IMAGES_ENABLED) {
|
||||
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
|
||||
g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
|
||||
}
|
||||
|
||||
// render scaled
|
||||
if (MTGO_MODE_RENDER_SCALED_IMAGES_COEF > 1) {
|
||||
g2.drawImage(cardImage, cardOffsetX, cardOffsetY, getCardWidth(), getCardHeight(), null);
|
||||
} else {
|
||||
g2.drawImage(cardImage, cardOffsetX, cardOffsetY, null);
|
||||
}
|
||||
} finally {
|
||||
g2.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue