Search in sources :

Example 1 with GuiRectangle

use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.

the class GuiHome method initPanel.

@Override
public void initPanel() {
    super.initPanel();
    PEventBroadcaster.INSTANCE.register(this, PEventButton.class);
    ResourceLocation homeGui = new ResourceLocation(QuestSettings.INSTANCE.getProperty(NativeProps.HOME_IMAGE));
    IGuiTexture homeSplashBG = new SimpleTexture(homeGui, new GuiRectangle(0, 0, 256, 128));
    IGuiTexture homeSplashTitle = new SimpleTexture(homeGui, new GuiRectangle(0, 128, 256, 128)).maintainAspect(true);
    float ancX = QuestSettings.INSTANCE.getProperty(NativeProps.HOME_ANC_X);
    float ancY = QuestSettings.INSTANCE.getProperty(NativeProps.HOME_ANC_Y);
    int offX = QuestSettings.INSTANCE.getProperty(NativeProps.HOME_OFF_X);
    int offY = QuestSettings.INSTANCE.getProperty(NativeProps.HOME_OFF_Y);
    // Background panel
    CanvasTextured bgCan = new CanvasTextured(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_MAIN.getTexture());
    this.addPanel(bgCan);
    // Inner canvas bounds
    CanvasEmpty inCan = new CanvasEmpty(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(16, 16, 16, 16), 0));
    bgCan.addPanel(inCan);
    CanvasTextured splashCan = new CanvasTextured(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 0, 32), 0), homeSplashBG);
    inCan.addPanel(splashCan);
    CanvasTextured splashTitle = new CanvasTextured(new GuiTransform(new Vector4f(ancX, ancY, ancX, ancY), new GuiPadding(offX, offY, -256 - offX, -128 - offY), 0), homeSplashTitle);
    splashCan.addPanel(splashTitle);
    PanelButton btnExit = new PanelButton(new GuiTransform(new Vector4f(0F, 1F, 0.25F, 1F), new GuiPadding(0, -32, 0, 0), 0), 0, I18n.format("betterquesting.home.exit"));
    inCan.addPanel(btnExit);
    PanelButton btnQuests = new PanelButton(new GuiTransform(new Vector4f(0.25F, 1F, 0.5F, 1F), new GuiPadding(0, -32, 0, 0), 0), 1, I18n.format("betterquesting.home.quests"));
    inCan.addPanel(btnQuests);
    PanelButton btnParty = new PanelButton(new GuiTransform(new Vector4f(0.5F, 1F, 0.75F, 1F), new GuiPadding(0, -32, 0, 0), 0), 2, I18n.format("betterquesting.home.party"));
    inCan.addPanel(btnParty);
    PanelButton btnTheme = new PanelButton(new GuiTransform(new Vector4f(0.75F, 1F, 1F, 1F), new GuiPadding(0, -32, 0, 0), 0), 3, I18n.format("betterquesting.home.theme"));
    inCan.addPanel(btnTheme);
    if (QuestingAPI.getAPI(ApiReference.SETTINGS).canUserEdit(mc.player)) {
        PanelButton btnEdit = new PanelButton(new GuiTransform(GuiAlign.TOP_LEFT, new GuiPadding(0, 0, -16, -16), 0), 4, "").setIcon(PresetIcon.ICON_GEAR.getTexture());
        inCan.addPanel(btnEdit);
    }
}
Also used : IGuiTexture(betterquesting.api2.client.gui.resources.textures.IGuiTexture) Vector4f(org.lwjgl.util.vector.Vector4f) PanelButton(betterquesting.api2.client.gui.controls.PanelButton) IPanelButton(betterquesting.api2.client.gui.controls.IPanelButton) GuiRectangle(betterquesting.api2.client.gui.misc.GuiRectangle) ResourceLocation(net.minecraft.util.ResourceLocation) CanvasTextured(betterquesting.api2.client.gui.panels.CanvasTextured) GuiTransform(betterquesting.api2.client.gui.misc.GuiTransform) SimpleTexture(betterquesting.api2.client.gui.resources.textures.SimpleTexture) GuiPadding(betterquesting.api2.client.gui.misc.GuiPadding) CanvasEmpty(betterquesting.api2.client.gui.panels.CanvasEmpty)

Example 2 with GuiRectangle

use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.

the class GuiQuest method initPanel.

@Override
public void initPanel() {
    super.initPanel();
    this.quest = QuestDatabase.INSTANCE.getValue(questID);
    if (quest == null) {
        mc.displayGuiScreen(this.parent);
        return;
    }
    PEventBroadcaster.INSTANCE.register(this, PEventButton.class);
    // TODO: Register quest updated event
    // Background panel
    CanvasTextured cvBackground = new CanvasTextured(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_MAIN.getTexture());
    this.addPanel(cvBackground);
    PanelTextBox panTxt = new PanelTextBox(new GuiTransform(GuiAlign.TOP_EDGE, new GuiPadding(0, 16, 0, -32), 0), I18n.format(quest.getUnlocalisedName())).setAlignment(1);
    panTxt.setColor(PresetColor.TEXT_HEADER.getColor());
    cvBackground.addPanel(panTxt);
    if (QuestingAPI.getAPI(ApiReference.SETTINGS).canUserEdit(mc.player)) {
        cvBackground.addPanel(new PanelButton(new GuiTransform(GuiAlign.BOTTOM_CENTER, -100, -16, 100, 16, 0), 0, I18n.format("gui.back")));
        cvBackground.addPanel(new PanelButton(new GuiTransform(GuiAlign.BOTTOM_CENTER, 0, -16, 100, 16, 0), 1, I18n.format("betterquesting.btn.edit")));
    } else {
        cvBackground.addPanel(new PanelButton(new GuiTransform(GuiAlign.BOTTOM_CENTER, -100, -16, 200, 16, 0), 0, I18n.format("gui.back")));
    }
    cvInner = new CanvasEmpty(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(16, 32, 16, 24), 0));
    cvBackground.addPanel(cvInner);
    if (quest.getRewards().size() > 0) {
        CanvasScrolling cvDesc = new CanvasScrolling(new GuiTransform(new Vector4f(0F, 0F, 0.5F, 0.5F), new GuiPadding(0, 0, 16, 16), 0));
        cvInner.addPanel(cvDesc);
        PanelTextBox paDesc = new PanelTextBox(new GuiRectangle(0, 0, cvDesc.getTransform().getWidth(), 0), I18n.format(quest.getUnlocalisedDescription()), true);
        paDesc.setColor(PresetColor.TEXT_MAIN.getColor());
        cvDesc.addPanel(paDesc);
        PanelVScrollBar paDescScroll = new PanelVScrollBar(new GuiTransform(GuiAlign.quickAnchor(GuiAlign.TOP_CENTER, GuiAlign.MID_CENTER), new GuiPadding(-16, 0, 8, 16), 0));
        cvInner.addPanel(paDescScroll);
        cvDesc.setScrollDriverY(paDescScroll);
        paDescScroll.setEnabled(cvDesc.getScrollBounds().getHeight() > 0);
        btnClaim = new PanelButton(new GuiTransform(new Vector4f(0F, 1F, 0.5F, 1F), new GuiPadding(16, -16, 24, 0), 0), 6, I18n.format("betterquesting.btn.claim"));
        btnClaim.setBtnState(false);
        cvInner.addPanel(btnClaim);
        btnRewardLeft = new PanelButton(new GuiTransform(GuiAlign.BOTTOM_LEFT, new GuiPadding(0, -16, -16, 0), 0), 2, "<");
        btnRewardLeft.setBtnState(rewardIndex > 0);
        cvInner.addPanel(btnRewardLeft);
        btnRewardRight = new PanelButton(new GuiTransform(new Vector4f(0.5F, 1F, 0.5F, 1F), new GuiPadding(-24, -16, 8, 0), 0), 3, ">");
        btnRewardRight.setBtnState(rewardIndex < quest.getRewards().size() - 1);
        cvInner.addPanel(btnRewardRight);
        rectReward = new GuiTransform(new Vector4f(0F, 0.5F, 0.5F, 1F), new GuiPadding(0, 0, 8, 16), 0);
        rectReward.setParent(cvInner.getTransform());
        titleReward = new PanelTextBox(new GuiTransform(new Vector4f(0F, 0.5F, 0.5F, 0.5F), new GuiPadding(0, -16, 8, 0), 0), "?");
        titleReward.setColor(PresetColor.TEXT_HEADER.getColor()).setAlignment(1);
        cvInner.addPanel(titleReward);
        refreshRewardPanel();
    } else {
        CanvasScrolling cvDesc = new CanvasScrolling(new GuiTransform(GuiAlign.HALF_LEFT, new GuiPadding(0, 0, 16, 0), 0));
        cvInner.addPanel(cvDesc);
        PanelTextBox paDesc = new PanelTextBox(new GuiRectangle(0, 0, cvDesc.getTransform().getWidth(), 0), I18n.format(quest.getUnlocalisedDescription()), true);
        paDesc.setColor(PresetColor.TEXT_MAIN.getColor());
        cvDesc.addPanel(paDesc);
        PanelVScrollBar paDescScroll = new PanelVScrollBar(new GuiTransform(GuiAlign.quickAnchor(GuiAlign.TOP_CENTER, GuiAlign.BOTTOM_CENTER), new GuiPadding(-16, 0, 8, 0), 0));
        cvInner.addPanel(paDescScroll);
        cvDesc.setScrollDriverY(paDescScroll);
        paDescScroll.setEnabled(cvDesc.getScrollBounds().getHeight() > 0);
    }
    if (quest.getTasks().size() > 0) {
        btnDetect = new PanelButton(new GuiTransform(new Vector4f(0.5F, 1F, 1F, 1F), new GuiPadding(24, -16, 16, 0), 0), 7, I18n.format("betterquesting.btn.detect_submit"));
        btnDetect.setBtnState(false);
        cvInner.addPanel(btnDetect);
        btnTaskLeft = new PanelButton(new GuiTransform(new Vector4f(0.5F, 1F, 0.5F, 1F), new GuiPadding(8, -16, -24, 0), 0), 4, "<");
        btnTaskLeft.setBtnState(taskIndex > 0);
        cvInner.addPanel(btnTaskLeft);
        btnTaskRight = new PanelButton(new GuiTransform(GuiAlign.BOTTOM_RIGHT, new GuiPadding(-16, -16, 0, 0), 0), 5, ">");
        btnTaskRight.setBtnState(taskIndex < quest.getTasks().size() - 1);
        cvInner.addPanel(btnTaskRight);
        rectTask = new GuiTransform(GuiAlign.HALF_RIGHT, new GuiPadding(8, 16, 0, 16), 0);
        rectTask.setParent(cvInner.getTransform());
        titleTask = new PanelTextBox(new GuiTransform(new Vector4f(0.5F, 0F, 1F, 0F), new GuiPadding(8, 0, 0, -16), 0), "?");
        titleTask.setColor(PresetColor.TEXT_HEADER.getColor()).setAlignment(1);
        cvInner.addPanel(titleTask);
        refreshTaskPanel();
    }
    IGuiRect ls0 = new GuiTransform(GuiAlign.TOP_CENTER, 0, 0, 0, 0, 0);
    ls0.setParent(cvInner.getTransform());
    IGuiRect le0 = new GuiTransform(GuiAlign.BOTTOM_CENTER, 0, 0, 0, 0, 0);
    le0.setParent(cvInner.getTransform());
    PanelLine paLine0 = new PanelLine(ls0, le0, PresetLine.GUI_DIVIDER.getLine(), 1, PresetColor.GUI_DIVIDER.getColor(), 1);
    cvInner.addPanel(paLine0);
}
Also used : PanelTextBox(betterquesting.api2.client.gui.panels.content.PanelTextBox) PanelButton(betterquesting.api2.client.gui.controls.PanelButton) IPanelButton(betterquesting.api2.client.gui.controls.IPanelButton) Vector4f(org.lwjgl.util.vector.Vector4f) CanvasTextured(betterquesting.api2.client.gui.panels.CanvasTextured) CanvasScrolling(betterquesting.api2.client.gui.panels.lists.CanvasScrolling) PanelVScrollBar(betterquesting.api2.client.gui.panels.bars.PanelVScrollBar) PanelLine(betterquesting.api2.client.gui.panels.content.PanelLine) CanvasEmpty(betterquesting.api2.client.gui.panels.CanvasEmpty)

Example 3 with GuiRectangle

use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.

the class GuiThemes method initPanel.

@Override
public void initPanel() {
    super.initPanel();
    PEventBroadcaster.INSTANCE.register(this, PEventButton.class);
    // Background panel
    CanvasTextured bgCan = new CanvasTextured(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_MAIN.getTexture());
    this.addPanel(bgCan);
    // Inner canvas bounds
    CanvasEmpty inCan = new CanvasEmpty(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(16, 16, 16, 16), 0));
    bgCan.addPanel(inCan);
    PanelTextBox panTxt = new PanelTextBox(new GuiTransform(GuiAlign.TOP_EDGE, new GuiPadding(0, 0, 0, -16), 0), I18n.format("betterquesting.title.select_theme")).setAlignment(1);
    panTxt.setColor(PresetColor.TEXT_HEADER.getColor());
    inCan.addPanel(panTxt);
    PanelButton btnExit = new PanelButton(new GuiTransform(GuiAlign.BOTTOM_CENTER, new GuiPadding(-100, -16, -100, 0), 0), 0, I18n.format("gui.done"));
    bgCan.addPanel(btnExit);
    CanvasScrolling canScroll = new CanvasScrolling(new GuiTransform(GuiAlign.HALF_LEFT, new GuiPadding(0, 16, 16, 16), 0));
    inCan.addPanel(canScroll);
    List<ITheme> themes = betterquesting.client.themes.ThemeRegistry.INSTANCE.getAllThemes();
    // List<IGuiTheme> themes = ThemeRegistry.INSTANCE.getAllThemes();
    int width = canScroll.getTransform().getWidth();
    for (int i = 0; i < themes.size(); i++) {
        GuiRectangle trans = new GuiRectangle(0, i * 24, width, 24, 0);
        ITheme theme = themes.get(i);
        PanelButtonStorage<ResourceLocation> pbs = new PanelButtonStorage<>(trans, 1, theme.getDisplayName(), theme.getThemeID());
        canScroll.addPanel(pbs);
        if (betterquesting.client.themes.ThemeRegistry.INSTANCE.getCurrentTheme() == theme) {
            pbs.setEnabled(false);
        }
    }
    PanelVScrollBar vsb = new PanelVScrollBar(new GuiTransform(GuiAlign.RIGHT_EDGE, new GuiPadding(0, 0, -8, 0), 0));
    inCan.addPanel(vsb);
    vsb.getTransform().setParent(canScroll.getTransform());
    canScroll.setScrollDriverY(vsb);
    scrollPanel = vsb;
    // === PREVIEW PANELS ===
    CanvasEmpty preCan = new CanvasEmpty(new GuiTransform(GuiAlign.HALF_RIGHT, new GuiPadding(8, 16, 0, 16), 0));
    inCan.addPanel(preCan);
    CanvasTextured preCanIn0 = new CanvasTextured(new GuiTransform(new Vector4f(0F, 0F, 0.5F, 0.5F), new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_MAIN.getTexture());
    preCan.addPanel(preCanIn0);
    preCanIn0.addPanel(new PanelTextBox(new GuiTransform(GuiAlign.MID_CENTER, -32, -8, 64, 16, 0), "EXAMPLE").setAlignment(1).setColor(PresetColor.TEXT_MAIN.getColor()));
    CanvasTextured preCanIn1 = new CanvasTextured(new GuiTransform(new Vector4f(0.5F, 0F, 1F, 0.5F), new GuiPadding(0, 0, 0, 0), 0), PresetTexture.PANEL_INNER.getTexture());
    preCanIn1.addPanel(new PanelTextBox(new GuiTransform(GuiAlign.MID_CENTER, -32, -8, 64, 16, 0), "EXAMPLE").setAlignment(1).setColor(PresetColor.TEXT_AUX_0.getColor()));
    preCan.addPanel(preCanIn1);
    CanvasTextured preCanIn2 = new CanvasTextured(new GuiTransform(GuiAlign.HALF_BOTTOM, new GuiPadding(0, 0, 0, 0), 0), PresetTexture.AUX_FRAME_0.getTexture());
    preCan.addPanel(preCanIn2);
    IGuiTexture icoSlides = new SlideShowTexture(1F, new GuiTextureColored(PresetTexture.QUEST_NORM_0.getTexture(), PresetColor.QUEST_ICON_LOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_NORM_1.getTexture(), PresetColor.QUEST_ICON_UNLOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_NORM_2.getTexture(), PresetColor.QUEST_ICON_PENDING.getColor()), new GuiTextureColored(PresetTexture.QUEST_NORM_3.getTexture(), PresetColor.QUEST_ICON_COMPLETE.getColor()), new GuiTextureColored(PresetTexture.QUEST_MAIN_0.getTexture(), PresetColor.QUEST_ICON_LOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_MAIN_1.getTexture(), PresetColor.QUEST_ICON_UNLOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_MAIN_2.getTexture(), PresetColor.QUEST_ICON_PENDING.getColor()), new GuiTextureColored(PresetTexture.QUEST_MAIN_3.getTexture(), PresetColor.QUEST_ICON_COMPLETE.getColor()), new GuiTextureColored(PresetTexture.QUEST_AUX_0.getTexture(), PresetColor.QUEST_ICON_LOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_AUX_1.getTexture(), PresetColor.QUEST_ICON_UNLOCKED.getColor()), new GuiTextureColored(PresetTexture.QUEST_AUX_2.getTexture(), PresetColor.QUEST_ICON_PENDING.getColor()), new GuiTextureColored(PresetTexture.QUEST_AUX_3.getTexture(), PresetColor.QUEST_ICON_COMPLETE.getColor()));
    PanelGeneric pqp = new PanelGeneric(new GuiTransform(new Vector4f(0.25F, 0.5F, 0.25F, 0.5F), -12, -12, 24, 24, 0), icoSlides);
    preCanIn2.addPanel(pqp);
    CanvasTextured itemFrame = new CanvasTextured(new GuiTransform(new Vector4f(0.75F, 0.5F, 0.75F, 0.5F), -12, -12, 24, 24, 0), PresetTexture.ITEM_FRAME.getTexture());
    itemFrame.addPanel(new PanelGeneric(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(1, 1, 1, 1), 0), new ItemTexture(new BigItemStack(BetterQuesting.guideBook))));
    preCanIn2.addPanel(itemFrame);
    IGuiLine linSeq = new GuiLineSequence(1F, PresetLine.QUEST_LOCKED.getLine(), PresetLine.QUEST_UNLOCKED.getLine(), PresetLine.QUEST_PENDING.getLine(), PresetLine.QUEST_COMPLETE.getLine());
    IGuiColor colSeq = new GuiColorSequence(1F, PresetColor.QUEST_LINE_LOCKED.getColor(), PresetColor.QUEST_LINE_UNLOCKED.getColor(), PresetColor.QUEST_LINE_PENDING.getColor(), PresetColor.QUEST_LINE_COMPLETE.getColor());
    preCanIn2.addPanel(new PanelLine(pqp.getTransform(), itemFrame.getTransform(), linSeq, 4, colSeq, 1));
    preCanIn2.addPanel(new PanelTextBox(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(8, 8, 8, 8), 0), "EXAMPLE").setAlignment(1).setColor(PresetColor.TEXT_AUX_1.getColor()));
    IGuiRect ls0 = new GuiTransform(GuiAlign.TOP_CENTER, 0, 16, 0, 0, 0);
    ls0.setParent(inCan.getTransform());
    IGuiRect le0 = new GuiTransform(GuiAlign.BOTTOM_CENTER, 0, -16, 0, 0, 0);
    le0.setParent(inCan.getTransform());
    PanelLine paLine0 = new PanelLine(ls0, le0, PresetLine.GUI_DIVIDER.getLine(), 1, PresetColor.GUI_DIVIDER.getColor(), 1);
    inCan.addPanel(paLine0);
}
Also used : PanelButton(betterquesting.api2.client.gui.controls.PanelButton) IPanelButton(betterquesting.api2.client.gui.controls.IPanelButton) GuiLineSequence(betterquesting.api2.client.gui.resources.lines.GuiLineSequence) PanelVScrollBar(betterquesting.api2.client.gui.panels.bars.PanelVScrollBar) IGuiColor(betterquesting.api2.client.gui.resources.colors.IGuiColor) Vector4f(org.lwjgl.util.vector.Vector4f) ResourceLocation(net.minecraft.util.ResourceLocation) CanvasTextured(betterquesting.api2.client.gui.panels.CanvasTextured) PanelButtonStorage(betterquesting.api2.client.gui.controls.PanelButtonStorage) ITheme(betterquesting.api.client.themes.ITheme) IGuiTexture(betterquesting.api2.client.gui.resources.textures.IGuiTexture) IGuiLine(betterquesting.api2.client.gui.resources.lines.IGuiLine) PanelLine(betterquesting.api2.client.gui.panels.content.PanelLine) CanvasEmpty(betterquesting.api2.client.gui.panels.CanvasEmpty) SlideShowTexture(betterquesting.api2.client.gui.resources.textures.SlideShowTexture) PanelTextBox(betterquesting.api2.client.gui.panels.content.PanelTextBox) GuiTextureColored(betterquesting.api2.client.gui.resources.textures.GuiTextureColored) GuiColorSequence(betterquesting.api2.client.gui.resources.colors.GuiColorSequence) CanvasScrolling(betterquesting.api2.client.gui.panels.lists.CanvasScrolling) PanelGeneric(betterquesting.api2.client.gui.panels.content.PanelGeneric) BigItemStack(betterquesting.api.utils.BigItemStack) ItemTexture(betterquesting.api2.client.gui.resources.textures.ItemTexture)

Example 4 with GuiRectangle

use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.

the class GuiQuestLinesEmbedded method drawBackground.

@Override
public void drawBackground(int mx, int my, float partialTick) {
    mouseDrag(mx, my);
    Minecraft mc = Minecraft.getMinecraft();
    double scaleX = sizeX / 128D;
    double scaleY = sizeY / 128D;
    float zs = zoom / 100F;
    int rmx = getRelativeX(mx);
    int rmy = getRelativeY(my);
    mc.renderEngine.bindTexture(currentTheme().getGuiTexture());
    GlStateManager.color(1F, 1F, 1F, 1F);
    GlStateManager.pushMatrix();
    GlStateManager.scale(scaleX, scaleY, 1F);
    GlStateManager.translate(posX / scaleX, posY / scaleY, 0);
    drawTexturedModalRect(0, 0, 0, 128, 128, 128);
    GlStateManager.popMatrix();
    IQuest qTooltip = null;
    if (qLine != null) {
        GlStateManager.pushMatrix();
        RenderUtils.startScissor(mc, new GuiRectangle(posX, posY, sizeX, sizeY));
        GlStateManager.translate(posX + (scrollX) * zs, posY + (scrollY) * zs, 0);
        GlStateManager.scale(zs, zs, 1F);
        if (bgImg != null) {
            GlStateManager.pushMatrix();
            GlStateManager.scale(bgSize / 256F, bgSize / 256F, 1F);
            mc.renderEngine.bindTexture(bgImg);
            this.drawTexturedModalRect(0, 0, 0, 0, 256, 256);
            GlStateManager.popMatrix();
        }
        for (int i = 0; i < qBtns.size(); i++) {
            GuiButtonQuestInstance btnQuest = qBtns.get(i);
            btnQuest.drawButton(mc, rmx, rmy, partialTick);
            if (btnQuest.visible && isWithin(rmx, rmy, btnQuest.x, btnQuest.y, btnQuest.width, btnQuest.height) && isWithin(mx, my, posX, posY, sizeX, sizeY)) {
                qTooltip = btnQuest.getQuest();
            }
        }
        RenderUtils.endScissor(mc);
        GlStateManager.popMatrix();
    }
    if (curTool != null) {
        GlStateManager.pushMatrix();
        RenderUtils.startScissor(mc, new GuiRectangle(posX, posY, sizeX, sizeY));
        GlStateManager.translate(posX + (scrollX) * zs, posY + (scrollY) * zs, 0);
        GlStateManager.scale(zs, zs, 1F);
        curTool.drawTool(rmx, rmy, partialTick);
        RenderUtils.endScissor(mc);
        GlStateManager.popMatrix();
    }
    if (qTooltip != null && (curTool == null || curTool.allowTooltips())) {
        curTooltip = qTooltip.getTooltip(mc.player);
    } else {
        curTooltip = null;
    }
}
Also used : GuiButtonQuestInstance(betterquesting.api.client.gui.controls.GuiButtonQuestInstance) IQuest(betterquesting.api.questing.IQuest) GuiRectangle(betterquesting.api2.client.gui.misc.GuiRectangle) Minecraft(net.minecraft.client.Minecraft)

Example 5 with GuiRectangle

use of betterquesting.api2.client.gui.misc.GuiRectangle in project BetterQuesting by Funwayguy.

the class GuiScreenTest method initPanel.

@Override
public void initPanel() {
    super.initPanel();
    IGuiRect ctt = new GuiTransform(new Vector4f(0.05F, 0.05F, 0.95F, 0.95F), new GuiPadding(0, 0, 0, 0), 0);
    CanvasTextured cvt1 = new CanvasTextured(ctt, PresetTexture.PANEL_MAIN.getTexture());
    this.addPanel(cvt1);
    CanvasScrolling cs1 = new CanvasScrolling(new GuiTransform(GuiAlign.FULL_BOX, new GuiPadding(0, 0, 12, 0), 0)).setupAdvanceScroll(true, true, 0);
    cvt1.addPanel(cs1);
    PanelVScrollBar pvs = new PanelVScrollBar(new GuiTransform(GuiAlign.RIGHT_EDGE, new GuiPadding(-12, 4, 4, 4), 0));
    cvt1.addPanel(pvs);
    cs1.setScrollDriverY(pvs);
    CanvasTextured cvt2 = new CanvasTextured(new GuiRectangle(0, 0, 800, 500, 0), PresetTexture.PANEL_INNER.getTexture());
    cs1.addPanel(cvt2);
    PanelButton btn3 = new PanelButton(new GuiRectangle(-100, -20, 100, 20, 0), 1, "Button 3");
    cs1.addPanel(btn3);
    IGuiRect btt1 = new GuiTransform(GuiAlign.BOTTOM_CENTER, new GuiPadding(-100, -16, 0, 0), -1);
    IGuiRect btt2 = new GuiTransform(GuiAlign.BOTTOM_CENTER, new GuiPadding(0, -16, -100, 0), -1);
    PanelButton btn1 = new PanelButton(btt1, 0, "Button 1");
    PanelButton btn2 = new PanelButton(btt2, 1, "Button 2");
    cvt1.addPanel(btn1);
    cvt1.addPanel(btn2);
    try {
        IGuiRect pt1 = new GuiRectangle(0, 0, 64, 64, 0);
        IGuiRect pt2 = new GuiRectangle(64, 0, 48, 48, 0);
        IGuiRect pt3 = new GuiRectangle(112, 0, 32, 32, 0);
        PanelPlayerPortrait pp1 = new PanelPlayerPortrait(pt1, UUID.fromString("10755ea6-9721-467a-8b5c-92adf689072c"), "Darkosto");
        PanelPlayerPortrait pp2 = new PanelPlayerPortrait(pt2, UUID.fromString("ef35a72a-ef00-4c2a-a2a9-58a54a7bb9fd"), "GreatOrator");
        PanelPlayerPortrait pp3 = new PanelPlayerPortrait(pt3, UUID.fromString("4412cc00-65de-43ff-b19a-10e0ec64cc4a"), "Funwayguy");
        cs1.addPanel(pp1);
        cs1.addPanel(pp2);
        cs1.addPanel(pp3);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : IGuiRect(betterquesting.api2.client.gui.misc.IGuiRect) PanelPlayerPortrait(betterquesting.api2.client.gui.panels.content.PanelPlayerPortrait) Vector4f(org.lwjgl.util.vector.Vector4f) PanelButton(betterquesting.api2.client.gui.controls.PanelButton) GuiRectangle(betterquesting.api2.client.gui.misc.GuiRectangle) CanvasTextured(betterquesting.api2.client.gui.panels.CanvasTextured) CanvasScrolling(betterquesting.api2.client.gui.panels.lists.CanvasScrolling) PanelVScrollBar(betterquesting.api2.client.gui.panels.bars.PanelVScrollBar) GuiTransform(betterquesting.api2.client.gui.misc.GuiTransform) GuiPadding(betterquesting.api2.client.gui.misc.GuiPadding)

Aggregations

GuiRectangle (betterquesting.api2.client.gui.misc.GuiRectangle)12 IGuiRect (betterquesting.api2.client.gui.misc.IGuiRect)6 PanelButton (betterquesting.api2.client.gui.controls.PanelButton)5 CanvasTextured (betterquesting.api2.client.gui.panels.CanvasTextured)5 Minecraft (net.minecraft.client.Minecraft)5 IPanelButton (betterquesting.api2.client.gui.controls.IPanelButton)4 PanelVScrollBar (betterquesting.api2.client.gui.panels.bars.PanelVScrollBar)4 PanelLine (betterquesting.api2.client.gui.panels.content.PanelLine)4 CanvasScrolling (betterquesting.api2.client.gui.panels.lists.CanvasScrolling)4 ResourceLocation (net.minecraft.util.ResourceLocation)4 Vector4f (org.lwjgl.util.vector.Vector4f)4 IQuest (betterquesting.api.questing.IQuest)3 PanelButtonStorage (betterquesting.api2.client.gui.controls.PanelButtonStorage)3 GuiPadding (betterquesting.api2.client.gui.misc.GuiPadding)3 CanvasEmpty (betterquesting.api2.client.gui.panels.CanvasEmpty)3 PanelTextBox (betterquesting.api2.client.gui.panels.content.PanelTextBox)3 IGuiTexture (betterquesting.api2.client.gui.resources.textures.IGuiTexture)3 GuiTransform (betterquesting.api2.client.gui.misc.GuiTransform)2 PanelGeneric (betterquesting.api2.client.gui.panels.content.PanelGeneric)2 IGuiColor (betterquesting.api2.client.gui.resources.colors.IGuiColor)2