Search in sources :

Example 1 with Widget

use of mods.railcraft.common.gui.widgets.Widget in project Railcraft by Railcraft.

the class GuiContainerRailcraft method mouseClicked.

@Override
protected void mouseClicked(int mouseX, int mouseY, int button) throws IOException {
    int mX = mouseX - guiLeft;
    int mY = mouseY - guiTop;
    for (Widget element : container.getWidgets()) {
        if (element.hidden)
            continue;
        if (!element.isMouseOver(mX, mY))
            continue;
        if (element.mouseClicked(mX, mY, button))
            return;
    }
    super.mouseClicked(mouseX, mouseY, button);
}
Also used : Widget(mods.railcraft.common.gui.widgets.Widget)

Example 2 with Widget

use of mods.railcraft.common.gui.widgets.Widget in project Railcraft by Railcraft.

the class GuiContainerRailcraft method drawScreen.

/**
 * Draws the screen and all the components in it.
 */
@Override
public void drawScreen(int mouseX, int mouseY, float par3) {
    drawDefaultBackground();
    super.drawScreen(mouseX, mouseY, par3);
    int left = guiLeft;
    int top = guiTop;
    OpenGL.glDisable(GL11.GL_LIGHTING);
    OpenGL.glDisable(GL11.GL_DEPTH_TEST);
    OpenGL.glPushMatrix();
    OpenGL.glTranslatef((float) left, (float) top, 0.0F);
    OpenGL.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    RenderHelper.disableStandardItemLighting();
    InventoryPlayer playerInv = mc.player.inventory;
    if (playerInv.getItemStack().isEmpty()) {
        int mX = mouseX - left;
        int mY = mouseY - top;
        for (Widget element : container.getWidgets()) {
            if (element.hidden)
                continue;
            ToolTip tips = element.getToolTip();
            if (tips == null)
                continue;
            boolean mouseOver = element.isMouseOver(mX, mY);
            tips.onTick(mouseOver);
            if (mouseOver && tips.isReady()) {
                tips.refresh();
                drawToolTips(tips, mouseX, mouseY);
            }
        }
        for (GuiButton button : buttonList) {
            if (!(button instanceof GuiBetterButton))
                continue;
            GuiBetterButton<?> betterButton = (GuiBetterButton<?>) button;
            if (!betterButton.visible)
                continue;
            ToolTip tips = betterButton.getToolTip();
            if (tips == null)
                continue;
            boolean mouseOver = betterButton.isMouseOverButton(mouseX, mouseY);
            tips.onTick(mouseOver);
            if (mouseOver && tips.isReady()) {
                tips.refresh();
                drawToolTips(tips, mouseX, mouseY);
            }
        }
        for (Object obj : inventorySlots.inventorySlots) {
            if (!(obj instanceof SlotRailcraft))
                continue;
            SlotRailcraft slot = (SlotRailcraft) obj;
            if (!slot.getStack().isEmpty())
                continue;
            ToolTip tips = slot.getToolTip();
            if (tips == null)
                continue;
            boolean mouseOver = isMouseOverSlot(slot, mouseX, mouseY);
            tips.onTick(mouseOver);
            if (mouseOver && tips.isReady()) {
                tips.refresh();
                drawToolTips(tips, mouseX, mouseY);
            }
        }
    }
    OpenGL.glPopMatrix();
    OpenGL.glEnable(GL11.GL_LIGHTING);
    OpenGL.glEnable(GL11.GL_DEPTH_TEST);
    renderHoveredToolTip(mouseX, mouseY);
}
Also used : ToolTip(mods.railcraft.common.gui.tooltips.ToolTip) InventoryPlayer(net.minecraft.entity.player.InventoryPlayer) GuiButton(net.minecraft.client.gui.GuiButton) GuiBetterButton(mods.railcraft.client.gui.buttons.GuiBetterButton) Widget(mods.railcraft.common.gui.widgets.Widget) SlotRailcraft(mods.railcraft.common.gui.slots.SlotRailcraft)

Example 3 with Widget

use of mods.railcraft.common.gui.widgets.Widget in project Railcraft by Railcraft.

the class GuiContainerRailcraft method drawGuiContainerBackgroundLayer.

@Override
@OverridingMethodsMustInvokeSuper
protected void drawGuiContainerBackgroundLayer(float f, int mouseX, int mouseY) {
    OpenGL.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    bindTexture(texture);
    int x = (width - xSize) / 2;
    int y = (height - ySize) / 2;
    drawGuiBackground(x, y);
    int mX = mouseX - guiLeft;
    int mY = mouseY - guiTop;
    for (Widget element : container.getWidgets()) {
        if (element.hidden)
            continue;
        element.draw(this, x, y, mX, mY);
    }
}
Also used : Widget(mods.railcraft.common.gui.widgets.Widget) OverridingMethodsMustInvokeSuper(javax.annotation.OverridingMethodsMustInvokeSuper)

Aggregations

Widget (mods.railcraft.common.gui.widgets.Widget)3 OverridingMethodsMustInvokeSuper (javax.annotation.OverridingMethodsMustInvokeSuper)1 GuiBetterButton (mods.railcraft.client.gui.buttons.GuiBetterButton)1 SlotRailcraft (mods.railcraft.common.gui.slots.SlotRailcraft)1 ToolTip (mods.railcraft.common.gui.tooltips.ToolTip)1 GuiButton (net.minecraft.client.gui.GuiButton)1 InventoryPlayer (net.minecraft.entity.player.InventoryPlayer)1