overlay renderer: use viewport bounds for snap corner offsets

The rendered x/y position of the viewport layer is the same as the viewport offsets. This also no longer assumes the x/y offets are the same, even though in practice they always are.
This commit is contained in:
Adam
2020-12-14 20:49:48 -05:00
parent 38b3d3a904
commit 61a36f106f

View File

@@ -99,7 +99,6 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
// Overlay state validation // Overlay state validation
private Rectangle viewportBounds; private Rectangle viewportBounds;
private Rectangle chatboxBounds; private Rectangle chatboxBounds;
private int viewportOffset;
private boolean chatboxHidden; private boolean chatboxHidden;
private boolean isResizeable; private boolean isResizeable;
private OverlayBounds snapCorners; private OverlayBounds snapCorners;
@@ -804,14 +803,6 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
changed = true; changed = true;
} }
final boolean viewportOffsetChanged = client.getViewportXOffset() != viewportOffset;
if (viewportOffsetChanged)
{
viewportOffset = client.getViewportXOffset();
changed = true;
}
return changed; return changed;
} }
@@ -834,21 +825,21 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
private OverlayBounds buildSnapCorners() private OverlayBounds buildSnapCorners()
{ {
final Point topLeftPoint = new Point( final Point topLeftPoint = new Point(
viewportOffset + BORDER, viewportBounds.x + BORDER,
viewportOffset + BORDER_TOP); viewportBounds.y + BORDER_TOP);
final Point topCenterPoint = new Point( final Point topCenterPoint = new Point(
viewportOffset + viewportBounds.width / 2, viewportBounds.x + viewportBounds.width / 2,
viewportOffset + BORDER viewportBounds.y + BORDER
); );
final Point topRightPoint = new Point( final Point topRightPoint = new Point(
viewportOffset + viewportBounds.width - BORDER, viewportBounds.x + viewportBounds.width - BORDER,
topCenterPoint.y); topCenterPoint.y);
final Point bottomLeftPoint = new Point( final Point bottomLeftPoint = new Point(
topLeftPoint.x, topLeftPoint.x,
viewportOffset + viewportBounds.height - BORDER); viewportBounds.y + viewportBounds.height - BORDER);
final Point bottomRightPoint = new Point( final Point bottomRightPoint = new Point(
topRightPoint.x, topRightPoint.x,
@@ -861,7 +852,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
} }
final Point rightChatboxPoint = isResizeable ? new Point( final Point rightChatboxPoint = isResizeable ? new Point(
viewportOffset + chatboxBounds.width - BORDER, viewportBounds.x + chatboxBounds.width - BORDER,
bottomLeftPoint.y) : bottomRightPoint; bottomLeftPoint.y) : bottomRightPoint;
final Point canvasTopRightPoint = isResizeable ? new Point( final Point canvasTopRightPoint = isResizeable ? new Point(