Skip to content

Commit d4c5c9f

Browse files
committed
fix KeyboardHud text scaling and centering
1 parent cc09cb8 commit d4c5c9f

1 file changed

Lines changed: 14 additions & 21 deletions

File tree

  • src/main/java/meteordevelopment/meteorclient/systems/hud/elements/keyboard

src/main/java/meteordevelopment/meteorclient/systems/hud/elements/keyboard/KeyboardHud.java

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -601,35 +601,28 @@ public void render(HudRenderer renderer) {
601601
Color txtColor = getColor(textColor.get(), mutableColor);
602602

603603
double padding = 2 * s;
604-
double availableWidth = kW - padding * 2;
605-
double availableHeight = kH - padding * 2;
606-
double tH = renderer.textHeight();
604+
double availableWidth = kW - padding * 1;
607605

608606
if (!key.showCps) {
609-
double textWidth = renderer.textWidth(text);
610-
double widthScale = textWidth > availableWidth ? availableWidth / textWidth : 1.0;
611-
double heightScale = tH > availableHeight * 0.6 ? (availableHeight * 0.6) / tH : 1.0;
612-
double textScale = Math.min(widthScale, heightScale);
613-
614-
double yText = kY + (kH - tH * textScale) / 2;
607+
double textScale = Math.min(1.0, availableWidth / renderer.textWidth(text, 1.0));
608+
double textWidth = renderer.textWidth(text, textScale);
609+
double yText = kY + (kH - renderer.textHeight(false, textScale)) / 2;
615610
drawTextLine(renderer, text, textWidth, kX, yText, kW, textScale, txtColor);
616611
} else {
617-
double topWidth = renderer.textWidth(text);
618-
double topWidthScale = topWidth > availableWidth ? availableWidth / topWidth : 1.0;
619-
double topHeightScale = tH > availableHeight * 0.4 ? (availableHeight * 0.4) / tH : 1.0;
620-
double topScale = Math.min(topWidthScale, topHeightScale);
612+
double topScale = Math.min(1.0, availableWidth / renderer.textWidth(text, 1.0));
613+
double topWidth = renderer.textWidth(text, topScale);
614+
double topHeight = renderer.textHeight(false, topScale);
621615

622616
String cpsText = key.getCps() + " CPS";
623-
double botWidth = renderer.textWidth(cpsText);
624-
double botWidthScale = botWidth > availableWidth ? availableWidth / botWidth : 1.0;
625-
double botHeightScale = tH > availableHeight * 0.4 ? (availableHeight * 0.4) / tH : 1.0;
626-
double botScale = Math.min(botWidthScale, botHeightScale);
617+
double botScale = Math.min(1.0, availableWidth / renderer.textWidth(cpsText, 1.0));
618+
double botWidth = renderer.textWidth(cpsText, botScale);
619+
double botHeight = renderer.textHeight(false, botScale);
627620

628-
double totalHeight = (tH * topScale) + (tH * botScale);
621+
double totalHeight = topHeight + botHeight;
629622
double startY = kY + (kH - totalHeight) / 2;
630623

631624
drawTextLine(renderer, text, topWidth, kX, startY, kW, topScale, txtColor);
632-
drawTextLine(renderer, cpsText, botWidth, kX, startY + tH * topScale, kW, botScale, txtColor);
625+
drawTextLine(renderer, cpsText, botWidth, kX, startY + topHeight, kW, botScale, txtColor);
633626
}
634627
}
635628
}
@@ -638,11 +631,11 @@ private void drawTextLine(HudRenderer renderer, String text, double textWidth, d
638631
double s = scale.get();
639632
double padding = 2 * s;
640633

641-
double xText = x + (w - textWidth * textScale) / 2;
634+
double xText = x + (w - textWidth) / 2;
642635
if (alignment.get() == Alignment.Left)
643636
xText = x + padding;
644637
else if (alignment.get() == Alignment.Right)
645-
xText = x + w - padding - textWidth * textScale;
638+
xText = x + w - padding - textWidth;
646639

647640
renderer.text(text, xText, y, color, false, textScale);
648641
}

0 commit comments

Comments
 (0)