From 763b8d30fd89e8c7f05d62ef6d9945f1f031eb64 Mon Sep 17 00:00:00 2001 From: spjspj <spjspj4@gmail.com> Date: Fri, 24 Nov 2017 21:59:11 +1100 Subject: [PATCH] Add highlights to rendered card title and card type round boxes --- .../mage/card/arcane/CardRendererUtils.java | 43 ++++++++++++++++--- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/CardRendererUtils.java b/Mage.Client/src/main/java/org/mage/card/arcane/CardRendererUtils.java index c5f41b8217..e7a421def3 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/CardRendererUtils.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/CardRendererUtils.java @@ -16,8 +16,8 @@ import java.util.regex.Pattern; /** * @author stravant@gmail.com - * <p> - * Various static utilities for use in the card renderer + * <p> + * Various static utilities for use in the card renderer */ public final class CardRendererUtils { @@ -51,6 +51,38 @@ public final class CardRendererUtils { // Return the buffered image return bimage; } + + private static Color abitbrighter(Color c) { + int r = c.getRed(); + int g = c.getGreen(); + int b = c.getBlue(); + int alpha = c.getAlpha(); + + int plus_r = (int) ((255 - r) / 2); + int plus_g = (int) ((255 - g) / 2); + int plus_b = (int) ((255 - b) / 2); + + return new Color(r + plus_r, + g + plus_g, + b + plus_b, + alpha); + } + + private static Color abitdarker(Color c) { + int r = c.getRed(); + int g = c.getGreen(); + int b = c.getBlue(); + int alpha = c.getAlpha(); + + int plus_r = (int) ((255 - r) / 2); + int plus_g = (int) ((255 - g) / 2); + int plus_b = (int) ((255 - b) / 2); + + return new Color(r - plus_r, + g - plus_g, + b - plus_b, + alpha); + } // Draw a rounded box with a 2-pixel border // Used on various card parts. @@ -68,10 +100,11 @@ public final class CardRendererUtils { g.fillOval(x + 2, y + 2, bevel * 2 - 4, h - 4); g.fillOval(x + 2 + w - bevel * 2, y + 2, bevel * 2 - 4, h - 4); g.fillRect(x + bevel, y + 2, w - 2 * bevel, h - 4); - g.setPaint(border); - g.setColor(g.getColor().brighter().brighter()); + g.setPaint(fill); + g.setColor(abitbrighter(g.getColor())); g.drawLine(x + 1 + bevel, y + 1, x + 1 + bevel + w - 2 * bevel - 2, y + 1); - g.setColor(g.getColor().darker().darker()); + g.setPaint(fill); + g.setColor(abitdarker(g.getColor())); g.drawLine(x + 1 + bevel, y + h - 2, x + 1 + bevel + w - 2 * bevel - 2, y + h - 2); }