use of gregtech.api.util.Size in project GregTech by GregTechCE.
the class ImageWidget method drawInBackground.
@Override
@SideOnly(Side.CLIENT)
public void drawInBackground(int mouseX, int mouseY, IRenderContext context) {
if (!this.isVisible || area == null)
return;
Position position = getPosition();
Size size = getSize();
area.draw(position.x, position.y, size.width, size.height);
}
use of gregtech.api.util.Size in project GregTech by GregTechCE.
the class LabelWidget method recomputeSize.
private void recomputeSize() {
if (isClientSide()) {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
String resultText = getResultText();
setSize(new Size(fontRenderer.getStringWidth(resultText), fontRenderer.FONT_HEIGHT));
if (uiAccess != null) {
uiAccess.notifySizeChange();
}
}
}
use of gregtech.api.util.Size in project GregTech by GregTechCE.
the class ScrollableListWidget method drawInBackground.
@Override
public void drawInBackground(int mouseX, int mouseY, IRenderContext context) {
// make sure mouse is not hovered on any element when outside of bounds
if (!isPositionInsideScissor(mouseX, mouseY)) {
mouseX = Integer.MAX_VALUE;
mouseY = Integer.MAX_VALUE;
}
int finalMouseX = mouseX;
int finalMouseY = mouseY;
Position position = getPosition();
Size size = getSize();
int paneSize = scrollPaneWidth;
int scrollX = position.x + size.width - paneSize;
drawSolidRect(scrollX, position.y, paneSize, size.height, 0xFF666666);
drawSolidRect(scrollX + 1, position.y + 1, paneSize - 2, size.height - 2, 0xFF888888);
int maxScrollOffset = totalListHeight - getSize().height;
float scrollPercent = maxScrollOffset == 0 ? 0 : scrollOffset / (maxScrollOffset * 1.0f);
int scrollSliderHeight = 14;
int scrollSliderY = Math.round(position.y + (size.height - scrollSliderHeight) * scrollPercent);
drawGradientRect(scrollX + 1, scrollSliderY, paneSize - 2, scrollSliderHeight, 0xFF555555, 0xFF454545);
RenderUtil.useScissor(position.x, position.y, size.width - paneSize, size.height, () -> super.drawInBackground(finalMouseX, finalMouseY, context));
}
use of gregtech.api.util.Size in project GregTech by GregTechCE.
the class SimpleTextWidget method updateSize.
private void updateSize() {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
int stringWidth = fontRenderer.getStringWidth(lastText);
setSize(new Size(stringWidth, fontRenderer.FONT_HEIGHT));
if (uiAccess != null) {
uiAccess.notifySizeChange();
}
}
use of gregtech.api.util.Size in project GregTech by GregTechCE.
the class PipeGridElementWidget method drawInBackground.
@Override
public void drawInBackground(int mouseX, int mouseY, IRenderContext context) {
super.drawInBackground(mouseX, mouseY, context);
int conn = determineConnections();
TextureHolder textureHolder = getIconMap().get(conn);
if (textureHolder == null) {
textureHolder = new TextureHolder(createSpriteMap().get(TextureSprite.STRAIGHT), orientation.ordinal());
}
textureHolder.sprite.drawRotated(getPosition().x, getPosition().y, new Size(slotSize, slotSize), new PositionedRect(0, 0, slotSize, slotSize), textureHolder.orientation);
}
Aggregations