Search in sources :

Example 6 with IPoint

use of binnie.core.api.gui.IPoint in project Binnie by ForestryMC.

the class Widget method setSize.

public final void setSize(final IPoint vector) {
    if (!vector.equals(this.size)) {
        this.size = new Point(vector);
        this.callEvent(new EventWidget.ChangeSize(this));
    }
}
Also used : EventWidget(binnie.core.gui.events.EventWidget) IPoint(binnie.core.api.gui.IPoint) Point(binnie.core.gui.geometry.Point)

Example 7 with IPoint

use of binnie.core.api.gui.IPoint in project Binnie by ForestryMC.

the class Widget method setPosition.

/* GEOMETRY */
@Override
public final void setPosition(IPoint position) {
    if (!position.equals(this.position)) {
        this.position = new Point(position);
        this.callEvent(new EventWidget.ChangePosition(this));
    }
}
Also used : EventWidget(binnie.core.gui.events.EventWidget) IPoint(binnie.core.api.gui.IPoint) Point(binnie.core.gui.geometry.Point)

Example 8 with IPoint

use of binnie.core.api.gui.IPoint in project Binnie by ForestryMC.

the class ControlFluidDisplay method onRenderForeground.

@Override
@SideOnly(Side.CLIENT)
public void onRenderForeground(int guiWidth, int guiHeight) {
    if (this.fluidStack == null) {
        return;
    }
    final IPoint relativeToWindow = this.getAbsolutePosition().sub(this.getTopParent().getPosition());
    if (relativeToWindow.xPos() > Window.get(this).getSize().xPos() + 100 || relativeToWindow.yPos() > Window.get(this).getSize().yPos() + 100) {
        return;
    }
    if (this.fluidStack != null) {
        final Fluid fluid = this.fluidStack.getFluid();
        final int hex = fluid.getColor(this.fluidStack);
        final int r = (hex & 0xFF0000) >> 16;
        final int g = (hex & 0xFF00) >> 8;
        final int b = hex & 0xFF;
        final ResourceLocation iconRL = this.fluidStack.getFluid().getStill();
        TextureAtlasSprite icon = FMLClientHandler.instance().getClient().getTextureMapBlocks().getAtlasSprite(iconRL.toString());
        GlStateManager.color(r / 255.0f, g / 255.0f, b / 255.0f, 1.0f);
        GlStateManager.enableBlend();
        GlStateManager.blendFunc(770, 771);
        if (this.getSize().xPos() != 16) {
            GlStateManager.pushMatrix();
            final float scale = this.getSize().xPos() / 16.0f;
            GlStateManager.scale(scale, scale, 1.0f);
            RenderUtil.drawSprite(Point.ZERO, icon);
            GlStateManager.popMatrix();
        } else {
            RenderUtil.drawSprite(Point.ZERO, icon);
        }
        GlStateManager.disableBlend();
    }
}
Also used : TextureAtlasSprite(net.minecraft.client.renderer.texture.TextureAtlasSprite) Fluid(net.minecraftforge.fluids.Fluid) ResourceLocation(net.minecraft.util.ResourceLocation) IPoint(binnie.core.api.gui.IPoint) IPoint(binnie.core.api.gui.IPoint) Point(binnie.core.gui.geometry.Point) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 9 with IPoint

use of binnie.core.api.gui.IPoint in project Binnie by ForestryMC.

the class ControlEnergyBar method onRenderBackground.

@Override
@SideOnly(Side.CLIENT)
public void onRenderBackground(int guiWidth, int guiHeight) {
    CraftGUI.RENDER.texture(CraftGUITexture.ENERGY_BAR_BACK, this.getArea());
    final float percentage = this.getPercentage() / 100.0f;
    int colourFromPercentage = this.getColourFromPercentage(percentage);
    RenderUtil.setColour(colourFromPercentage);
    final IArea area = this.getArea();
    switch(this.direction) {
        case TOP:
        case BOTTOM:
            {
                IPoint fullSize = area.size();
                final int height = Math.round(fullSize.yPos() * percentage);
                area.setSize(new Point(fullSize.xPos(), height));
                area.setYPos(fullSize.yPos() - height);
                break;
            }
        case LEFT:
        case RIGHT:
            {
                final int width = Math.round(area.size().xPos() * percentage);
                area.setSize(new Point(width, area.size().yPos()));
                break;
            }
    }
    if (this.isMouseOver() && Window.get(this).getGui().isHelpMode()) {
        final int c = -1442840576 + MinecraftTooltip.getOutline(Tooltip.Type.HELP);
        RenderUtil.drawGradientRect(this.getArea().inset(1), c, c);
    } else if (ControlEnergyBar.isError) {
        final int c = -1442840576 + MinecraftTooltip.getOutline(MinecraftTooltip.Type.ERROR);
        RenderUtil.drawGradientRect(this.getArea().inset(1), c, c);
    }
    CraftGUI.RENDER.texture(CraftGUITexture.ENERGY_BAR_GLOW, area);
    GlStateManager.color(1, 1, 1, 1);
    CraftGUI.RENDER.texture(CraftGUITexture.ENERGY_BAR_GLASS, this.getArea());
}
Also used : IArea(binnie.core.api.gui.IArea) IPoint(binnie.core.api.gui.IPoint) IPoint(binnie.core.api.gui.IPoint) Point(binnie.core.gui.geometry.Point) IPoint(binnie.core.api.gui.IPoint) Point(binnie.core.gui.geometry.Point) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 10 with IPoint

use of binnie.core.api.gui.IPoint in project Binnie by ForestryMC.

the class CraftGUIUtil method alignToWidget.

public static void alignToWidget(final IWidget target, final IWidget relativeTo) {
    final IPoint startPos = target.getAbsolutePosition();
    final IPoint endPos = relativeTo.getAbsolutePosition();
    moveWidget(target, endPos.sub(startPos));
}
Also used : IPoint(binnie.core.api.gui.IPoint)

Aggregations

IPoint (binnie.core.api.gui.IPoint)17 Point (binnie.core.gui.geometry.Point)10 IArea (binnie.core.api.gui.IArea)5 SideOnly (net.minecraftforge.fml.relauncher.SideOnly)5 Area (binnie.core.gui.geometry.Area)4 EventWidget (binnie.core.gui.events.EventWidget)3 TextureAtlasSprite (net.minecraft.client.renderer.texture.TextureAtlasSprite)3 IWidget (binnie.core.api.gui.IWidget)2 ItemStack (net.minecraft.item.ItemStack)2 Fluid (net.minecraftforge.fluids.Fluid)2 IFieldKitPlugin (binnie.core.api.genetics.IFieldKitPlugin)1 ControlText (binnie.core.gui.controls.ControlText)1 WindowAbstractDatabase (binnie.core.gui.database.WindowAbstractDatabase)1 GuiCraftGUI (binnie.core.gui.minecraft.GuiCraftGUI)1 ControlItemDisplay (binnie.core.gui.minecraft.control.ControlItemDisplay)1 FenceType (binnie.extratrees.blocks.decor.FenceType)1 IPlankType (binnie.extratrees.wood.planks.IPlankType)1 IChromosomeType (forestry.api.genetics.IChromosomeType)1 Map (java.util.Map)1 Block (net.minecraft.block.Block)1