From bf4173c45f52666f303f4b710b4a8ab67ad71c6b Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 14 Sep 2020 01:08:16 -0700 Subject: [PATCH] config: Add infobox component outline option Co-authored-by: Jordan Atwood --- .../net/runelite/client/config/RuneLiteConfig.java | 14 +++++++++++++- .../ui/overlay/components/InfoBoxComponent.java | 2 ++ .../client/ui/overlay/infobox/InfoBoxOverlay.java | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) 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 4b6a960cbf..d68ae06f02 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 @@ -355,11 +355,23 @@ public interface RuneLiteConfig extends Config return 35; } + @ConfigItem( + keyName = "infoBoxTextOutline", + name = "Outline infobox text", + description = "Draw a full outline instead of a simple shadow for infobox text", + position = 43, + section = overlaySettings + ) + default boolean infoBoxTextOutline() + { + return false; + } + @ConfigItem( keyName = "overlayBackgroundColor", name = "Overlay Color", description = "Configures the background color of infoboxes and overlays", - position = 43, + position = 44, section = overlaySettings ) @Alpha diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/InfoBoxComponent.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/InfoBoxComponent.java index cb02a50672..2c777ec2ed 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/InfoBoxComponent.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/components/InfoBoxComponent.java @@ -53,6 +53,7 @@ public class InfoBoxComponent implements LayoutableRenderableEntity private Dimension preferredSize = new Dimension(DEFAULT_SIZE, DEFAULT_SIZE); private String text; private Color color = Color.WHITE; + private boolean outline; private Color backgroundColor = ComponentConstants.STANDARD_BACKGROUND_COLOR; private BufferedImage image; @Getter @@ -94,6 +95,7 @@ public class InfoBoxComponent implements LayoutableRenderableEntity { final TextComponent textComponent = new TextComponent(); textComponent.setColor(color); + textComponent.setOutline(outline); textComponent.setText(text); textComponent.setPosition(new Point(baseX + ((size - metrics.stringWidth(text)) / 2), baseY + size - SEPARATOR)); textComponent.render(graphics); diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxOverlay.java index f3abeb6627..9e85df2edd 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/infobox/InfoBoxOverlay.java @@ -138,6 +138,7 @@ public class InfoBoxOverlay extends OverlayPanel { infoBoxComponent.setColor(color); } + infoBoxComponent.setOutline(config.infoBoxTextOutline()); infoBoxComponent.setImage(box.getScaledImage()); infoBoxComponent.setTooltip(box.getTooltip()); infoBoxComponent.setPreferredSize(new Dimension(config.infoBoxSize(), config.infoBoxSize()));