package net.blay09.mods.eirairc.client.gui.base;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
public class GuiLabel extends Gui {
private static final int LINE_SPACING = 3;
private final Minecraft mc;
public int posX;
public int posY;
private final String[] lines;
private final int color;
private HAlignment hAlign = HAlignment.Left;
private int alignWidth;
public enum HAlignment {
Left,
Center,
Right
}
public GuiLabel(String text, int posX, int posY, int color) {
this.mc = Minecraft.getMinecraft();
this.lines = text.split("(\r\n|\\\\n|\n)");
this.posX = posX;
this.posY = posY;
this.color = color;
}
public void setHAlignment(HAlignment hAlign, int alignWidth) {
this.hAlign = hAlign;
this.alignWidth = alignWidth;
}
public int getHeight() {
return lines.length * (mc.fontRendererObj.FONT_HEIGHT + LINE_SPACING);
}
public void drawLabel() {
for(int i = 0; i < lines.length; i++) {
int textWidth = mc.fontRendererObj.getStringWidth(lines[i]);
int offX = 0;
switch(hAlign) {
case Left: offX = 0; break;
case Center: offX = alignWidth / 2 - textWidth / 2; break;
case Right: offX = alignWidth - textWidth; break;
}
drawString(mc.fontRendererObj, lines[i], posX + offX, posY + i * (mc.fontRendererObj.FONT_HEIGHT + LINE_SPACING), color);
}
}
}