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();
|
wrapped.drawDefaultBackground();
|
||||||
}
|
}
|
||||||
if (title != null) {
|
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));
|
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);
|
super.draw(renderer, size, renderInfo);
|
||||||
|
|
||||||
@@ -136,11 +137,6 @@ public abstract class AbstractGuiScreen<T extends AbstractGuiScreen<T>> extends
|
|||||||
return screenSize;
|
return screenSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ReadableDimension getPreferredSize() {
|
|
||||||
return screenSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReadableDimension getMaxSize() {
|
public ReadableDimension getMaxSize() {
|
||||||
return screenSize;
|
return screenSize;
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ import org.lwjgl.util.Dimension;
|
|||||||
import org.lwjgl.util.ReadableColor;
|
import org.lwjgl.util.ReadableColor;
|
||||||
import org.lwjgl.util.ReadableDimension;
|
import org.lwjgl.util.ReadableDimension;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public abstract class AbstractGuiLabel<T extends AbstractGuiLabel<T>> extends AbstractGuiElement<T> implements IGuiLabel<T> {
|
public abstract class AbstractGuiLabel<T extends AbstractGuiLabel<T>> extends AbstractGuiElement<T> implements IGuiLabel<T> {
|
||||||
@Getter
|
@Getter
|
||||||
private String text = "";
|
private String text = "";
|
||||||
@@ -48,7 +50,14 @@ public abstract class AbstractGuiLabel<T extends AbstractGuiLabel<T>> extends Ab
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(GuiRenderer renderer, ReadableDimension size, RenderInfo renderInfo) {
|
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
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user