Make overlays use OverlayPanel instead of Overlay

Make overlays that were previously using PanelComponent use
OverlayPanel.

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2020-04-04 01:25:44 +02:00
committed by Adam
parent 2647997bef
commit 35ebe5c65f
32 changed files with 119 additions and 258 deletions

View File

@@ -30,21 +30,18 @@ import java.time.Duration;
import java.time.Instant;
import javax.inject.Inject;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
class LapCounterOverlay extends Overlay
class LapCounterOverlay extends OverlayPanel
{
private final AgilityPlugin plugin;
private final AgilityConfig config;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private LapCounterOverlay(AgilityPlugin plugin, AgilityConfig config)
{
@@ -79,7 +76,6 @@ class LapCounterOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
panelComponent.getChildren().add(LineComponent.builder()
.left("Total Laps:")
.right(Integer.toString(session.getTotalLaps()))
@@ -93,6 +89,6 @@ class LapCounterOverlay extends Overlay
.build());
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -29,18 +29,16 @@ import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.inject.Inject;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
class AttackStylesOverlay extends Overlay
class AttackStylesOverlay extends OverlayPanel
{
private final AttackStylesPlugin plugin;
private final AttackStylesConfig config;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private AttackStylesOverlay(AttackStylesPlugin plugin, AttackStylesConfig config)
@@ -55,7 +53,6 @@ class AttackStylesOverlay extends Overlay
@Override
public Dimension render(Graphics2D graphics)
{
panelComponent.getChildren().clear();
boolean warnedSkillSelected = plugin.isWarnedSkillSelected();
if (warnedSkillSelected || config.alwaysShowStyle())
@@ -78,7 +75,7 @@ class AttackStylesOverlay extends Overlay
graphics.getFontMetrics().stringWidth(attackStyleString) + 10,
0));
return panelComponent.render(graphics);
return super.render(graphics);
}
return null;

View File

@@ -33,18 +33,16 @@ import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Varbits;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
public class BarrowsBrotherSlainOverlay extends Overlay
public class BarrowsBrotherSlainOverlay extends OverlayPanel
{
private final Client client;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private BarrowsBrotherSlainOverlay(BarrowsPlugin plugin, Client client)
@@ -74,8 +72,6 @@ public class BarrowsBrotherSlainOverlay extends Overlay
potential.setHidden(true);
}
panelComponent.getChildren().clear();
for (BarrowsBrothers brother : BarrowsBrothers.values())
{
final boolean brotherSlain = client.getVar(brother.getKilledVarbit()) > 0;
@@ -94,6 +90,6 @@ public class BarrowsBrotherSlainOverlay extends Overlay
.rightColor(rewardPercent >= 73.0f && rewardPercent <= 88.0f ? Color.GREEN : rewardPercent < 65.6f ? Color.WHITE : Color.YELLOW)
.build());
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -32,23 +32,21 @@ import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import static net.runelite.api.Varbits.BLAST_FURNACE_COFFER;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.util.QuantityFormatter;
import static org.apache.commons.lang3.time.DurationFormatUtils.formatDuration;
class BlastFurnaceCofferOverlay extends Overlay
class BlastFurnaceCofferOverlay extends OverlayPanel
{
private static final float COST_PER_HOUR = 72000.0f;
private final Client client;
private final BlastFurnacePlugin plugin;
private final BlastFurnaceConfig config;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private BlastFurnaceCofferOverlay(Client client, BlastFurnacePlugin plugin, BlastFurnaceConfig config)
@@ -71,8 +69,6 @@ class BlastFurnaceCofferOverlay extends Overlay
Widget sack = client.getWidget(WidgetInfo.BLAST_FURNACE_COFFER);
panelComponent.getChildren().clear();
if (sack != null)
{
final int coffer = client.getVar(BLAST_FURNACE_COFFER);
@@ -95,6 +91,6 @@ class BlastFurnaceCofferOverlay extends Overlay
}
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -31,19 +31,17 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.ComponentOrientation;
import net.runelite.client.ui.overlay.components.ImageComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
class BlastFurnaceOverlay extends Overlay
class BlastFurnaceOverlay extends OverlayPanel
{
private final Client client;
private final BlastFurnacePlugin plugin;
private final PanelComponent imagePanelComponent = new PanelComponent();
@Inject
private ItemManager itemManager;
@@ -55,7 +53,7 @@ class BlastFurnaceOverlay extends Overlay
this.plugin = plugin;
this.client = client;
setPosition(OverlayPosition.TOP_LEFT);
imagePanelComponent.setOrientation(ComponentOrientation.HORIZONTAL);
panelComponent.setOrientation(ComponentOrientation.HORIZONTAL);
getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Blast furnace overlay"));
}
@@ -67,8 +65,6 @@ class BlastFurnaceOverlay extends Overlay
return null;
}
imagePanelComponent.getChildren().clear();
for (BarsOres varbit : BarsOres.values())
{
int amount = client.getVar(varbit.getVarbit());
@@ -78,10 +74,10 @@ class BlastFurnaceOverlay extends Overlay
continue;
}
imagePanelComponent.getChildren().add(new ImageComponent(getImage(varbit.getItemID(), amount)));
panelComponent.getChildren().add(new ImageComponent(getImage(varbit.getItemID(), amount)));
}
return imagePanelComponent.render(graphics);
return super.render(graphics);
}
private BufferedImage getImage(int itemID, int amount)

View File

@@ -35,20 +35,18 @@ import net.runelite.api.Varbits;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.ComponentOrientation;
import net.runelite.client.ui.overlay.components.ImageComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
class BlastMineOreCountOverlay extends Overlay
class BlastMineOreCountOverlay extends OverlayPanel
{
private final Client client;
private final BlastMinePluginConfig config;
private final ItemManager itemManager;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private BlastMineOreCountOverlay(BlastMinePlugin plugin, Client client, BlastMinePluginConfig config, ItemManager itemManager)
@@ -72,8 +70,6 @@ class BlastMineOreCountOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
if (config.showOreOverlay())
{
blastMineWidget.setHidden(true);
@@ -88,7 +84,7 @@ class BlastMineOreCountOverlay extends Overlay
blastMineWidget.setHidden(false);
}
return panelComponent.render(graphics);
return super.render(graphics);
}
private BufferedImage getImage(int itemID, int amount)

View File

@@ -32,20 +32,18 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Skill;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.util.ColorUtil;
class BoostsOverlay extends Overlay
class BoostsOverlay extends OverlayPanel
{
private final Client client;
private final BoostsConfig config;
private final PanelComponent panelComponent = new PanelComponent();
private final BoostsPlugin plugin;
@Inject
@@ -68,8 +66,6 @@ class BoostsOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
int nextChange = plugin.getChangeDownTicks();
if (nextChange != -1)
@@ -94,7 +90,7 @@ class BoostsOverlay extends Overlay
if (boostedSkills.isEmpty())
{
return panelComponent.render(graphics);
return super.render(graphics);
}
if (plugin.canShowBoosts())
@@ -129,7 +125,7 @@ class BoostsOverlay extends Overlay
}
}
return panelComponent.render(graphics);
return super.render(graphics);
}
private Color getTextColor(int boost)

View File

@@ -41,15 +41,13 @@ import net.runelite.client.plugins.cluescrolls.clues.item.AnyRequirementCollecti
import net.runelite.client.plugins.cluescrolls.clues.item.ItemRequirement;
import static net.runelite.client.plugins.cluescrolls.clues.item.ItemRequirements.item;
import net.runelite.client.plugins.cluescrolls.clues.item.SingleItemRequirement;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
public class ClueScrollOverlay extends Overlay
public class ClueScrollOverlay extends OverlayPanel
{
private static final ItemRequirement HAS_SPADE = new SingleItemRequirement(SPADE);
private static final ItemRequirement HAS_LIGHT = new AnyRequirementCollection("Light Source",
@@ -79,7 +77,6 @@ public class ClueScrollOverlay extends Overlay
public static final Color TITLED_CONTENT_COLOR = new Color(190, 190, 190);
private final ClueScrollPlugin plugin;
private final PanelComponent panelComponent = new PanelComponent();
private final Client client;
@Inject
@@ -103,9 +100,6 @@ public class ClueScrollOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
panelComponent.setPreferredSize(new Dimension(ComponentConstants.STANDARD_WIDTH, 0));
clue.makeOverlayHint(panelComponent, plugin);
final Item[] inventoryItems = plugin.getInventoryItems();
@@ -129,6 +123,6 @@ public class ClueScrollOverlay extends Overlay
panelComponent.getChildren().add(LineComponent.builder().left("Requires Light Source!").leftColor(Color.RED).build());
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -26,7 +26,6 @@
package net.runelite.client.plugins.cluescrolls.clues;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.util.Arrays;
import java.util.Collection;
@@ -59,7 +58,6 @@ import net.runelite.client.ui.overlay.components.TitleComponent;
@Slf4j
public class HotColdClue extends ClueScroll implements LocationClueScroll, LocationsClueScroll, TextClueScroll, NpcClueScroll
{
private static final int HOT_COLD_PANEL_WIDTH = 200;
private static final HotColdClue BEGINNER_CLUE = new HotColdClue("Buried beneath the ground, who knows where it's found. Lucky for you, A man called Reldo may have a clue.",
"Reldo",
"Speak to Reldo to receive a strange device.",
@@ -141,7 +139,6 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat
panelComponent.getChildren().add(TitleComponent.builder()
.text("Hot/Cold Clue")
.build());
panelComponent.setPreferredSize(new Dimension(HOT_COLD_PANEL_WIDTH, 0));
// strange device has not been tested yet, show how to get it
if (hotColdSolver.getLastWorldPoint() == null && location == null)

View File

@@ -29,8 +29,8 @@ import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.text.DecimalFormat;
import java.time.Instant;
import java.time.Duration;
import java.time.Instant;
import javax.inject.Inject;
import static net.runelite.api.AnimationID.COOKING_FIRE;
import static net.runelite.api.AnimationID.COOKING_RANGE;
@@ -39,15 +39,14 @@ import static net.runelite.api.MenuAction.RUNELITE_OVERLAY;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Skill;
import net.runelite.client.plugins.xptracker.XpTrackerService;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
class CookingOverlay extends Overlay
class CookingOverlay extends OverlayPanel
{
private static final int COOK_TIMEOUT = 3;
private static final DecimalFormat FORMAT = new DecimalFormat("#.#");
@@ -57,7 +56,6 @@ class CookingOverlay extends Overlay
private final CookingPlugin plugin;
private final CookingConfig config;
private final XpTrackerService xpTrackerService;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private CookingOverlay(Client client, CookingPlugin plugin, CookingConfig config, XpTrackerService xpTrackerService)
@@ -81,8 +79,6 @@ class CookingOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
if (isCooking() || Duration.between(session.getLastCookingAction(), Instant.now()).getSeconds() < COOK_TIMEOUT)
{
panelComponent.getChildren().add(TitleComponent.builder()
@@ -108,7 +104,7 @@ class CookingOverlay extends Overlay
.right(session.getBurnAmount() + (session.getBurnAmount() >= 1 ? " (" + FORMAT.format(session.getBurntPercentage()) + "%)" : ""))
.build());
return panelComponent.render(graphics);
return super.render(graphics);
}
private boolean isCooking()

View File

@@ -36,24 +36,21 @@ import net.runelite.api.Varbits;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
class CorpDamageOverlay extends Overlay
class CorpDamageOverlay extends OverlayPanel
{
private final Client client;
private final CorpPlugin corpPlugin;
private final CorpConfig config;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private CorpDamageOverlay(Client client, CorpPlugin corpPlugin, CorpConfig config)
{
@@ -89,8 +86,6 @@ class CorpDamageOverlay extends Overlay
// estimate how much damage is required for kill based on number of players
int damageForKill = players != 0 ? totalDamage / players : 0;
panelComponent.getChildren().clear();
NPC core = corpPlugin.getCore();
if (core != null)
{
@@ -135,6 +130,6 @@ class CorpDamageOverlay extends Overlay
.build());
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -28,24 +28,21 @@ import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
public class CameraOverlay extends Overlay
public class CameraOverlay extends OverlayPanel
{
private final Client client;
private final DevToolsPlugin plugin;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
CameraOverlay(Client client, DevToolsPlugin plugin)
{
this.client = client;
this.plugin = plugin;
panelComponent.setPreferredSize(new Dimension(150, 0));
setPosition(OverlayPosition.TOP_LEFT);
}
@@ -57,8 +54,6 @@ public class CameraOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
panelComponent.getChildren().add(TitleComponent.builder()
.text("Camera")
.build());
@@ -93,6 +88,6 @@ public class CameraOverlay extends Overlay
.right("" + client.getScale())
.build());
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -32,23 +32,20 @@ import net.runelite.api.Client;
import static net.runelite.api.Constants.CHUNK_SIZE;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
public class LocationOverlay extends Overlay
public class LocationOverlay extends OverlayPanel
{
private final Client client;
private final DevToolsPlugin plugin;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
LocationOverlay(Client client, DevToolsPlugin plugin)
{
this.client = client;
this.plugin = plugin;
panelComponent.setPreferredSize(new Dimension(150, 0));
setPosition(OverlayPosition.TOP_LEFT);
}
@@ -60,7 +57,6 @@ public class LocationOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
WorldPoint localWorld = client.getLocalPlayer().getWorldLocation();
LocalPoint localPoint = client.getLocalPlayer().getLocalLocation();
@@ -117,6 +113,6 @@ public class LocationOverlay extends Overlay
.build());
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -34,12 +34,11 @@ import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.AreaSoundEffectPlayed;
import net.runelite.api.events.SoundEffectPlayed;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
class SoundEffectOverlay extends Overlay
class SoundEffectOverlay extends OverlayPanel
{
private final static int MAX_LINES = 16;
private final static Color COLOR_SOUND_EFFECT = Color.WHITE;
@@ -48,18 +47,17 @@ class SoundEffectOverlay extends Overlay
private final Client client;
private final DevToolsPlugin plugin;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
SoundEffectOverlay(Client client, DevToolsPlugin plugin)
{
this.client = client;
this.plugin = plugin;
panelComponent.setPreferredSize(new Dimension(200, 0));
panelComponent.getChildren().add(LineComponent.builder()
.left("Sound Effects")
.leftColor(Color.CYAN)
.build());
setClearChildren(false);
setPosition(OverlayPosition.TOP_LEFT);
}
@@ -71,7 +69,7 @@ class SoundEffectOverlay extends Overlay
return null;
}
return panelComponent.render(graphics);
return super.render(graphics);
}
@Subscribe

View File

@@ -34,18 +34,17 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY;
import net.runelite.api.Player;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
import net.runelite.client.ui.overlay.tooltip.Tooltip;
import net.runelite.client.ui.overlay.tooltip.TooltipManager;
import net.runelite.client.util.QuantityFormatter;
import net.runelite.client.ws.PartyService;
class DpsOverlay extends Overlay
class DpsOverlay extends OverlayPanel
{
private static final DecimalFormat DPS_FORMAT = new DecimalFormat("#0.0");
private static final int PANEL_WIDTH_OFFSET = 10; // assumes 8 for panel component border + 2px between left and right
@@ -60,8 +59,6 @@ class DpsOverlay extends Overlay
private final Client client;
private final TooltipManager tooltipManager;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
DpsOverlay(DpsCounterPlugin dpsCounterPlugin, DpsConfig dpsConfig, PartyService partyService, Client client,
TooltipManager tooltipManager)
@@ -108,8 +105,6 @@ class DpsOverlay extends Overlay
DpsMember total = dpsCounterPlugin.getTotal();
boolean paused = total.isPaused();
panelComponent.getChildren().clear();
final String title = (inParty ? "Party " : "") + (showDamage ? "Damage" : "DPS") + (paused ? " (paused)" : "");
panelComponent.getChildren().add(
TitleComponent.builder()
@@ -151,7 +146,7 @@ class DpsOverlay extends Overlay
}
}
return panelComponent.render(graphics);
return super.render(graphics);
}
void setPaused(boolean paused)

View File

@@ -24,12 +24,12 @@
*/
package net.runelite.client.plugins.fishing;
import com.google.common.collect.ImmutableSet;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.util.Set;
import javax.inject.Inject;
import com.google.common.collect.ImmutableSet;
import net.runelite.api.AnimationID;
import net.runelite.api.Client;
import net.runelite.api.GraphicID;
@@ -37,15 +37,14 @@ import static net.runelite.api.MenuAction.RUNELITE_OVERLAY;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Skill;
import net.runelite.client.plugins.xptracker.XpTrackerService;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
class FishingOverlay extends Overlay
class FishingOverlay extends OverlayPanel
{
private static final String FISHING_SPOT = "Fishing spot";
static final String FISHING_RESET = "Reset";
@@ -77,8 +76,6 @@ class FishingOverlay extends Overlay
private final FishingConfig config;
private final XpTrackerService xpTrackerService;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
public FishingOverlay(Client client, FishingPlugin plugin, FishingConfig config, XpTrackerService xpTrackerService)
{
@@ -100,7 +97,6 @@ class FishingOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
if (client.getLocalPlayer().getInteracting() != null
&& client.getLocalPlayer().getInteracting().getName().contains(FISHING_SPOT)
&& client.getLocalPlayer().getInteracting().getGraphic() != GraphicID.FLYING_FISH
@@ -136,6 +132,6 @@ class FishingOverlay extends Overlay
}
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -36,13 +36,12 @@ import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemContainer;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.ComponentOrientation;
import net.runelite.client.ui.overlay.components.ImageComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
class InventoryViewerOverlay extends Overlay
class InventoryViewerOverlay extends OverlayPanel
{
private static final int INVENTORY_SIZE = 28;
private static final ImageComponent PLACEHOLDER_IMAGE = new ImageComponent(
@@ -51,8 +50,6 @@ class InventoryViewerOverlay extends Overlay
private final Client client;
private final ItemManager itemManager;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private InventoryViewerOverlay(Client client, ItemManager itemManager)
{
@@ -75,8 +72,6 @@ class InventoryViewerOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
final Item[] items = itemContainer.getItems();
for (int i = 0; i < INVENTORY_SIZE; i++)
@@ -99,7 +94,7 @@ class InventoryViewerOverlay extends Overlay
panelComponent.getChildren().add(PLACEHOLDER_IMAGE);
}
return panelComponent.render(graphics);
return super.render(graphics);
}
private BufferedImage getImage(Item item)

View File

@@ -24,25 +24,23 @@
*/
package net.runelite.client.plugins.kourendlibrary;
import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.Player;
import net.runelite.api.coords.WorldPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import javax.inject.Inject;
import java.awt.Dimension;
import java.awt.Graphics2D;
class KourendLibraryTutorialOverlay extends Overlay
class KourendLibraryTutorialOverlay extends OverlayPanel
{
private final Client client;
private final KourendLibraryConfig config;
private final Library library;
private final PanelComponent panelComponent;
private final LineComponent noDataMessageComponent;
private final LineComponent incompleteMessageComponent;
private final LineComponent completeMessageComponent;
@@ -55,7 +53,6 @@ class KourendLibraryTutorialOverlay extends Overlay
this.config = config;
this.library = library;
panelComponent = new PanelComponent();
panelComponent.setPreferredSize(new Dimension(177, 0));
noDataMessageComponent = LineComponent.builder().left("Click on the white squares to start finding books.").build();
@@ -87,8 +84,6 @@ class KourendLibraryTutorialOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
switch (library.getState())
{
case NO_DATA:
@@ -104,6 +99,6 @@ class KourendLibraryTutorialOverlay extends Overlay
break;
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -30,20 +30,18 @@ import java.time.Duration;
import java.time.Instant;
import javax.inject.Inject;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
public class MotherlodeGemOverlay extends Overlay
public class MotherlodeGemOverlay extends OverlayPanel
{
private final MotherlodePlugin plugin;
private final MotherlodeSession motherlodeSession;
private final MotherlodeConfig config;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
MotherlodeGemOverlay(MotherlodePlugin plugin, MotherlodeSession motherlodeSession, MotherlodeConfig config)
@@ -79,7 +77,6 @@ public class MotherlodeGemOverlay extends Overlay
int emeraldsFound = session.getEmeraldsFound();
int sapphiresFound = session.getSapphiresFound();
panelComponent.getChildren().clear();
panelComponent.getChildren().add(TitleComponent.builder().text("Gems found").build());
if (diamondsFound > 0)
@@ -114,6 +111,6 @@ public class MotherlodeGemOverlay extends Overlay
.build());
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -27,18 +27,16 @@ package net.runelite.client.plugins.motherlode;
import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.inject.Inject;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
public class MotherlodeOreOverlay extends Overlay
public class MotherlodeOreOverlay extends OverlayPanel
{
private final MotherlodePlugin plugin;
private final MotherlodeSession motherlodeSession;
private final MotherlodeConfig config;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
MotherlodeOreOverlay(MotherlodePlugin plugin, MotherlodeSession motherlodeSession, MotherlodeConfig config)
@@ -73,7 +71,6 @@ public class MotherlodeOreOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
panelComponent.getChildren().add(TitleComponent.builder().text("Ores found").build());
if (nuggetsFound > 0)
@@ -124,6 +121,6 @@ public class MotherlodeOreOverlay extends Overlay
.build());
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -32,29 +32,16 @@ import java.time.Duration;
import java.time.Instant;
import java.util.Set;
import javax.inject.Inject;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_ADAMANT;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_BLACK;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_BRONZE;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_CRYSTAL;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_DRAGON;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_DRAGON_OR;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_DRAGON_UPGRADED;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_GILDED;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_INFERNAL;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_IRON;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_MITHRIL;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_RUNE;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_STEEL;
import static net.runelite.api.AnimationID.*;
import net.runelite.api.Client;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
class MotherlodeOverlay extends Overlay
class MotherlodeOverlay extends OverlayPanel
{
private static final Set<Integer> MINING_ANIMATION_IDS = ImmutableSet.of(
MINING_MOTHERLODE_BRONZE, MINING_MOTHERLODE_IRON, MINING_MOTHERLODE_STEEL,
@@ -69,7 +56,6 @@ class MotherlodeOverlay extends Overlay
private final MotherlodePlugin plugin;
private final MotherlodeSession motherlodeSession;
private final MotherlodeConfig config;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
MotherlodeOverlay(Client client, MotherlodePlugin plugin, MotherlodeSession motherlodeSession, MotherlodeConfig config)
@@ -106,8 +92,6 @@ class MotherlodeOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
if (config.showMiningState())
{
if (MINING_ANIMATION_IDS.contains(client.getLocalPlayer().getAnimation()))
@@ -136,6 +120,6 @@ class MotherlodeOverlay extends Overlay
.right(session.getRecentMined() > 2 ? Integer.toString(session.getPerHour()) : "")
.build());
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -35,17 +35,16 @@ import net.runelite.api.Varbits;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.client.util.QuantityFormatter;
class NightmareZoneOverlay extends Overlay
class NightmareZoneOverlay extends OverlayPanel
{
private final Client client;
private final NightmareZoneConfig config;
@@ -54,7 +53,6 @@ class NightmareZoneOverlay extends Overlay
private final ItemManager itemManager;
private AbsorptionCounter absorptionCounter;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
NightmareZoneOverlay(
@@ -105,7 +103,6 @@ class NightmareZoneOverlay extends Overlay
final int currentPoints = client.getVar(Varbits.NMZ_POINTS);
final int totalPoints = currentPoints + client.getVar(VarPlayer.NMZ_REWARD_POINTS);
panelComponent.getChildren().clear();
panelComponent.getChildren().add(LineComponent.builder()
.left("Points: ")
.right(QuantityFormatter.formatNumber(currentPoints))
@@ -119,7 +116,7 @@ class NightmareZoneOverlay extends Overlay
.right(QuantityFormatter.formatNumber(totalPoints))
.build());
return panelComponent.render(graphics);
return super.render(graphics);
}
private void renderAbsorptionCounter()

View File

@@ -27,17 +27,15 @@ package net.runelite.client.plugins.npcunaggroarea;
import com.google.inject.Inject;
import java.awt.Dimension;
import java.awt.Graphics2D;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
class NpcAggroAreaNotWorkingOverlay extends Overlay
class NpcAggroAreaNotWorkingOverlay extends OverlayPanel
{
private final NpcAggroAreaPlugin plugin;
private final NpcAggroAreaConfig config;
private final PanelComponent panelComponent;
@Inject
private NpcAggroAreaNotWorkingOverlay(NpcAggroAreaPlugin plugin, NpcAggroAreaConfig config)
@@ -45,14 +43,13 @@ class NpcAggroAreaNotWorkingOverlay extends Overlay
this.plugin = plugin;
this.config = config;
panelComponent = new PanelComponent();
panelComponent.setPreferredSize(new Dimension(150, 0));
panelComponent.getChildren().add(LineComponent.builder()
.left("Unaggressive NPC timers will start working when you teleport far away or enter a dungeon.")
.build());
setPriority(OverlayPriority.LOW);
setPosition(OverlayPosition.TOP_LEFT);
setClearChildren(false);
}
@Override
@@ -63,6 +60,6 @@ class NpcAggroAreaNotWorkingOverlay extends Overlay
return null;
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -39,19 +39,18 @@ import net.runelite.api.NPC;
import net.runelite.api.Player;
import net.runelite.client.game.HiscoreManager;
import net.runelite.client.game.NPCManager;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.ProgressBarComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
import net.runelite.client.util.Text;
import net.runelite.http.api.hiscore.HiscoreResult;
class OpponentInfoOverlay extends Overlay
class OpponentInfoOverlay extends OverlayPanel
{
private static final Color HP_GREEN = new Color(0, 146, 54, 230);
private static final Color HP_RED = new Color(102, 15, 16, 230);
@@ -62,8 +61,6 @@ class OpponentInfoOverlay extends Overlay
private final HiscoreManager hiscoreManager;
private final NPCManager npcManager;
private final PanelComponent panelComponent = new PanelComponent();
private Integer lastMaxHealth;
private int lastRatio = 0;
private int lastHealthScale = 0;
@@ -135,8 +132,6 @@ class OpponentInfoOverlay extends Overlay
final FontMetrics fontMetrics = graphics.getFontMetrics();
panelComponent.getChildren().clear();
// Opponent name
int panelWidth = Math.max(ComponentConstants.STANDARD_WIDTH, fontMetrics.stringWidth(opponentName) + ComponentConstants.STANDARD_BORDER + ComponentConstants.STANDARD_BORDER);
panelComponent.setPreferredSize(new Dimension(panelWidth, 0));
@@ -205,6 +200,6 @@ class OpponentInfoOverlay extends Overlay
panelComponent.getChildren().add(progressBarComponent);
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -34,15 +34,15 @@ import java.util.UUID;
import javax.inject.Inject;
import net.runelite.api.MenuAction;
import net.runelite.client.plugins.party.data.PartyData;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.ProgressBarComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
import net.runelite.client.ws.PartyService;
public class PartyStatsOverlay extends Overlay
public class PartyStatsOverlay extends OverlayPanel
{
private static final Color HP_FG = new Color(0, 146, 54, 230);
private static final Color HP_BG = new Color(102, 15, 16, 230);
@@ -52,7 +52,6 @@ public class PartyStatsOverlay extends Overlay
private final PartyPlugin plugin;
private final PartyService party;
private final PartyConfig config;
private final PanelComponent body = new PanelComponent();
@Inject
private PartyStatsOverlay(final PartyPlugin plugin, final PartyService party, final PartyConfig config)
@@ -61,8 +60,8 @@ public class PartyStatsOverlay extends Overlay
this.plugin = plugin;
this.party = party;
this.config = config;
body.setBorder(new Rectangle());
body.setGap(new Point(0, ComponentConstants.STANDARD_BORDER / 2));
panelComponent.setBorder(new Rectangle());
panelComponent.setGap(new Point(0, ComponentConstants.STANDARD_BORDER / 2));
getMenuEntries().add(new OverlayMenuEntry(MenuAction.RUNELITE_OVERLAY, "Leave", "Party"));
}
@@ -80,8 +79,7 @@ public class PartyStatsOverlay extends Overlay
return null;
}
body.getChildren().clear();
body.setBackgroundColor(null);
panelComponent.setBackgroundColor(null);
boolean only1 = plugin.getPartyDataMap().size() == 1;
@@ -93,7 +91,7 @@ public class PartyStatsOverlay extends Overlay
{
if (only1)
{
body.getChildren().add(TitleComponent.builder()
panelComponent.getChildren().add(TitleComponent.builder()
.text("No other party members")
.color(Color.RED)
.build());
@@ -134,10 +132,10 @@ public class PartyStatsOverlay extends Overlay
panel.getChildren().add(prayBar);
}
body.getChildren().add(panel);
panelComponent.getChildren().add(panel);
});
}
return body.render(graphics);
return super.render(graphics);
}
}

View File

@@ -37,20 +37,19 @@ import static net.runelite.api.MenuAction.RUNELITE_OVERLAY;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.client.game.WorldService;
import net.runelite.client.plugins.raids.solver.Room;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.ComponentConstants;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
import net.runelite.http.api.worlds.World;
import net.runelite.http.api.worlds.WorldRegion;
import net.runelite.http.api.worlds.WorldResult;
public class RaidsOverlay extends Overlay
public class RaidsOverlay extends OverlayPanel
{
private static final int OLM_PLANE = 0;
static final String BROADCAST_ACTION = "Broadcast layout";
@@ -59,7 +58,6 @@ public class RaidsOverlay extends Overlay
private Client client;
private RaidsPlugin plugin;
private RaidsConfig config;
private final PanelComponent panelComponent = new PanelComponent();
@Getter
@Setter
@@ -90,8 +88,6 @@ public class RaidsOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
if (plugin.getRaid() == null || plugin.getRaid().getLayout() == null)
{
panelComponent.getChildren().add(TitleComponent.builder()
@@ -99,7 +95,7 @@ public class RaidsOverlay extends Overlay
.color(Color.RED)
.build());
return panelComponent.render(graphics);
return super.render(graphics);
}
Color color = Color.WHITE;
@@ -206,6 +202,6 @@ public class RaidsOverlay extends Overlay
}
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -37,15 +37,14 @@ import static net.runelite.api.MenuAction.RUNELITE_OVERLAY;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Skill;
import net.runelite.client.plugins.xptracker.XpTrackerService;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
class SmeltingOverlay extends Overlay
class SmeltingOverlay extends OverlayPanel
{
private static final int SMELT_TIMEOUT = 7;
static final String SMELTING_RESET = "Reset";
@@ -54,8 +53,6 @@ class SmeltingOverlay extends Overlay
private final SmeltingPlugin plugin;
private final XpTrackerService xpTrackerService;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
SmeltingOverlay(Client client, SmeltingPlugin plugin, XpTrackerService xpTrackerService)
{
@@ -77,8 +74,6 @@ class SmeltingOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
if (isSmelting() || Duration.between(session.getLastItemSmelted(), Instant.now()).getSeconds() < SMELT_TIMEOUT)
{
panelComponent.getChildren().add(TitleComponent.builder()
@@ -120,7 +115,7 @@ class SmeltingOverlay extends Overlay
}
}
return panelComponent.render(graphics);
return super.render(graphics);
}

View File

@@ -31,18 +31,16 @@ import javax.inject.Inject;
import net.runelite.api.ItemID;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.ComponentOrientation;
import net.runelite.client.ui.overlay.components.ImageComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
public class TeamCapesOverlay extends Overlay
public class TeamCapesOverlay extends OverlayPanel
{
private final PanelComponent panelComponent = new PanelComponent();
private final TeamCapesPlugin plugin;
private final TeamCapesConfig config;
private final ItemManager manager;
@@ -70,8 +68,6 @@ public class TeamCapesOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
for (Map.Entry<Integer, Integer> team : teams.entrySet())
{
// Only display team capes that have a count greater than the configured minimum
@@ -97,6 +93,6 @@ public class TeamCapesOverlay extends Overlay
panelComponent.getChildren().add(new ImageComponent(manager.getImage(itemID, team.getValue(), true)));
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -30,18 +30,16 @@ import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.inject.Inject;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
class WintertodtOverlay extends Overlay
class WintertodtOverlay extends OverlayPanel
{
private final WintertodtPlugin plugin;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private WintertodtOverlay(WintertodtPlugin plugin)
@@ -60,9 +58,6 @@ class WintertodtOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
panelComponent.setPreferredSize(new Dimension(150, 0));
panelComponent.getChildren().add(TitleComponent.builder()
.text(plugin.getCurrentActivity().getActionString())
.color(plugin.getCurrentActivity() == WintertodtActivity.IDLE ? Color.RED : Color.GREEN)
@@ -84,6 +79,6 @@ class WintertodtOverlay extends Overlay
.rightColor(plugin.getNumKindling() + plugin.getNumLogs() > 0 ? Color.GREEN : Color.RED)
.build());
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -33,15 +33,14 @@ import static net.runelite.api.MenuAction.RUNELITE_OVERLAY;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Skill;
import net.runelite.client.plugins.xptracker.XpTrackerService;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
class WoodcuttingOverlay extends Overlay
class WoodcuttingOverlay extends OverlayPanel
{
static final String WOODCUTTING_RESET = "Reset";
@@ -49,7 +48,6 @@ class WoodcuttingOverlay extends Overlay
private final WoodcuttingPlugin plugin;
private final WoodcuttingConfig config;
private final XpTrackerService xpTrackerService;
private final PanelComponent panelComponent = new PanelComponent();
@Inject
private WoodcuttingOverlay(Client client, WoodcuttingPlugin plugin, WoodcuttingConfig config, XpTrackerService xpTrackerService)
@@ -78,8 +76,6 @@ class WoodcuttingOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
Axe axe = plugin.getAxe();
if (axe != null && axe.matchesChoppingAnimation(client.getLocalPlayer()))
{
@@ -113,7 +109,7 @@ class WoodcuttingOverlay extends Overlay
}
}
return panelComponent.render(graphics);
return super.render(graphics);
}
}

View File

@@ -33,11 +33,13 @@ import java.awt.image.BufferedImage;
import lombok.AccessLevel;
import lombok.Getter;
import net.runelite.api.Experience;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Skill;
import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.SkillColor;
import net.runelite.client.ui.overlay.Overlay;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.components.ComponentOrientation;
import net.runelite.client.ui.overlay.components.ImageComponent;
import net.runelite.client.ui.overlay.components.LineComponent;
@@ -45,18 +47,14 @@ import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.ProgressBarComponent;
import net.runelite.client.ui.overlay.components.SplitComponent;
import net.runelite.client.util.QuantityFormatter;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
class XpInfoBoxOverlay extends Overlay
class XpInfoBoxOverlay extends OverlayPanel
{
private static final int PANEL_PREFERRED_WIDTH = 150;
private static final int BORDER_SIZE = 2;
private static final int XP_AND_PROGRESS_BAR_GAP = 2;
private static final int XP_AND_ICON_GAP = 4;
private static final Rectangle XP_AND_ICON_COMPONENT_BORDER = new Rectangle(2, 1, 4, 0);
private final PanelComponent panel = new PanelComponent();
private final PanelComponent iconXpSplitPanel = new PanelComponent();
private final XpTrackerPlugin plugin;
private final XpTrackerConfig config;
@@ -76,19 +74,16 @@ class XpInfoBoxOverlay extends Overlay
this.config = config;
this.skill = skill;
this.icon = icon;
panel.setBorder(new Rectangle(BORDER_SIZE, BORDER_SIZE, BORDER_SIZE, BORDER_SIZE));
panel.setGap(new Point(0, XP_AND_PROGRESS_BAR_GAP));
panel.setPreferredSize(new Dimension(PANEL_PREFERRED_WIDTH, 0));
panelComponent.setBorder(new Rectangle(BORDER_SIZE, BORDER_SIZE, BORDER_SIZE, BORDER_SIZE));
panelComponent.setGap(new Point(0, XP_AND_PROGRESS_BAR_GAP));
iconXpSplitPanel.setBorder(XP_AND_ICON_COMPONENT_BORDER);
iconXpSplitPanel.setBackgroundColor(null);
iconXpSplitPanel.setPreferredSize(new Dimension(PANEL_PREFERRED_WIDTH, 0));
getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "XP Tracker overlay"));
}
@Override
public Dimension render(Graphics2D graphics)
{
panel.getChildren().clear();
iconXpSplitPanel.getChildren().clear();
//Setting the font to rs small font so that the overlay isn't huge
@@ -174,10 +169,10 @@ class XpInfoBoxOverlay extends Overlay
progressBarComponent.setValue(snapshot.getSkillProgressToGoal());
panel.getChildren().add(iconXpSplitPanel);
panel.getChildren().add(progressBarComponent);
panelComponent.getChildren().add(iconXpSplitPanel);
panelComponent.getChildren().add(progressBarComponent);
return panel.render(graphics);
return super.render(graphics);
}
@Override

View File

@@ -36,22 +36,20 @@ import javax.inject.Inject;
import javax.inject.Singleton;
import net.runelite.api.Client;
import net.runelite.client.config.RuneLiteConfig;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPanel;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.ComponentOrientation;
import net.runelite.client.ui.overlay.components.InfoBoxComponent;
import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.tooltip.Tooltip;
import net.runelite.client.ui.overlay.tooltip.TooltipManager;
@Singleton
public class InfoBoxOverlay extends Overlay
public class InfoBoxOverlay extends OverlayPanel
{
private static final int GAP = 1;
private static final int DEFAULT_WRAP_COUNT = 4;
private final PanelComponent panelComponent = new PanelComponent();
private final InfoBoxManager infoboxManager;
private final TooltipManager tooltipManager;
private final Client client;
@@ -69,6 +67,7 @@ public class InfoBoxOverlay extends Overlay
this.client = client;
this.config = config;
setPosition(OverlayPosition.TOP_LEFT);
setClearChildren(false);
panelComponent.setWrap(true);
panelComponent.setBackgroundColor(null);
@@ -86,8 +85,6 @@ public class InfoBoxOverlay extends Overlay
return null;
}
panelComponent.getChildren().clear();
// Set preferred size to the size of DEFAULT_WRAP_COUNT infoboxes, including the padding - which is applied
// to the last infobox prior to wrapping too.
panelComponent.setPreferredSize(new Dimension(DEFAULT_WRAP_COUNT * (config.infoBoxSize() + GAP), DEFAULT_WRAP_COUNT * (config.infoBoxSize() + GAP)));
@@ -117,7 +114,7 @@ public class InfoBoxOverlay extends Overlay
panelComponent.getChildren().add(infoBoxComponent);
}
final Dimension dimension = panelComponent.render(graphics);
final Dimension dimension = super.render(graphics);
// Handle tooltips
final Point mouse = new Point(client.getMouseCanvasPosition().getX(), client.getMouseCanvasPosition().getY());
@@ -142,6 +139,7 @@ public class InfoBoxOverlay extends Overlay
}
}
panelComponent.getChildren().clear();
return dimension;
}
}