diff options
| author | viciscat <51047087+viciscat@users.noreply.github.com> | 2024-09-09 13:48:33 +0200 |
|---|---|---|
| committer | viciscat <51047087+viciscat@users.noreply.github.com> | 2024-12-12 18:21:01 +0100 |
| commit | 46e2af6f5d378e0a172fba4b7b1302241bd1f0b2 (patch) | |
| tree | 742c341a840e8e5309b7c6a68325570239a22edd /src/main/java | |
| parent | abfcf1ecb93e769df8b4a2a2098e34652aa3a6d3 (diff) | |
| download | Skyblocker-46e2af6f5d378e0a172fba4b7b1302241bd1f0b2.tar.gz Skyblocker-46e2af6f5d378e0a172fba4b7b1302241bd1f0b2.tar.bz2 Skyblocker-46e2af6f5d378e0a172fba4b7b1302241bd1f0b2.zip | |
make coordinates easier to read in some situations
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewWidget.java | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewWidget.java index e16560ce..00354a4f 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/config/preview/PreviewWidget.java @@ -109,20 +109,20 @@ public class PreviewWidget extends ClickableWidget { PositionRule rule = screenBuilder.getPositionRule(selectedWidget.getInternalID()); if (rule != null) { - // TODO: rename that maybe that's a bit wack - int relativeX = 0; - int relativeY = 0; + // This is the difference between the position before dragging and the current position + int deltaX = 0; + int deltaY = 0; if (selectedOriginalPos != null) { - relativeX = selectedWidget.getX() - selectedOriginalPos.x(); - relativeY = selectedWidget.getY() - selectedOriginalPos.y(); + deltaX = selectedWidget.getX() - selectedOriginalPos.x(); + deltaY = selectedWidget.getY() - selectedOriginalPos.y(); } int thisAnchorX = (int) (selectedWidget.getX() + rule.thisPoint().horizontalPoint().getPercentage() * selectedWidget.getWidth()); int thisAnchorY = (int) (selectedWidget.getY() + rule.thisPoint().verticalPoint().getPercentage() * selectedWidget.getHeight()); - int translatedX = Math.min(thisAnchorX - rule.relativeX() - relativeX, (int) scaledScreenWidth - 2); - int translatedY = Math.min(thisAnchorY - rule.relativeY() - relativeY, (int) scaledScreenHeight - 2); + int translatedX = Math.min(thisAnchorX - rule.relativeX() - deltaX, (int) scaledScreenWidth - 2); + int translatedY = Math.min(thisAnchorY - rule.relativeY() - deltaY, (int) scaledScreenHeight - 2); - renderUnits(context, relativeX, rule, thisAnchorX, thisAnchorY, relativeY, translatedX, translatedY); + renderUnits(context, rule, deltaX, deltaY, thisAnchorX, thisAnchorY, translatedX, translatedY); context.drawHorizontalLine(translatedX, thisAnchorX, thisAnchorY + 1, 0xAAAA0000); context.drawVerticalLine(translatedX + 1, translatedY, thisAnchorY, 0xAAAA0000); @@ -142,21 +142,29 @@ public class PreviewWidget extends ClickableWidget { context.disableScissor(); } - private void renderUnits(DrawContext context, int relativeX, PositionRule rule, int thisAnchorX, int thisAnchorY, int relativeY, int translatedX, int translatedY) { + private void renderUnits(DrawContext context, PositionRule rule, int deltaX, int deltaY, int thisAnchorX, int thisAnchorY, int translatedX, int translatedY) { boolean xUnitOnTop = rule.relativeY() > 0; if (xUnitOnTop && thisAnchorY < 10) xUnitOnTop = false; if (!xUnitOnTop && thisAnchorY > scaledScreenHeight - 10) xUnitOnTop = true; - String yUnitText = String.valueOf(rule.relativeY() + relativeY); + int xUnit = rule.relativeX() + deltaX; + int yUnit = rule.relativeY() + deltaY; + String xUnitText = String.valueOf(xUnit); + String yUnitText = String.valueOf(yUnit); int yUnitTextWidth = tab.client.textRenderer.getWidth(yUnitText); boolean yUnitOnRight = rule.relativeX() > 0; if (yUnitOnRight && translatedX + 2 + yUnitTextWidth >= scaledScreenWidth) yUnitOnRight = false; if (!yUnitOnRight && translatedX - 2 - yUnitTextWidth <= 0) yUnitOnRight = true; + if (Math.abs(xUnit) < 15 || Math.abs(yUnit) < 15) { + String text = "x: " + xUnitText + " y: " + yUnitText; + int textX = thisAnchorX < scaledScreenWidth / 2 ? (int) (scaledScreenWidth - tab.client.textRenderer.getWidth(text) - 5) : 5; + context.drawTextWithShadow(tab.client.textRenderer, text, textX, 2, Colors.RED); + } // X - context.drawCenteredTextWithShadow(tab.client.textRenderer, String.valueOf(relativeX + rule.relativeX()), thisAnchorX - (relativeX + rule.relativeX()) / 2, xUnitOnTop ? thisAnchorY - 9 : thisAnchorY + 2, Colors.LIGHT_RED); + context.drawCenteredTextWithShadow(tab.client.textRenderer, xUnitText, thisAnchorX - (xUnit) / 2, xUnitOnTop ? thisAnchorY - 9 : thisAnchorY + 2, Colors.LIGHT_RED); // Y - context.drawText(tab.client.textRenderer, yUnitText, yUnitOnRight ? translatedX + 2 : translatedX - 1 - yUnitTextWidth, thisAnchorY - (relativeY + rule.relativeY() - 9) / 2, Colors.LIGHT_RED, true); + context.drawText(tab.client.textRenderer, yUnitText, yUnitOnRight ? translatedX + 2 : translatedX - 1 - yUnitTextWidth, thisAnchorY - (yUnit - 9) / 2, Colors.LIGHT_RED, true); } @Override |
