diff --git a/src/main/java/de/extio/game_engine/renderer/g2d/bo/rendering/G2DDrawFont.java b/src/main/java/de/extio/game_engine/renderer/g2d/bo/rendering/G2DDrawFont.java index 0ee6892..159cec8 100644 --- a/src/main/java/de/extio/game_engine/renderer/g2d/bo/rendering/G2DDrawFont.java +++ b/src/main/java/de/extio/game_engine/renderer/g2d/bo/rendering/G2DDrawFont.java @@ -22,6 +22,7 @@ import de.extio.game_engine.spatial2.SpatialUtils2; import de.extio.game_engine.spatial2.model.Area2; import de.extio.game_engine.spatial2.model.CoordI2; import de.extio.game_engine.spatial2.model.ImmutableCoordI2; +import de.extio.game_engine.spatial2.model.MutableCoordD2; import de.extio.game_engine.spatial2.model.MutableCoordI2; @Conditional(G2DRendererCondition.class) @@ -122,20 +123,20 @@ public class G2DDrawFont extends G2DAbstractRenderingBo implements DrawFontRende final var line = lines[i]; final var yOffset = this.y + i * lineHeight; + final var textDimScaled = ImmutableCoordI2.create((int)(lineDims[i].getX() * scaleFactor), (int)(lineDims[i].getY() * scaleFactor)); switch (this.alignment) { - case LEFT: - renderSingleLine(graphics, null, scaleFactor, this.x, yOffset, this.size, line); + case LEFT: { + renderSingleLine(graphics, textDimScaled, scaleFactor, this.x, yOffset, this.size, line); break; + } case CENTER: { - final var textDim = lineDims[i]; - renderSingleLine(graphics, textDim, scaleFactor, (this.width - textDim.getX()) / 2 + this.x, yOffset, this.size, line); + renderSingleLine(graphics, textDimScaled, scaleFactor, (this.width - lineDims[i].getX()) / 2 + this.x, yOffset, this.size, line); break; } case RIGHT: { - final var textDim = lineDims[i]; - renderSingleLine(graphics, textDim, scaleFactor, this.width - textDim.getX() + this.x, yOffset, this.size, line); + renderSingleLine(graphics, textDimScaled, scaleFactor, this.width - lineDims[i].getX() + this.x, yOffset, this.size, line); break; } diff --git a/src/test/java/de/extio/game_engine/demo/DemoModule.java b/src/test/java/de/extio/game_engine/demo/DemoModule.java index 15e7f5c..4d9a339 100644 --- a/src/test/java/de/extio/game_engine/demo/DemoModule.java +++ b/src/test/java/de/extio/game_engine/demo/DemoModule.java @@ -490,14 +490,14 @@ public class DemoModule extends AbstractClientModule { .setCustomData2(HorizontalAlignment.LEFT) .setVisible(true) .setEnabled(true) - .withDimensionAbsolute(150, 60) + .withDimensionAbsolute(100, 60) .withPositionRelative(1, y + 2); this.scrollArea.putRenderingBo(bo); bo = this.renderingBoPool.acquire("DemoModule_ScrollAreaWindow_Text_" + i, DrawFontRenderingBo.class) .setText(String.valueOf(i)) .setSize(28) - .setAlignment(HorizontalAlignment.CENTER) + .setAlignment(HorizontalAlignment.RIGHT) .withDimensionAbsolute(50, 60) .setLayer(RenderingBoLayer.UI0) .withPositionRelative(100, y + 22);