67 lines
1.5 KiB
Java
67 lines
1.5 KiB
Java
package speiger.src.coreengine.rendering.gui.components;
|
|
|
|
import speiger.src.coreengine.math.misc.ColorUtils;
|
|
import speiger.src.coreengine.rendering.gui.GuiComponent;
|
|
import speiger.src.coreengine.rendering.gui.base.IButtonComponent;
|
|
import speiger.src.coreengine.rendering.gui.components.icon.IIcon;
|
|
|
|
public class IconButtonComponent extends GuiComponent implements IButtonComponent
|
|
{
|
|
IIcon icon;
|
|
int hoverColor;
|
|
|
|
public IconButtonComponent(int hoverColor, IIcon icon)
|
|
{
|
|
super(0F, 0F, 0F, 0F);
|
|
this.icon = icon;
|
|
this.hoverColor = hoverColor;
|
|
setFlag(FLAG_SUPPORT_BINDING);
|
|
}
|
|
|
|
public IconButtonComponent(float x, float y, float width, float height, int hoverColor, IIcon icon)
|
|
{
|
|
super(x, y, width, height);
|
|
this.icon = icon;
|
|
this.hoverColor = hoverColor;
|
|
setFlag(FLAG_SUPPORT_BINDING);
|
|
}
|
|
|
|
@Override
|
|
public void init()
|
|
{
|
|
|
|
}
|
|
|
|
@Override
|
|
protected boolean renderSelf(int mouseX, int mouseY, float particalTicks)
|
|
{
|
|
if(isTopHovered(mouseX, mouseY) && ColorUtils.getAF(hoverColor) > 0)
|
|
{
|
|
getRenderer().drawQuad(getBox(), hoverColor);
|
|
}
|
|
getRenderer().translate(0F, 0F, 0.001F);
|
|
icon.render(getRenderer(), getBox());
|
|
getRenderer().translate(0F, 0F, -0.001F);
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean onClick(int button, int mouseX, int mouseY)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void onRelease(int button, int mouseX, int mouseY)
|
|
{
|
|
notifyListeners(LISTENER_USER_ACTION);
|
|
}
|
|
|
|
@Override
|
|
protected boolean onUserKey()
|
|
{
|
|
notifyListeners(LISTENER_USER_ACTION);
|
|
return true;
|
|
}
|
|
}
|