@@ -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