Search in sources :

Example 1 with Size

use of gregtech.api.util.Size in project GregTech by GregTechCE.

the class AdvancedTextWidget method updateComponentTextSize.

@SideOnly(Side.CLIENT)
private void updateComponentTextSize() {
    FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
    int maxStringWidth = 0;
    int totalHeight = 0;
    for (ITextComponent textComponent : displayText) {
        maxStringWidth = Math.max(maxStringWidth, fontRenderer.getStringWidth(textComponent.getFormattedText()));
        totalHeight += fontRenderer.FONT_HEIGHT + 2;
    }
    totalHeight -= 2;
    setSize(new Size(maxStringWidth, totalHeight));
    if (uiAccess != null) {
        uiAccess.notifySizeChange();
    }
}
Also used : Size(gregtech.api.util.Size) FontRenderer(net.minecraft.client.gui.FontRenderer) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 2 with Size

use of gregtech.api.util.Size in project GregTech by GregTechCE.

the class AbstractWidgetGroup method recomputeSize.

protected boolean recomputeSize() {
    if (isDynamicSized) {
        Size currentSize = getSize();
        Size dynamicSize = computeDynamicSize();
        if (!currentSize.equals(dynamicSize)) {
            setSize(dynamicSize);
            if (uiAccess != null)
                uiAccess.notifySizeChange();
            return true;
        }
    }
    return false;
}
Also used : Size(gregtech.api.util.Size)

Example 3 with Size

use of gregtech.api.util.Size in project GregTech by GregTechCE.

the class ClickButtonWidget method drawInBackground.

@Override
public void drawInBackground(int mouseX, int mouseY, IRenderContext context) {
    super.drawInBackground(mouseX, mouseY, context);
    Position position = getPosition();
    Size size = getSize();
    if (buttonTexture instanceof SizedTextureArea) {
        ((SizedTextureArea) buttonTexture).drawHorizontalCutSubArea(position.x, position.y, size.width, size.height, 0.0, 1.0);
    } else {
        buttonTexture.drawSubArea(position.x, position.y, size.width, size.height, 0.0, 0.0, 1.0, 1.0);
    }
    FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
    String text = I18n.format(displayText);
    fontRenderer.drawString(text, position.x + size.width / 2 - fontRenderer.getStringWidth(text) / 2, position.y + size.height / 2 - fontRenderer.FONT_HEIGHT / 2, textColor);
    GlStateManager.color(1.0f, 1.0f, 1.0f);
}
Also used : Position(gregtech.api.util.Position) Size(gregtech.api.util.Size) SizedTextureArea(gregtech.api.gui.resources.SizedTextureArea) FontRenderer(net.minecraft.client.gui.FontRenderer)

Example 4 with Size

use of gregtech.api.util.Size in project GregTech by GregTechCE.

the class CycleButtonWidget method drawInBackground.

@Override
@SideOnly(Side.CLIENT)
public void drawInBackground(int mouseX, int mouseY, IRenderContext context) {
    Position pos = getPosition();
    Size size = getSize();
    if (buttonTexture instanceof SizedTextureArea) {
        ((SizedTextureArea) buttonTexture).drawHorizontalCutSubArea(pos.x, pos.y, size.width, size.height, 0.0, 1.0);
    } else {
        buttonTexture.drawSubArea(pos.x, pos.y, size.width, size.height, 0.0, 0.0, 1.0, 1.0);
    }
    FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
    String text = I18n.format(optionNames[currentOption]);
    fontRenderer.drawString(text, pos.x + size.width / 2 - fontRenderer.getStringWidth(text) / 2, pos.y + size.height / 2 - fontRenderer.FONT_HEIGHT / 2 + 1, textColor);
    GlStateManager.color(1.0f, 1.0f, 1.0f);
}
Also used : Position(gregtech.api.util.Position) Size(gregtech.api.util.Size) SizedTextureArea(gregtech.api.gui.resources.SizedTextureArea) FontRenderer(net.minecraft.client.gui.FontRenderer) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 5 with Size

use of gregtech.api.util.Size in project GregTech by GregTechCE.

the class DynamicLabelWidget method updateSize.

@SideOnly(Side.CLIENT)
private void updateSize() {
    FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
    String resultText = lastTextValue;
    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) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

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