Java tutorial
/** * Copyright (c) Lambda Innovation, 2013-2015 * ??Lambda Innovation * http://www.li-dev.cn/ * * This project is open-source, and it is distributed under * the terms of GNU General Public License. You can modify * and distribute freely as long as you follow the license. * ??GNU??? * ???? * http://www.gnu.org/licenses/gpl.html */ package cn.liutils.cgui.gui.component; import org.lwjgl.opengl.GL11; import cn.liutils.cgui.gui.Widget; import cn.liutils.cgui.gui.event.FrameEvent; import cn.liutils.cgui.gui.event.FrameEvent.FrameEventHandler; import cn.liutils.util.client.HudUtils; import cn.liutils.util.helper.Color; /** * @author WeAthFolD */ public class Tint extends Component { public Color idleColor = new Color(1, 1, 1, 0), hoverColor = new Color(1, 1, 1, 0.4); public boolean affectTexture = false; public static Tint get(Widget w) { return w.getComponent("Tint"); } public Tint() { super("Tint"); addEventHandler(new FrameEventHandler() { @Override public void handleEvent(Widget w, FrameEvent event) { if (affectTexture) { DrawTexture dt = DrawTexture.get(w); if (dt != null) { dt.color = event.hovering ? hoverColor : idleColor; } } else { if (event.hovering) hoverColor.bind(); else idleColor.bind(); GL11.glDisable(GL11.GL_ALPHA_TEST); HudUtils.colorRect(0, 0, w.transform.width, w.transform.height); //GL11.glEnable(GL11.GL_ALPHA_TEST); } } }); } }