package net.blay09.mods.eirairc.client.gui.screenshot; import net.blay09.mods.eirairc.client.graphics.TextureRegion; import net.blay09.mods.eirairc.client.gui.EiraGui; import net.blay09.mods.eirairc.util.Globals; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import org.lwjgl.opengl.GL11; public abstract class GuiScreenshotPage extends GuiButton { private final TextureRegion regionContent; private final TextureRegion regionRight; private boolean active; public GuiScreenshotPage(int id, int x, int y, String displayString) { super(id, x, y, displayString); regionContent = EiraGui.atlas.findRegion("tab_bg_content"); regionRight = EiraGui.atlas.findRegion("tab_bg_topright"); width = Minecraft.getMinecraft().fontRendererObj.getStringWidth(displayString) + regionRight.getRegionWidth(); height = regionContent.getRegionHeight(); } public abstract void onClick(); @Override public boolean mousePressed(Minecraft mc, int mouseX, int mouseY) { if(enabled && visible && mouseX >= xPosition && mouseX < xPosition + width - 8 && mouseY >= yPosition && mouseY < yPosition + height) { onClick(); } return false; } @Override public void drawButton(Minecraft mc, int mouseX, int mouseY) { boolean hovered = false; if(mouseX >= xPosition && mouseX < xPosition + width - 8 && mouseY >= yPosition && mouseY < yPosition + height) { hovered = true; } if(active) { GL11.glColor4f(1f, 1f, 1f, 1f); } else { GL11.glColor4f(0f, 0f, 0f, 1f); } GL11.glEnable(GL11.GL_BLEND); regionContent.draw(xPosition, yPosition, width - regionRight.getRegionWidth(), regionContent.getRegionHeight()); regionRight.draw(xPosition + width - regionRight.getRegionWidth(), yPosition); GL11.glDisable(GL11.GL_BLEND); drawString(mc.fontRendererObj, displayString, xPosition + regionRight.getRegionWidth() / 2, yPosition + (height - 8) / 2, hovered ? -12345678 : Globals.TEXT_COLOR); } public boolean isActive() { return active; } public void setActive(boolean active) { this.active = active; } }