Use new LayoutableRenderableEntity#getBounds in InfoboxOverlay
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -44,15 +44,11 @@ public class InfoBoxComponent implements LayoutableRenderableEntity
|
|||||||
@Getter
|
@Getter
|
||||||
private String tooltip;
|
private String tooltip;
|
||||||
|
|
||||||
@Getter
|
|
||||||
private Point preferredLocation = new Point();
|
|
||||||
|
|
||||||
@Setter
|
|
||||||
private Dimension preferredSize = new Dimension(DEFAULT_SIZE, DEFAULT_SIZE);
|
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final Rectangle bounds = new Rectangle();
|
private final Rectangle bounds = new Rectangle();
|
||||||
|
|
||||||
|
private Point preferredLocation = new Point();
|
||||||
|
private Dimension preferredSize = new Dimension(DEFAULT_SIZE, DEFAULT_SIZE);
|
||||||
private String text;
|
private String text;
|
||||||
private Color color = Color.WHITE;
|
private Color color = Color.WHITE;
|
||||||
private Color backgroundColor = ComponentConstants.STANDARD_BACKGROUND_COLOR;
|
private Color backgroundColor = ComponentConstants.STANDARD_BACKGROUND_COLOR;
|
||||||
@@ -100,11 +96,6 @@ public class InfoBoxComponent implements LayoutableRenderableEntity
|
|||||||
return bounds.getSize();
|
return bounds.getSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Dimension getPreferredSize()
|
|
||||||
{
|
|
||||||
return new Dimension(getSize(), getSize());
|
|
||||||
}
|
|
||||||
|
|
||||||
private int getSize()
|
private int getSize()
|
||||||
{
|
{
|
||||||
return Math.max(preferredSize.width, preferredSize.height);
|
return Math.max(preferredSize.width, preferredSize.height);
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ import net.runelite.api.Client;
|
|||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.ui.overlay.Overlay;
|
import net.runelite.client.ui.overlay.Overlay;
|
||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
|
||||||
import net.runelite.client.ui.overlay.components.InfoBoxComponent;
|
import net.runelite.client.ui.overlay.components.InfoBoxComponent;
|
||||||
import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity;
|
import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity;
|
||||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||||
@@ -116,15 +115,10 @@ public class InfoBoxOverlay extends Overlay
|
|||||||
|
|
||||||
if (!Strings.isNullOrEmpty(component.getTooltip()))
|
if (!Strings.isNullOrEmpty(component.getTooltip()))
|
||||||
{
|
{
|
||||||
final Rectangle intersectionRectangle = new Rectangle(component.getPreferredLocation(), component.getPreferredSize());
|
// Create intersection rectangle
|
||||||
|
final Rectangle intersectionRectangle = new Rectangle(component.getBounds());
|
||||||
// Move the intersection based on overlay position
|
|
||||||
intersectionRectangle.translate(getBounds().x, getBounds().y);
|
intersectionRectangle.translate(getBounds().x, getBounds().y);
|
||||||
|
|
||||||
// Move the intersection based on overlay "orientation"
|
|
||||||
final Point transformed = OverlayUtil.transformPosition(getPosition(), intersectionRectangle.getSize());
|
|
||||||
intersectionRectangle.translate(transformed.x, transformed.y);
|
|
||||||
|
|
||||||
if (intersectionRectangle.contains(mouse))
|
if (intersectionRectangle.contains(mouse))
|
||||||
{
|
{
|
||||||
tooltipManager.add(new Tooltip(component.getTooltip()));
|
tooltipManager.add(new Tooltip(component.getTooltip()));
|
||||||
|
|||||||
Reference in New Issue
Block a user