package codechicken.nei;
import codechicken.nei.guihook.GuiContainerManager;
import static codechicken.lib.gui.GuiDraw.*;
import static codechicken.nei.LayoutManager.*;
public class LayoutStyleTMIOld extends LayoutStyleDefault {
public static final Image stateOff = new Image(48, 0, 8, 12);
public static final Image stateOn = new Image(56, 0, 8, 12);
public static final Image stateDisabled = new Image(64, 0, 8, 12);
int stateButtonCount;
int clickButtonCount;
@Override
public String getName() {
return "oldtmi";
}
@Override
public void init() {
delete.icon = new Image(24, 12, 12, 12);
gamemode.icons[0] = new Image(12, 12, 12, 12);
gamemode.icons[1] = new Image(36, 12, 12, 12);
gamemode.icons[2] = new Image(48, 12, 12, 12);
rain.icon = new Image(0, 12, 12, 12);
magnet.icon = new Image(60, 24, 12, 12);
timeButtons[0].icon = new Image(12, 24, 12, 12);
timeButtons[1].icon = new Image(0, 24, 12, 12);
timeButtons[2].icon = new Image(24, 24, 12, 12);
timeButtons[3].icon = new Image(36, 24, 12, 12);
heal.icon = new Image(48, 24, 12, 12);
dropDown.x = 93;
}
@Override
public void reset() {
stateButtonCount = clickButtonCount = 0;
}
@Override
public void layoutButton(Button button) {
int offsetx = 2;
int offsety = 2;
if ((button.state & 0x4) != 0) {
button.x = offsetx + stateButtonCount * 22;
button.y = offsety;
stateButtonCount++;
} else {
button.x = offsetx + (clickButtonCount % 4) * 22;
button.y = offsety + (1 + clickButtonCount / 4) * 17;
clickButtonCount++;
}
button.h = 14;
button.w = button.contentWidth() + 2;
if ((button.state & 0x4) != 0) {
button.w += stateOff.width;
}
}
@Override
public void drawBackground(GuiContainerManager gui) {
if (clickButtonCount == 0 && stateButtonCount == 0) {
return;
}
int maxx = Math.max(stateButtonCount, clickButtonCount);
if (maxx > 4) {
maxx = 4;
}
int maxy = clickButtonCount == 0 ? 1 : (clickButtonCount / 4 + 2);
drawRect(0, 0, 2 + 22 * maxx, 1 + maxy * 17, 0xFF000000);
}
@Override
public void drawButton(Button b, int mousex, int mousey) {
int cwidth = b.contentWidth();
if ((b.state & 0x4) != 0) {
cwidth += stateOff.width;
}
int textx = b.x + (b.w - cwidth) / 2;
int texty = b.y + (b.h - 8) / 2;
drawRect(b.x, b.y, b.w, b.h, b.contains(mousex, mousey) ? 0xee401008 : 0xee000000);
Image icon = b.getRenderIcon();
if (icon == null) {
drawString(b.getRenderLabel(), textx, texty, -1);
} else {
int icony = b.y + (b.h - icon.height) / 2;
LayoutManager.drawIcon(textx, icony, icon);
if ((b.state & 0x3) == 2) {
drawRect(textx, icony, icon.width, icon.height, 0x80000000);
}
if ((b.state & 0x4) != 0) {
Image stateimage;
if ((b.state & 0x3) == 1) {
stateimage = stateOn;
} else if ((b.state & 0x3) == 2) {
stateimage = stateDisabled;
} else {
stateimage = stateOff;
}
LayoutManager.drawIcon(textx + icon.width, icony, stateimage);
}
}
}
@Override
public void drawSubsetTag(String text, int x, int y, int w, int h, int state, boolean mouseover) {
drawRect(x, y, w, h, mouseover ? 0xFF401008 : 0xFF000000);
if (text != null) {
int colour = -1;
if (state == 0) {
colour = 0xFF601010;
} else if (state == 1) {
colour = 0xFF807070;
}
drawStringC(text, x, y, w, h, colour, state == 0);
}
}
}