package ttftcuts.physis.client.gui.button;
import org.lwjgl.opengl.GL11;
import ttftcuts.physis.client.gui.GuiJournal;
import ttftcuts.physis.common.helper.TextureHelper;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
public class GuiButtonJournal extends GuiButton {
private int textureX;
private int textureY;
private int colour = -1;
private int hovercolour = -1;
private int disabledcolour = -1;
public GuiButtonJournal(int id, int x, int y, int w, int h, int tx, int ty) {
super(id, x, y, w, h, "");
textureX = tx;
textureY = ty;
this.zLevel = 10.0f;
}
@Override
public void drawButton(Minecraft par1Minecraft, int mousex, int mousey) {
if (!this.visible) { return; }
boolean hover = mousex >= this.xPosition && mousey >= this.yPosition && mousex < this.xPosition + this.width && mousey < this.yPosition + this.height;
par1Minecraft.renderEngine.bindTexture(GuiJournal.bookTextureRight);
this.setColourFromHover(hover);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
drawTexturedModalRect(xPosition, yPosition, textureX, textureY, width, height);
}
protected void setColourFromHover(boolean hover) {
if (!this.enabled && this.disabledcolour != -1) {
GL11.glColor4f(
TextureHelper.red(disabledcolour)/255f,
TextureHelper.green(disabledcolour)/255f,
TextureHelper.blue(disabledcolour)/255f,
TextureHelper.alpha(disabledcolour)/255f
);
return;
}
if (hover) {
if (hovercolour != -1) {
GL11.glColor4f(
TextureHelper.red(hovercolour)/255f,
TextureHelper.green(hovercolour)/255f,
TextureHelper.blue(hovercolour)/255f,
TextureHelper.alpha(hovercolour)/255f
);
return;
}
} else {
if (colour != -1) {
GL11.glColor4f(
TextureHelper.red(colour)/255f,
TextureHelper.green(colour)/255f,
TextureHelper.blue(colour)/255f,
TextureHelper.alpha(colour)/255f
);
return;
}
}
GL11.glColor4f(1F, 1F, 1F, 1F);
}
public void setColours(int colour, int hovercolour) {
this.colour = colour;
this.hovercolour = hovercolour;
}
public void setColours(int colour, int hovercolour, int disabledcolour) {
this.colour = colour;
this.hovercolour = hovercolour;
this.disabledcolour = disabledcolour;
}
}