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 <slusnucky@gmail.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<Client> clientProvider;
|
||||
private final InfoBoxOverlay infoBoxOverlay;
|
||||
private final ConfigManager configManager;
|
||||
private final RuneLiteConfig runeLiteConfig;
|
||||
private final TooltipOverlay tooltipOverlay;
|
||||
private final List<Overlay> allOverlays = new CopyOnWriteArrayList<>();
|
||||
private final ConcurrentLinkedQueue<Consumer<BufferedImage>> 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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user