diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsConfig.java index 27889048bd..745d64594b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsConfig.java @@ -32,6 +32,12 @@ import net.runelite.client.config.ConfigItem; @ConfigGroup("inventorytags") public interface InventoryTagsConfig extends Config { + enum DisplayMode + { + OUTLINE, + UNDERLINE + } + String GROUP = "inventorytags"; @ConfigItem( @@ -99,4 +105,15 @@ public interface InventoryTagsConfig extends Config { return new Color(0, 255, 255); } + + @ConfigItem( + position = 6, + keyName = "displayMode", + name = "Display mode", + description = "How tags are displayed in the inventory" + ) + default DisplayMode getDisplayMode() + { + return DisplayMode.OUTLINE; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsOverlay.java index de7d786eb6..c6fafc9466 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorytags/InventoryTagsOverlay.java @@ -31,18 +31,21 @@ import java.awt.image.BufferedImage; import javax.inject.Inject; import net.runelite.api.widgets.WidgetItem; import net.runelite.client.game.ItemManager; +import net.runelite.client.plugins.inventorytags.InventoryTagsConfig.DisplayMode; import net.runelite.client.ui.overlay.WidgetItemOverlay; public class InventoryTagsOverlay extends WidgetItemOverlay { private final ItemManager itemManager; private final InventoryTagsPlugin plugin; + private final InventoryTagsConfig config; @Inject - private InventoryTagsOverlay(ItemManager itemManager, InventoryTagsPlugin plugin) + private InventoryTagsOverlay(ItemManager itemManager, InventoryTagsPlugin plugin, InventoryTagsConfig config) { this.itemManager = itemManager; this.plugin = plugin; + this.config = config; showOnEquipment(); showOnInventory(); } @@ -54,11 +57,21 @@ public class InventoryTagsOverlay extends WidgetItemOverlay if (group != null) { final Color color = plugin.getGroupNameColor(group); + final DisplayMode displayMode = config.getDisplayMode(); if (color != null) { Rectangle bounds = itemWidget.getCanvasBounds(); - final BufferedImage outline = itemManager.getItemOutline(itemId, itemWidget.getQuantity(), color); - graphics.drawImage(outline, (int) bounds.getX(), (int) bounds.getY(), null); + if (displayMode == DisplayMode.OUTLINE) + { + final BufferedImage outline = itemManager.getItemOutline(itemId, itemWidget.getQuantity(), color); + graphics.drawImage(outline, (int) bounds.getX(), (int) bounds.getY(), null); + } + else + { + int heightOffSet = (int) bounds.getY() + (int) bounds.getHeight() + 2; + graphics.setColor(color); + graphics.drawLine((int) bounds.getX(), heightOffSet, (int) bounds.getX() + (int) bounds.getWidth(), heightOffSet); + } } } }