From 6ea9273e38e04404c743ce78f0e083c4354b7b03 Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Mon, 1 Jun 2015 15:00:15 +0200 Subject: [PATCH] Made GuiVideoRenderer pretty --- .../replaymod/gui/GuiVideoRenderer.java | 35 ++++++++++++------- .../assets/replaymod/lang/en_US.lang | 1 + 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java index f7835d66..0c64ba0b 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java @@ -1,5 +1,6 @@ package eu.crushedpixel.replaymod.gui; +import eu.crushedpixel.replaymod.gui.elements.GuiProgressBar; import eu.crushedpixel.replaymod.video.VideoRenderer; import eu.crushedpixel.replaymod.video.frame.FrameRenderer; import net.minecraft.client.gui.GuiButton; @@ -13,6 +14,7 @@ import java.io.IOException; public class GuiVideoRenderer extends GuiScreen { private final VideoRenderer renderer; + private final String SCREEN_TITLE = I18n.format("replaymod.gui.rendering.title"); private final String PAUSE_RENDERING = I18n.format("replaymod.gui.rendering.pause"); private final String RESUME_RENDERING = I18n.format("replaymod.gui.rendering.resume"); private final String CANCEL = I18n.format("replaymod.gui.rendering.cancel"); @@ -22,6 +24,7 @@ public class GuiVideoRenderer extends GuiScreen { private GuiButton pauseButton; private GuiButton cancelButton; private GuiCheckBox previewCheckBox; + private GuiProgressBar progressBar; public GuiVideoRenderer(VideoRenderer renderer) { this.renderer = renderer; @@ -30,17 +33,19 @@ public class GuiVideoRenderer extends GuiScreen { @Override @SuppressWarnings("unchecked") // I blame forge for not re-adding generics to that list public void initGui() { - String text = PREVIEW; - buttonList.add(previewCheckBox = new GuiCheckBox(0, (width - fontRendererObj.getStringWidth(text)) / 2 - 8, - height - 20, text, false)); - - text = PAUSE_RENDERING; - buttonList.add(pauseButton = new GuiButton(1, width / 2 - 152, height / 2 - 23, text)); + String text = PAUSE_RENDERING; + buttonList.add(pauseButton = new GuiButton(1, width / 2 - 152, height - 10 - 20, text)); text = CANCEL; - buttonList.add(cancelButton = new GuiButton(1, width / 2 + 2, height / 2 - 23, text)); + buttonList.add(cancelButton = new GuiButton(1, width / 2 + 2, height - 10 - 20, text)); pauseButton.width = cancelButton.width = 150; + + progressBar = new GuiProgressBar(10, height - 10 - 20 - 10 - 20, width-20, 20); + + text = PREVIEW; + buttonList.add(previewCheckBox = new GuiCheckBox(0, (width - fontRendererObj.getStringWidth(text)) / 2 - 8, + pauseButton.yPosition - 10 - 20 - 10 - 5 , text, false)); } @Override @@ -80,18 +85,22 @@ public class GuiVideoRenderer extends GuiScreen { public void drawScreen(int mouseX, int mouseY, float partialTicks) { FrameRenderer frameRenderer = renderer.getFrameRenderer(); int centerX = width / 2; - int centerY = height / 2; drawBackground(0); + drawCenteredString(fontRendererObj, SCREEN_TITLE, centerX, 5, Color.WHITE.getRGB()); + String framesProgress = I18n.format("replaymod.gui.rendering.progress", renderer.getFramesDone(), renderer.getTotalFrames()); - drawCenteredString(fontRendererObj, framesProgress, centerX, centerY - 45, Color.WHITE.getRGB()); + progressBar.setProgressString(framesProgress); + progressBar.setProgress((float) renderer.getFramesDone() / renderer.getTotalFrames()); - int previewX = width / 4; - int previewWidth = width / 2; + progressBar.drawProgressBar(); - int previewY = height / 2 + 10; - int previewHeight = height - 30 - previewY; + int previewX = 10; + int previewWidth = width - 20; + + int previewHeight = previewCheckBox.yPosition - 10 - 20; + int previewY = previewCheckBox.yPosition - 10 - previewHeight; if (previewCheckBox.isChecked()) { frameRenderer.renderPreview(previewX, previewY, previewWidth, previewHeight); diff --git a/src/main/resources/assets/replaymod/lang/en_US.lang b/src/main/resources/assets/replaymod/lang/en_US.lang index 701f716e..c01e609e 100644 --- a/src/main/resources/assets/replaymod/lang/en_US.lang +++ b/src/main/resources/assets/replaymod/lang/en_US.lang @@ -269,6 +269,7 @@ replaymod.gui.rendersettings.stablecamera=Ignore Camera Rotation replaymod.gui.rendersettings.exportyoutube=Export for YouTube #Rendering GUI +replaymod.gui.rendering.title=Rendering Video replaymod.gui.rendering.pause=Pause Rendering replaymod.gui.rendering.resume=Resume Rendering replaymod.gui.rendering.cancel=Cancel Rendering