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

View File

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