aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java
diff options
context:
space:
mode:
authorunknown <james.jenour@protonmail.com>2020-05-31 01:59:47 +1000
committerunknown <james.jenour@protonmail.com>2020-05-31 01:59:47 +1000
commitde97f55968d183cc7d76aad87e3b27d382bfdbc9 (patch)
treeeab5e7769069f31b79016e3702855ebb9f614a8e /src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java
downloadnotenoughupdates-de97f55968d183cc7d76aad87e3b27d382bfdbc9.tar.gz
notenoughupdates-de97f55968d183cc7d76aad87e3b27d382bfdbc9.tar.bz2
notenoughupdates-de97f55968d183cc7d76aad87e3b27d382bfdbc9.zip
1.5
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java
new file mode 100644
index 00000000..388719d0
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/infopanes/TextInfoPane.java
@@ -0,0 +1,61 @@
+package io.github.moulberry.notenoughupdates.infopanes;
+
+import io.github.moulberry.notenoughupdates.NEUManager;
+import io.github.moulberry.notenoughupdates.NEUOverlay;
+import io.github.moulberry.notenoughupdates.Utils;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.FontRenderer;
+import net.minecraft.client.gui.ScaledResolution;
+
+import java.awt.*;
+
+public class TextInfoPane extends ScrollableInfoPane {
+
+ protected String title;
+ protected String text;
+
+ public TextInfoPane(NEUOverlay overlay, NEUManager manager, String title, String text) {
+ super(overlay, manager);
+ this.title = title;
+ this.text = text;
+ }
+
+ public void render(int width, int height, Color bg, Color fg, ScaledResolution scaledresolution, int mouseX, int mouseY) {
+ FontRenderer fr = Minecraft.getMinecraft().fontRendererObj;
+
+ int paneWidth = (int)(width/3*overlay.getWidthMult());
+ int rightSide = (int)(width*overlay.getInfoPaneOffsetFactor());
+ int leftSide = rightSide - paneWidth;
+
+ int titleLen = fr.getStringWidth(title);
+ int yScroll = -scrollHeight.getValue();
+ fr.drawString(title, (leftSide+rightSide-titleLen)/2, yScroll+overlay.BOX_PADDING + 5,
+ Color.WHITE.getRGB());
+
+ int yOff = 20;
+ for(String line : text.split("\n")) {
+ yOff += Utils.renderStringTrimWidth(line, fr, false,leftSide+overlay.BOX_PADDING + 5,
+ yScroll+overlay.BOX_PADDING + 10 + yOff,
+ width*1/3-overlay.BOX_PADDING*2-10, Color.WHITE.getRGB(), -1);
+ yOff += 16;
+ }
+
+ int top = overlay.BOX_PADDING - 5;
+ int totalBoxHeight = yOff+14;
+ int bottom = Math.max(top+totalBoxHeight, height-overlay.BOX_PADDING+5);
+
+ if(scrollHeight.getValue() > top+totalBoxHeight-(height-overlay.BOX_PADDING+5)) {
+ scrollHeight.setValue(top+totalBoxHeight-(height-overlay.BOX_PADDING+5));
+ }
+ drawRect(leftSide+overlay.BOX_PADDING-5, yScroll+overlay.BOX_PADDING-5,
+ rightSide-overlay.BOX_PADDING+5, yScroll+bottom, bg.getRGB());
+ }
+
+ public void keyboardInput() {
+
+ }
+
+ public void mouseInput(int width, int height, int mouseX, int mouseY, boolean mouseDown) {
+ super.mouseInput(width, height, mouseX, mouseY, mouseDown);
+ }
+}