GuiLabel now auto-breaks when text is longer than canvas
This commit is contained in:
@@ -71,9 +71,10 @@ public abstract class AbstractGuiScreen<T extends AbstractGuiScreen<T>> extends
|
||||
wrapped.drawDefaultBackground();
|
||||
}
|
||||
if (title != null) {
|
||||
int x = screenSize.getWidth() / 2 - title.getMinSize().getWidth() / 2;
|
||||
ReadableDimension titleSize = title.getMinSize();
|
||||
int x = screenSize.getWidth() / 2 - titleSize.getWidth() / 2;
|
||||
OffsetGuiRenderer eRenderer = new OffsetGuiRenderer(renderer, new Point(x, 10), new Dimension(0, 0));
|
||||
title.draw(eRenderer, null, null);
|
||||
title.draw(eRenderer, titleSize, null);
|
||||
}
|
||||
super.draw(renderer, size, renderInfo);
|
||||
|
||||
@@ -136,11 +137,6 @@ public abstract class AbstractGuiScreen<T extends AbstractGuiScreen<T>> extends
|
||||
return screenSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReadableDimension getPreferredSize() {
|
||||
return screenSize;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReadableDimension getMaxSize() {
|
||||
return screenSize;
|
||||
|
||||
@@ -32,6 +32,8 @@ import org.lwjgl.util.Dimension;
|
||||
import org.lwjgl.util.ReadableColor;
|
||||
import org.lwjgl.util.ReadableDimension;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractGuiLabel<T extends AbstractGuiLabel<T>> extends AbstractGuiElement<T> implements IGuiLabel<T> {
|
||||
@Getter
|
||||
private String text = "";
|
||||
@@ -48,7 +50,14 @@ public abstract class AbstractGuiLabel<T extends AbstractGuiLabel<T>> extends Ab
|
||||
|
||||
@Override
|
||||
public void draw(GuiRenderer renderer, ReadableDimension size, RenderInfo renderInfo) {
|
||||
renderer.drawString(0, 0, isEnabled() ? color : disabledColor, text);
|
||||
FontRenderer fontRenderer = getMinecraft().fontRendererObj;
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> lines = fontRenderer.listFormattedStringToWidth(text, size.getWidth());
|
||||
int y = 0;
|
||||
for (String line : lines) {
|
||||
renderer.drawString(0, y, isEnabled() ? color : disabledColor, line);
|
||||
y+=fontRenderer.FONT_HEIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user