Search in sources :

Example 31 with Point

use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.

the class TopLevelWidget method setMousePosition.

public void setMousePosition(final int x, final int y) {
    final float dx = x - this.mousePosition.xPos();
    final float dy = y - this.mousePosition.yPos();
    if (dx != 0.0f || dy != 0.0f) {
        if (this.getDraggedWidget() != null) {
            this.callEvent(new EventMouse.Drag(this.getDraggedWidget(), dx, dy));
        } else {
            this.callEvent(new EventMouse.Move(this, dx, dy));
        }
    }
    if (this.mousePosition.xPos() != x || this.mousePosition.yPos() != y) {
        this.mousePosition = new Point(x, y);
        this.setMousedOverWidget(this.calculateMousedOverWidget());
    }
}
Also used : EventMouse(binnie.core.gui.events.EventMouse) IPoint(binnie.core.api.gui.IPoint) Point(binnie.core.gui.geometry.Point)

Example 32 with Point

use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.

the class ControlBreedingProgress method onRenderBackground.

@Override
@SideOnly(Side.CLIENT)
public void onRenderBackground(int guiWidth, int guiHeight) {
    CraftGUI.RENDER.texture(CraftGUITexture.PANEL_BLACK, this.getArea());
    final IArea area = this.getArea().inset(1);
    area.setSize(new Point(Math.round(area.size().xPos() * this.percentage), area.size().yPos()));
    RenderUtil.setColour(this.colour);
    CraftGUI.RENDER.texture(ControlBreedingProgress.Progress, area);
}
Also used : IArea(binnie.core.api.gui.IArea) Point(binnie.core.gui.geometry.Point) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 33 with Point

use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.

the class ControlScrollableContent method setScrollableContent.

public void setScrollableContent(@Nullable final T child) {
    this.controlChild = child;
    if (child == null) {
        return;
    }
    child.setCroppedZone(this, new Area(1, 1, getSize().xPos() - 2 - this.scrollBarSize, getSize().yPos() - 2));
    child.addSelfEventHandler(EventWidget.ChangeSize.class, event -> {
        child.setOffset(new Point(0, Math.round(-ControlScrollableContent.this.percentageIndex * ControlScrollableContent.this.getMovementRange())));
        if (ControlScrollableContent.this.getMovementRange() == 0) {
            ControlScrollableContent.this.percentageIndex = 0;
        }
    });
}
Also used : EventWidget(binnie.core.gui.events.EventWidget) Area(binnie.core.gui.geometry.Area) Point(binnie.core.gui.geometry.Point)

Example 34 with Point

use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.

the class ControlScrollableContent method movePercentage.

@Override
public void movePercentage(final float percentage) {
    if (this.controlChild == null) {
        return;
    }
    this.percentageIndex += percentage;
    if (this.percentageIndex > 1) {
        this.percentageIndex = 1;
    } else if (this.percentageIndex < 0) {
        this.percentageIndex = 0;
    }
    if (this.getMovementRange() == 0) {
        this.percentageIndex = 0;
    }
    this.controlChild.setOffset(new Point(0, Math.round(-this.percentageIndex * this.getMovementRange())));
}
Also used : Point(binnie.core.gui.geometry.Point)

Example 35 with Point

use of binnie.core.gui.geometry.Point in project Binnie by ForestryMC.

the class ControlTab method onRenderBackground.

@Override
@SideOnly(Side.CLIENT)
public void onRenderBackground(int guiWidth, int guiHeight) {
    Object texture = CraftGUITexture.TAB_DISABLED;
    if (this.isMouseOver()) {
        texture = CraftGUITexture.TAB_HIGHLIGHTED;
    } else if (this.isCurrentSelection()) {
        texture = CraftGUITexture.TAB;
    }
    final ITexture lTexture = CraftGUI.RENDER.getTexture(texture);
    final Alignment alignment = this.getTabPosition();
    ITexture iTexture = lTexture.crop(alignment, 8);
    final IArea area = this.getArea();
    if (texture == CraftGUITexture.TAB_DISABLED) {
        if (alignment == Alignment.TOP || alignment == Alignment.LEFT) {
            area.setPosition(area.getPosition().sub(new Point(4 * alignment.x(), 4 * alignment.y())));
            area.setSize(area.getSize().add(new Point(4 * alignment.x(), 4 * alignment.y())));
        } else {
            area.setSize(area.getSize().sub(new Point(4 * alignment.x(), 4 * alignment.y())));
        }
    }
    CraftGUI.RENDER.texture(iTexture, area);
    if (this instanceof ControlTabIcon) {
        final ControlTabIcon icon = (ControlTabIcon) this;
        final ControlItemDisplay item = (ControlItemDisplay) getFirstChild();
        if (texture == CraftGUITexture.TAB_DISABLED) {
            item.setColor(-1431655766);
        } else {
            item.setColor(-1);
        }
        if (icon.hasOutline()) {
            iTexture = CraftGUI.RENDER.getTexture(CraftGUITexture.TAB_OUTLINE);
            iTexture = iTexture.crop(alignment, 8);
            RenderUtil.setColour(icon.getOutlineColour());
            CraftGUI.RENDER.texture(iTexture, area.inset(2));
        }
    }
}
Also used : Alignment(binnie.core.api.gui.Alignment) ControlItemDisplay(binnie.core.gui.minecraft.control.ControlItemDisplay) IArea(binnie.core.api.gui.IArea) Point(binnie.core.gui.geometry.Point) ControlTabIcon(binnie.core.gui.minecraft.control.ControlTabIcon) CraftGUITexture(binnie.core.gui.resource.textures.CraftGUITexture) ITexture(binnie.core.api.gui.ITexture) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Aggregations

Point (binnie.core.gui.geometry.Point)46 SideOnly (net.minecraftforge.fml.relauncher.SideOnly)25 IPoint (binnie.core.api.gui.IPoint)15 Area (binnie.core.gui.geometry.Area)13 ControlText (binnie.core.gui.controls.ControlText)10 ItemStack (net.minecraft.item.ItemStack)10 ControlItemDisplay (binnie.core.gui.minecraft.control.ControlItemDisplay)6 IArea (binnie.core.api.gui.IArea)5 Map (java.util.Map)5 TextureAtlasSprite (net.minecraft.client.renderer.texture.TextureAtlasSprite)5 ControlTextEdit (binnie.core.gui.controls.ControlTextEdit)4 ControlScrollableContent (binnie.core.gui.controls.scroll.ControlScrollableContent)4 ControlTabBar (binnie.core.gui.controls.tab.ControlTabBar)4 EventWidget (binnie.core.gui.events.EventWidget)4 Panel (binnie.core.gui.window.Panel)4 ArrayList (java.util.ArrayList)4 IBreedingSystem (binnie.core.api.genetics.IBreedingSystem)3 IWidget (binnie.core.api.gui.IWidget)3 Control (binnie.core.gui.controls.core.Control)3 ControlPlayerInventory (binnie.core.gui.minecraft.control.ControlPlayerInventory)3