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