package blusunrize.lib.manual.gui;
import blusunrize.lib.manual.ManualUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.renderer.OpenGlHelper;
import org.lwjgl.opengl.GL11;
public class GuiButtonManual extends GuiButton
{
public GuiManual gui;
public int[] colour = {0x33000000,0x33cb7f32};
public int[] textColour = {0xffe0e0e0,0xffffffa0};
public GuiButtonManual(GuiManual gui, int id, int x, int y, int w, int h, String text)
{
super(id, x, y, w, h, text);
this.gui = gui;
}
public GuiButtonManual setColour(int normal, int hovered)
{
colour = new int[]{normal,hovered};
return this;
}
public GuiButtonManual setTextColour(int normal, int hovered)
{
textColour = new int[]{normal,hovered};
return this;
}
@Override
public void drawButton(Minecraft mc, int mx, int my)
{
if (this.visible)
{
ManualUtils.bindTexture(gui.texture);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.hovered = mx>=this.xPosition&&mx<(this.xPosition+this.width) && my>=this.yPosition&&my<(this.yPosition+this.height);
GL11.glEnable(GL11.GL_BLEND);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
int col = colour[hovered?1:0];
this.drawGradientRect(xPosition,yPosition, xPosition+width,yPosition+height, col,col);
int txtCol = textColour[hovered?1:0];
boolean uni = gui.manual.fontRenderer.getUnicodeFlag();
gui.manual.fontRenderer.setUnicodeFlag(true);
int sw = gui.manual.fontRenderer.getStringWidth(displayString);
gui.manual.fontRenderer.drawString(displayString, xPosition+width/2-sw/2, yPosition+height/2-gui.manual.fontRenderer.FONT_HEIGHT/2, txtCol);
gui.manual.fontRenderer.setUnicodeFlag(uni);
this.mouseDragged(mc, mx, my);
}
}
}