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;
|
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.Point;
|
||||||
import net.runelite.api.coords.LocalPoint;
|
import net.runelite.api.coords.LocalPoint;
|
||||||
import net.runelite.api.coords.WorldPoint;
|
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.Overlay;
|
||||||
import net.runelite.client.ui.overlay.OverlayLayer;
|
import net.runelite.client.ui.overlay.OverlayLayer;
|
||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
@@ -90,7 +89,6 @@ public class GroundItemsOverlay extends Overlay
|
|||||||
|
|
||||||
plugin.checkItems();
|
plugin.checkItems();
|
||||||
|
|
||||||
graphics.setFont(FontManager.getRunescapeSmallFont());
|
|
||||||
offsetMap.clear();
|
offsetMap.clear();
|
||||||
final LocalPoint localLocation = player.getLocalLocation();
|
final LocalPoint localLocation = player.getLocalLocation();
|
||||||
|
|
||||||
|
|||||||
@@ -25,13 +25,8 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.pestcontrol;
|
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.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.FontMetrics;
|
import java.awt.FontMetrics;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.geom.Rectangle2D;
|
import java.awt.geom.Rectangle2D;
|
||||||
@@ -44,6 +39,10 @@ import net.runelite.api.Query;
|
|||||||
import net.runelite.api.queries.NPCQuery;
|
import net.runelite.api.queries.NPCQuery;
|
||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
import net.runelite.api.widgets.WidgetInfo;
|
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.Overlay;
|
||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||||
@@ -55,18 +54,15 @@ public class PestControlOverlay extends Overlay
|
|||||||
private final QueryRunner queryRunner;
|
private final QueryRunner queryRunner;
|
||||||
private final Client client;
|
private final Client client;
|
||||||
|
|
||||||
private final PestControlPlugin plugin;
|
|
||||||
|
|
||||||
// Pest control game
|
// Pest control game
|
||||||
private Game game;
|
private Game game;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PestControlOverlay(QueryRunner queryRunner, Client client, PestControlPlugin plugin)
|
public PestControlOverlay(QueryRunner queryRunner, Client client)
|
||||||
{
|
{
|
||||||
setPosition(OverlayPosition.DYNAMIC);
|
setPosition(OverlayPosition.DYNAMIC);
|
||||||
this.queryRunner = queryRunner;
|
this.queryRunner = queryRunner;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.plugin = plugin;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -90,12 +86,6 @@ public class PestControlOverlay extends Overlay
|
|||||||
game = new Game();
|
game = new Game();
|
||||||
}
|
}
|
||||||
|
|
||||||
Font font = plugin.getFont();
|
|
||||||
if (font != null)
|
|
||||||
{
|
|
||||||
graphics.setFont(font);
|
|
||||||
}
|
|
||||||
|
|
||||||
renderSpinners(graphics);
|
renderSpinners(graphics);
|
||||||
renderPortalWidgets(graphics);
|
renderPortalWidgets(graphics);
|
||||||
|
|
||||||
|
|||||||
@@ -24,11 +24,9 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.pestcontrol;
|
package net.runelite.client.plugins.pestcontrol;
|
||||||
|
|
||||||
import java.awt.Font;
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.ui.FontManager;
|
|
||||||
import net.runelite.client.ui.overlay.Overlay;
|
import net.runelite.client.ui.overlay.Overlay;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
@@ -36,26 +34,12 @@ import net.runelite.client.ui.overlay.Overlay;
|
|||||||
)
|
)
|
||||||
public class PestControlPlugin extends Plugin
|
public class PestControlPlugin extends Plugin
|
||||||
{
|
{
|
||||||
private Font font;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private PestControlOverlay overlay;
|
private PestControlOverlay overlay;
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void startUp() throws Exception
|
|
||||||
{
|
|
||||||
font = FontManager.getRunescapeFont()
|
|
||||||
.deriveFont(Font.BOLD, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Overlay getOverlay()
|
public Overlay getOverlay()
|
||||||
{
|
{
|
||||||
return overlay;
|
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.MouseListener;
|
||||||
import net.runelite.client.input.MouseManager;
|
import net.runelite.client.input.MouseManager;
|
||||||
import net.runelite.client.plugins.PluginManager;
|
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.infobox.InfoBoxOverlay;
|
||||||
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
|
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 Provider<Client> clientProvider;
|
||||||
private final InfoBoxOverlay infoBoxOverlay;
|
private final InfoBoxOverlay infoBoxOverlay;
|
||||||
private final ConfigManager configManager;
|
private final ConfigManager configManager;
|
||||||
|
private final RuneLiteConfig runeLiteConfig;
|
||||||
private final TooltipOverlay tooltipOverlay;
|
private final TooltipOverlay tooltipOverlay;
|
||||||
private final List<Overlay> allOverlays = new CopyOnWriteArrayList<>();
|
private final List<Overlay> allOverlays = new CopyOnWriteArrayList<>();
|
||||||
private final ConcurrentLinkedQueue<Consumer<BufferedImage>> screenshotRequests = new ConcurrentLinkedQueue<>();
|
private final ConcurrentLinkedQueue<Consumer<BufferedImage>> screenshotRequests = new ConcurrentLinkedQueue<>();
|
||||||
@@ -120,13 +122,15 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
final KeyManager keyManager,
|
final KeyManager keyManager,
|
||||||
final TooltipOverlay tooltipOverlay,
|
final TooltipOverlay tooltipOverlay,
|
||||||
final InfoBoxOverlay infoBoxOverlay,
|
final InfoBoxOverlay infoBoxOverlay,
|
||||||
final ConfigManager configManager)
|
final ConfigManager configManager,
|
||||||
|
final RuneLiteConfig runeLiteConfig)
|
||||||
{
|
{
|
||||||
this.clientProvider = clientProvider;
|
this.clientProvider = clientProvider;
|
||||||
this.pluginManager = pluginManager;
|
this.pluginManager = pluginManager;
|
||||||
this.tooltipOverlay = tooltipOverlay;
|
this.tooltipOverlay = tooltipOverlay;
|
||||||
this.infoBoxOverlay = infoBoxOverlay;
|
this.infoBoxOverlay = infoBoxOverlay;
|
||||||
this.configManager = configManager;
|
this.configManager = configManager;
|
||||||
|
this.runeLiteConfig = runeLiteConfig;
|
||||||
keyManager.registerKeyListener(this);
|
keyManager.registerKeyListener(this);
|
||||||
mouseManager.registerMouseListener(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
|
// Create copy of snap corners because overlays will modify them
|
||||||
OverlayBounds snapCorners = new OverlayBounds(this.snapCorners);
|
OverlayBounds snapCorners = new OverlayBounds(this.snapCorners);
|
||||||
|
|
||||||
|
// Set font based on configuration
|
||||||
|
graphics.setFont(runeLiteConfig.useSmallFont()
|
||||||
|
? FontManager.getRunescapeSmallFont()
|
||||||
|
: FontManager.getRunescapeFont());
|
||||||
|
|
||||||
OverlayUtil.setGraphicProperties(graphics);
|
OverlayUtil.setGraphicProperties(graphics);
|
||||||
|
|
||||||
// Draw snap corners
|
// Draw snap corners
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ import net.runelite.api.Perspective;
|
|||||||
import net.runelite.api.Point;
|
import net.runelite.api.Point;
|
||||||
import net.runelite.api.TileObject;
|
import net.runelite.api.TileObject;
|
||||||
import net.runelite.api.coords.LocalPoint;
|
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)
|
public static void setGraphicProperties(Graphics2D graphics)
|
||||||
{
|
{
|
||||||
graphics.setFont(FontManager.getRunescapeFont());
|
|
||||||
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import java.awt.Rectangle;
|
|||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import net.runelite.api.IndexedSprite;
|
import net.runelite.api.IndexedSprite;
|
||||||
import net.runelite.client.ui.FontManager;
|
|
||||||
import net.runelite.client.ui.overlay.RenderableEntity;
|
import net.runelite.client.ui.overlay.RenderableEntity;
|
||||||
|
|
||||||
public class TooltipComponent implements RenderableEntity
|
public class TooltipComponent implements RenderableEntity
|
||||||
@@ -57,8 +56,6 @@ public class TooltipComponent implements RenderableEntity
|
|||||||
@Override
|
@Override
|
||||||
public Dimension render(Graphics2D graphics)
|
public Dimension render(Graphics2D graphics)
|
||||||
{
|
{
|
||||||
graphics.setFont(FontManager.getRunescapeSmallFont());
|
|
||||||
|
|
||||||
// Tooltip size
|
// Tooltip size
|
||||||
final FontMetrics metrics = graphics.getFontMetrics();
|
final FontMetrics metrics = graphics.getFontMetrics();
|
||||||
final int textDescent = metrics.getDescent();
|
final int textDescent = metrics.getDescent();
|
||||||
|
|||||||
Reference in New Issue
Block a user