GuiLabel now auto-breaks when text is longer than canvas

This commit is contained in:
johni0702
2015-07-11 15:17:36 +02:00
parent 117f383ec0
commit 824c80d0d2
2 changed files with 13 additions and 8 deletions

View File

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

View File

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