From 35f3020ae8017baf5af5d5291a0611150690651e Mon Sep 17 00:00:00 2001 From: Devin Date: Tue, 10 Oct 2017 22:50:56 -0700 Subject: [PATCH] Change jewelry overlay font and position --- .../plugins/jewelrycount/JewelryCount.java | 15 ++++++++++- .../jewelrycount/JewelryCountOverlay.java | 25 +++++++++--------- .../src/main/resources/runescape_small.ttf | Bin 0 -> 19900 bytes 3 files changed, 27 insertions(+), 13 deletions(-) create mode 100644 runelite-client/src/main/resources/runescape_small.ttf diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/jewelrycount/JewelryCount.java b/runelite-client/src/main/java/net/runelite/client/plugins/jewelrycount/JewelryCount.java index 5eee3b28e2..fe9e4f798a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/jewelrycount/JewelryCount.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/jewelrycount/JewelryCount.java @@ -28,11 +28,16 @@ import net.runelite.client.RuneLite; import net.runelite.client.plugins.Plugin; import net.runelite.client.ui.overlay.Overlay; +import java.awt.Font; +import java.awt.GraphicsEnvironment; + public class JewelryCount extends Plugin { private final JewelryCountConfig config = RuneLite.getRunelite().getConfigManager().getConfig(JewelryCountConfig.class); private final Overlay overlay = new JewelryCountOverlay(this); + private Font font; + @Override public Overlay getOverlay() { @@ -42,7 +47,10 @@ public class JewelryCount extends Plugin @Override protected void startUp() throws Exception { - + font = Font.createFont(Font.TRUETYPE_FONT, getClass().getResourceAsStream("/runescape_small.ttf")); + font = font.deriveFont(Font.PLAIN, 16); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + ge.registerFont(font); } @Override @@ -55,4 +63,9 @@ public class JewelryCount extends Plugin { return config; } + + public Font getFont() + { + return font; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/jewelrycount/JewelryCountOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/jewelrycount/JewelryCountOverlay.java index 0d34a715d8..2e5f17b032 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/jewelrycount/JewelryCountOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/jewelrycount/JewelryCountOverlay.java @@ -25,7 +25,6 @@ package net.runelite.client.plugins.jewelrycount; import java.awt.*; -import java.awt.geom.Rectangle2D; import net.runelite.api.Client; import net.runelite.api.GameState; @@ -39,11 +38,13 @@ import net.runelite.client.ui.overlay.OverlayPosition; class JewelryCountOverlay extends Overlay { private final JewelryCountConfig config; + private final JewelryCount plugin; JewelryCountOverlay(JewelryCount plugin) { super(OverlayPosition.DYNAMIC); this.config = plugin.getConfig(); + this.plugin = plugin; } @Override @@ -102,10 +103,6 @@ class JewelryCountOverlay extends Overlay Rectangle widgetBounds = widget.getBounds(); - //to match inventory text - widgetBounds.x -= 5; - widgetBounds.y -= 1; - renderWidgetText(graphics, widgetBounds, charges.getCharges(), Color.white); } @@ -116,19 +113,23 @@ class JewelryCountOverlay extends Overlay private void renderWidgetText(Graphics2D graphics, Rectangle bounds, int charges, Color color) { - String text = charges + ""; - FontMetrics fm = graphics.getFontMetrics(); - Rectangle2D textBounds = fm.getStringBounds(text, graphics); + Font font = plugin.getFont(); + if (font != null) + { + graphics.setFont(font); + } - int textX = (int) (bounds.getX() + bounds.getWidth() - textBounds.getWidth()); - int textY = (int) (bounds.getY() + (textBounds.getHeight())); + FontMetrics fm = graphics.getFontMetrics(); + + int textX = (int) bounds.getX(); + int textY = (int) bounds.getY() + fm.getHeight(); //text shadow graphics.setColor(Color.BLACK); - graphics.drawString(text, textX + 1, textY + 1); + graphics.drawString(String.valueOf(charges), textX + 1, textY + 1); graphics.setColor(color); - graphics.drawString(text, textX, textY); + graphics.drawString(String.valueOf(charges), textX, textY); } } diff --git a/runelite-client/src/main/resources/runescape_small.ttf b/runelite-client/src/main/resources/runescape_small.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7998560026a764762de19171a9b0e6f9099139c8 GIT binary patch literal 19900 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 NJATU&|HJIz{{_*qh0p*1 literal 0 HcmV?d00001