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));
}
}
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));
}
}
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();
}
}
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());
}
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));
}
Aggregations