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; } }