prayeralert: Fix overlaying other infoboxes and widgets (#1081)

This commit is contained in:
ThatGamerBlue
2019-07-22 17:29:23 +01:00
committed by Kyleeld
parent f1d568aff2
commit d4d722674a
2 changed files with 19 additions and 4 deletions

View File

@@ -32,8 +32,8 @@ import net.runelite.client.plugins.itemstats.stats.Stat;
import net.runelite.client.plugins.itemstats.stats.Stats;
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;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.ImageComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
@@ -52,7 +52,7 @@ class PrayerAlertOverlay extends Overlay
private PrayerAlertOverlay(final Client client, final PrayerAlertPlugin plugin, final ItemManager itemManager)
{
setPosition(OverlayPosition.TOP_RIGHT);
setLayer(OverlayLayer.ABOVE_WIDGETS);
setPriority(OverlayPriority.LOW);
this.client = client;
this.plugin = plugin;
this.itemManager = itemManager;
@@ -163,13 +163,15 @@ class PrayerAlertOverlay extends Overlay
private void prayerRestorePanel(PanelComponent panelComponent, Graphics2D graphics)
{
panelComponent.getChildren().add(new ImageComponent(itemManager.getImage(ItemID.PRAYER_POTION4)));
ImageComponent component = new ImageComponent(itemManager.getImage(ItemID.PRAYER_POTION4));
component.translate(2, 0);
panelComponent.getChildren().add(component);
panelComponent.getChildren().add(TitleComponent.builder()
.text("Drink")
.color(Color.RED)
.build());
panelComponent.setPreferredSize(new Dimension(
graphics.getFontMetrics().stringWidth("Drink") + 12, 0));
graphics.getFontMetrics().stringWidth("Drink") + 14, 0));
}
private void oldPrayerRestorePanel(Graphics2D graphics)

View File

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2018, Tomas Slusny <slusnucky@gmail.com>
* Copyright (c) 2019, ThatGamerBlue <thatgamerblue@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -44,6 +45,9 @@ public class ImageComponent implements LayoutableRenderableEntity
private Point preferredLocation = new Point();
private int xOffset = 0;
private int yOffset = 0;
@Override
public Dimension render(Graphics2D graphics)
{
@@ -52,6 +56,9 @@ public class ImageComponent implements LayoutableRenderableEntity
return null;
}
preferredLocation.x += xOffset;
preferredLocation.y += yOffset;
graphics.drawImage(image, preferredLocation.x, preferredLocation.y, null);
final Dimension dimension = new Dimension(image.getWidth(), image.getHeight());
bounds.setLocation(preferredLocation);
@@ -64,4 +71,10 @@ public class ImageComponent implements LayoutableRenderableEntity
{
// Just use image dimensions for now
}
public void translate(int x, int y)
{
xOffset = x;
yOffset = y;
}
}