diff options
author | Martin Robertz <dream-master@gmx.net> | 2020-05-10 16:06:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-10 16:06:29 +0200 |
commit | 87321491668b5b07801eaafb22390051c97fd9d8 (patch) | |
tree | 95107a6dac84a67dfea6aa49254efaa0f6d978d9 /src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java | |
parent | 92662137b00d39424b910846f63094a4c07e6589 (diff) | |
parent | ea1bf1b9b362f64b3c6d82c269ce9f66c82ee559 (diff) | |
download | GT5-Unofficial-87321491668b5b07801eaafb22390051c97fd9d8.tar.gz GT5-Unofficial-87321491668b5b07801eaafb22390051c97fd9d8.tar.bz2 GT5-Unofficial-87321491668b5b07801eaafb22390051c97fd9d8.zip |
Merge pull request #281 from moller21/coverguis2
Cover GUI's take 2
Diffstat (limited to 'src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java')
-rw-r--r-- | src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java new file mode 100644 index 0000000000..db7029d60f --- /dev/null +++ b/src/main/java/gregtech/api/gui/widgets/GT_GuiFakeItemButton.java @@ -0,0 +1,64 @@ +package gregtech.api.gui.widgets; + +import gregtech.api.interfaces.IGuiScreen; +import net.minecraft.client.Minecraft; +import net.minecraft.item.ItemStack; +import org.lwjgl.opengl.GL11; + +import java.awt.*; + +public class GT_GuiFakeItemButton implements IGuiScreen.IGuiElement { + + private final GT_GuiIcon bgIcon; + private ItemStack item; + private IGuiScreen gui; + private int x0, y0, xPosition, yPosition; + private int width, height; + + public GT_GuiFakeItemButton(IGuiScreen gui, int x, int y, GT_GuiIcon bgIcon) { + this.gui = gui; + this.x0 = x; + this.y0 = y; + this.bgIcon = bgIcon; + item = null; + width = 18; + height = 18; + gui.addElement(this); + } + + public GT_GuiFakeItemButton setItem(ItemStack i) { + item = i; + return this; + } + + public ItemStack getItem(){ + return item; + } + + @Override + public void onInit() { + xPosition = x0 + gui.getGuiLeft(); + yPosition = y0 + gui.getGuiTop(); + } + + @Override + public void draw(int mouseX, int mouseY, float parTicks) { + GL11.glColor4f(1, 1, 1, 1); + GL11.glPushAttrib(GL11.GL_ENABLE_BIT); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + + if (bgIcon != null){ + GT_GuiIcon.render(bgIcon, xPosition-1, yPosition-1, 18, 18,0,true); + } + + if (item != null) + gui.getItemRenderer().renderItemAndEffectIntoGUI(gui.getFontRenderer(), Minecraft.getMinecraft().getTextureManager(), item, xPosition, yPosition); + + GL11.glPopAttrib(); + } + + public Rectangle getBounds() { + return new Rectangle(x0, y0, width, height); + } +} |