diff options
author | isXander <xandersmith2008@gmail.com> | 2022-12-09 20:53:19 +0000 |
---|---|---|
committer | isXander <xandersmith2008@gmail.com> | 2022-12-09 20:53:19 +0000 |
commit | 3e03edff9633de35068cbb0e11c111a70585a74d (patch) | |
tree | 0c2cb9f71121ba0e989681d669406f9de222ba9d /src/client/java/dev/isxander/yacl/gui/utils | |
parent | 62b1450df690c4b22c0eb42f02a6b0c507111686 (diff) | |
download | YetAnotherConfigLib-3e03edff9633de35068cbb0e11c111a70585a74d.tar.gz YetAnotherConfigLib-3e03edff9633de35068cbb0e11c111a70585a74d.tar.bz2 YetAnotherConfigLib-3e03edff9633de35068cbb0e11c111a70585a74d.zip |
unlimited string length in controller
Diffstat (limited to 'src/client/java/dev/isxander/yacl/gui/utils')
-rw-r--r-- | src/client/java/dev/isxander/yacl/gui/utils/RenderUtils.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/client/java/dev/isxander/yacl/gui/utils/RenderUtils.java b/src/client/java/dev/isxander/yacl/gui/utils/RenderUtils.java new file mode 100644 index 0000000..222517b --- /dev/null +++ b/src/client/java/dev/isxander/yacl/gui/utils/RenderUtils.java @@ -0,0 +1,35 @@ +package dev.isxander.yacl.gui.utils; + +import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.util.TextCollector; +import net.minecraft.client.util.Window; +import net.minecraft.text.*; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +public class RenderUtils { + public static void enableScissor(int x, int y, int width, int height) { + Window window = MinecraftClient.getInstance().getWindow(); + double d = window.getScaleFactor(); + RenderSystem.enableScissor((int)(x * d), (int)((window.getScaledHeight() - y - height) * d), (int)(width * d), (int)(height * d)); + } + + public static String shortenString(String string, TextRenderer textRenderer, int maxWidth, String suffix) { + boolean firstIter = true; + while (textRenderer.getWidth(string) > maxWidth) { + string = string.substring(0, Math.max(string.length() - 1 - (firstIter ? 1 : suffix.length() + 1), 0)).trim(); + string += suffix; + + if (string.equals(suffix)) + break; + + firstIter = false; + } + + return string; + } +} |