From 4ddd3bc32fa5a806396200d5e191513b5a34fb87 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sun, 1 Apr 2018 08:53:42 +0200 Subject: [PATCH] Add option for enabling small font - Add option for toggling between small and large font for in-game overlays - Normalize the font size usage around overlays Closes: #1214 Signed-off-by: Tomas Slusny --- .../client/config/RuneLiteConfig.java | 10 ++++++++++ .../grounditems/GroundItemsOverlay.java | 2 -- .../pestcontrol/PestControlOverlay.java | 20 +++++-------------- .../pestcontrol/PestControlPlugin.java | 16 --------------- .../client/ui/overlay/OverlayRenderer.java | 11 +++++++++- .../client/ui/overlay/OverlayUtil.java | 2 -- .../overlay/components/TooltipComponent.java | 3 --- 7 files changed, 25 insertions(+), 39 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java index 9c36e7de39..2c0cef5755 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java @@ -116,4 +116,14 @@ public interface RuneLiteConfig extends Config { return true; } + + @ConfigItem( + keyName = "useSmallFont", + name = "Use smaller font for in-game overlays", + description = "Toggles between small and regular RuneScape font for in-game overlays" + ) + default boolean useSmallFont() + { + return false; + } } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsOverlay.java index e36c806428..35d445262e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsOverlay.java @@ -39,7 +39,6 @@ import net.runelite.api.Player; import net.runelite.api.Point; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; -import net.runelite.client.ui.FontManager; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayPosition; @@ -90,7 +89,6 @@ public class GroundItemsOverlay extends Overlay plugin.checkItems(); - graphics.setFont(FontManager.getRunescapeSmallFont()); offsetMap.clear(); final LocalPoint localLocation = player.getLocalLocation(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlOverlay.java index 66abc6871c..59fbe72708 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlOverlay.java @@ -25,13 +25,8 @@ */ package net.runelite.client.plugins.pestcontrol; -import static net.runelite.client.plugins.pestcontrol.Portal.BLUE; -import static net.runelite.client.plugins.pestcontrol.Portal.PURPLE; -import static net.runelite.client.plugins.pestcontrol.Portal.RED; -import static net.runelite.client.plugins.pestcontrol.Portal.YELLOW; import java.awt.Color; import java.awt.Dimension; -import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.geom.Rectangle2D; @@ -44,6 +39,10 @@ import net.runelite.api.Query; import net.runelite.api.queries.NPCQuery; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; +import static net.runelite.client.plugins.pestcontrol.Portal.BLUE; +import static net.runelite.client.plugins.pestcontrol.Portal.PURPLE; +import static net.runelite.client.plugins.pestcontrol.Portal.RED; +import static net.runelite.client.plugins.pestcontrol.Portal.YELLOW; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.OverlayUtil; @@ -55,18 +54,15 @@ public class PestControlOverlay extends Overlay private final QueryRunner queryRunner; private final Client client; - private final PestControlPlugin plugin; - // Pest control game private Game game; @Inject - public PestControlOverlay(QueryRunner queryRunner, Client client, PestControlPlugin plugin) + public PestControlOverlay(QueryRunner queryRunner, Client client) { setPosition(OverlayPosition.DYNAMIC); this.queryRunner = queryRunner; this.client = client; - this.plugin = plugin; } @Override @@ -90,12 +86,6 @@ public class PestControlOverlay extends Overlay game = new Game(); } - Font font = plugin.getFont(); - if (font != null) - { - graphics.setFont(font); - } - renderSpinners(graphics); renderPortalWidgets(graphics); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java index 37fe1c825c..12824633e3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/pestcontrol/PestControlPlugin.java @@ -24,11 +24,9 @@ */ package net.runelite.client.plugins.pestcontrol; -import java.awt.Font; import javax.inject.Inject; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.client.ui.FontManager; import net.runelite.client.ui.overlay.Overlay; @PluginDescriptor( @@ -36,26 +34,12 @@ import net.runelite.client.ui.overlay.Overlay; ) public class PestControlPlugin extends Plugin { - private Font font; - @Inject private PestControlOverlay overlay; - @Override - protected void startUp() throws Exception - { - font = FontManager.getRunescapeFont() - .deriveFont(Font.BOLD, 16); - } - @Override public Overlay getOverlay() { return overlay; } - - public Font getFont() - { - return font; - } } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java index 2843d97d32..d2c6537190 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java @@ -65,6 +65,7 @@ import net.runelite.client.input.KeyManager; import net.runelite.client.input.MouseListener; import net.runelite.client.input.MouseManager; import net.runelite.client.plugins.PluginManager; +import net.runelite.client.ui.FontManager; import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay; import net.runelite.client.ui.overlay.tooltip.TooltipOverlay; @@ -92,6 +93,7 @@ public class OverlayRenderer extends MouseListener implements KeyListener private final Provider clientProvider; private final InfoBoxOverlay infoBoxOverlay; private final ConfigManager configManager; + private final RuneLiteConfig runeLiteConfig; private final TooltipOverlay tooltipOverlay; private final List allOverlays = new CopyOnWriteArrayList<>(); private final ConcurrentLinkedQueue> screenshotRequests = new ConcurrentLinkedQueue<>(); @@ -120,13 +122,15 @@ public class OverlayRenderer extends MouseListener implements KeyListener final KeyManager keyManager, final TooltipOverlay tooltipOverlay, final InfoBoxOverlay infoBoxOverlay, - final ConfigManager configManager) + final ConfigManager configManager, + final RuneLiteConfig runeLiteConfig) { this.clientProvider = clientProvider; this.pluginManager = pluginManager; this.tooltipOverlay = tooltipOverlay; this.infoBoxOverlay = infoBoxOverlay; this.configManager = configManager; + this.runeLiteConfig = runeLiteConfig; keyManager.registerKeyListener(this); mouseManager.registerMouseListener(this); } @@ -279,6 +283,11 @@ public class OverlayRenderer extends MouseListener implements KeyListener // Create copy of snap corners because overlays will modify them OverlayBounds snapCorners = new OverlayBounds(this.snapCorners); + // Set font based on configuration + graphics.setFont(runeLiteConfig.useSmallFont() + ? FontManager.getRunescapeSmallFont() + : FontManager.getRunescapeFont()); + OverlayUtil.setGraphicProperties(graphics); // Draw snap corners diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java index 77b1e9b3ef..dee685c7b4 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayUtil.java @@ -38,7 +38,6 @@ import net.runelite.api.Perspective; import net.runelite.api.Point; import net.runelite.api.TileObject; import net.runelite.api.coords.LocalPoint; -import net.runelite.client.ui.FontManager; /** @@ -176,7 +175,6 @@ public class OverlayUtil public static void setGraphicProperties(Graphics2D graphics) { - graphics.setFont(FontManager.getRunescapeFont()); graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/TooltipComponent.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/TooltipComponent.java index a81add6466..bc12256633 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/TooltipComponent.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/TooltipComponent.java @@ -33,7 +33,6 @@ import java.awt.Rectangle; import java.util.regex.Pattern; import lombok.Setter; import net.runelite.api.IndexedSprite; -import net.runelite.client.ui.FontManager; import net.runelite.client.ui.overlay.RenderableEntity; public class TooltipComponent implements RenderableEntity @@ -57,8 +56,6 @@ public class TooltipComponent implements RenderableEntity @Override public Dimension render(Graphics2D graphics) { - graphics.setFont(FontManager.getRunescapeSmallFont()); - // Tooltip size final FontMetrics metrics = graphics.getFontMetrics(); final int textDescent = metrics.getDescent();