Search in sources :

Example 6 with Size

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);
}
Also used : Position(gregtech.api.util.Position) Size(gregtech.api.util.Size) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 7 with Size

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();
        }
    }
}
Also used : Size(gregtech.api.util.Size) FontRenderer(net.minecraft.client.gui.FontRenderer)

Example 8 with Size

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));
}
Also used : Position(gregtech.api.util.Position) Size(gregtech.api.util.Size)

Example 9 with Size

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();
    }
}
Also used : Size(gregtech.api.util.Size) FontRenderer(net.minecraft.client.gui.FontRenderer)

Example 10 with Size

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);
}
Also used : Size(gregtech.api.util.Size) PositionedRect(gregtech.api.util.PositionedRect)

Aggregations

Size (gregtech.api.util.Size)30 Position (gregtech.api.util.Position)19 FontRenderer (net.minecraft.client.gui.FontRenderer)8 SideOnly (net.minecraftforge.fml.relauncher.SideOnly)6 Vector3 (codechicken.lib.vec.Vector3)3 SizedTextureArea (gregtech.api.gui.resources.SizedTextureArea)3 Widget (gregtech.api.gui.Widget)2 TextureArea (gregtech.api.gui.resources.TextureArea)2 PositionedRect (gregtech.api.util.PositionedRect)2 IndexedCuboid6 (codechicken.lib.raytracer.IndexedCuboid6)1 Cuboid6 (codechicken.lib.vec.Cuboid6)1 Rotation (codechicken.lib.vec.Rotation)1 Transformation (codechicken.lib.vec.Transformation)1 Translation (codechicken.lib.vec.Translation)1 INativeWidget (gregtech.api.gui.INativeWidget)1 ArrayList (java.util.ArrayList)1 GuiTextField (net.minecraft.client.gui.GuiTextField)1