From d420045de892297b8d35f680b66cf0963015e0a0 Mon Sep 17 00:00:00 2001 From: Frank Date: Fri, 15 Jul 2022 10:26:00 +0200 Subject: [PATCH] Some Refactoring --- .../components/AbstractVanillaComponent.java | 47 +++---------------- .../AbstractVanillaComponentRenderer.java | 43 +++++++++++++++++ .../betterx/ui/layout/components/Button.java | 5 +- .../components/render/ButtonRenderer.java | 11 +++++ 4 files changed, 61 insertions(+), 45 deletions(-) create mode 100644 src/main/java/org/betterx/ui/layout/components/AbstractVanillaComponentRenderer.java create mode 100644 src/main/java/org/betterx/ui/layout/components/render/ButtonRenderer.java diff --git a/src/main/java/org/betterx/ui/layout/components/AbstractVanillaComponent.java b/src/main/java/org/betterx/ui/layout/components/AbstractVanillaComponent.java index 633bd7be..12f1a968 100644 --- a/src/main/java/org/betterx/ui/layout/components/AbstractVanillaComponent.java +++ b/src/main/java/org/betterx/ui/layout/components/AbstractVanillaComponent.java @@ -1,48 +1,9 @@ package org.betterx.ui.layout.components; -import org.betterx.ui.layout.components.render.ComponentRenderer; import org.betterx.ui.layout.values.DynamicSize; -import org.betterx.ui.layout.values.Rectangle; -import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.Font; import net.minecraft.client.gui.components.AbstractWidget; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Environment(EnvType.CLIENT) -class AbstractVanillaComponentRenderer> implements ComponentRenderer { - V linkedComponent; - - public Font getFont() { - return Minecraft.getInstance().font; - } - - public int getWidth(net.minecraft.network.chat.Component c) { - return getFont().width(c.getVisualOrderText()) + 24; - } - - public int getHeight(net.minecraft.network.chat.Component c) { - return getFont().lineHeight + 11; - } - - protected V getLinkedComponent() { - return linkedComponent; - } - - @Override - public void renderInBounds(PoseStack poseStack, int x, int y, float a, Rectangle bounds, Rectangle clipRect) { - if (linkedComponent != null) { - if (linkedComponent.vanillaComponent != null) { - linkedComponent.vanillaComponent.render(poseStack, x, y, a); - } - - } - } -} - public abstract class AbstractVanillaComponent> extends Component> { protected C vanillaComponent; protected final net.minecraft.network.chat.Component component; @@ -65,14 +26,18 @@ public abstract class AbstractVanillaComponent> implements ComponentRenderer { + V linkedComponent; + + public Font getFont() { + return Minecraft.getInstance().font; + } + + public int getWidth(net.minecraft.network.chat.Component c) { + return getFont().width(c.getVisualOrderText()) + 24; + } + + public int getHeight(net.minecraft.network.chat.Component c) { + return getFont().lineHeight + 11; + } + + protected V getLinkedComponent() { + return linkedComponent; + } + + @Override + public void renderInBounds(PoseStack poseStack, int x, int y, float a, Rectangle bounds, Rectangle clipRect) { + if (linkedComponent != null) { + if (linkedComponent.vanillaComponent != null) { + linkedComponent.vanillaComponent.render(poseStack, x, y, a); + } + + } + } +} diff --git a/src/main/java/org/betterx/ui/layout/components/Button.java b/src/main/java/org/betterx/ui/layout/components/Button.java index 98f7a7ca..fa5b0e77 100644 --- a/src/main/java/org/betterx/ui/layout/components/Button.java +++ b/src/main/java/org/betterx/ui/layout/components/Button.java @@ -1,14 +1,11 @@ package org.betterx.ui.layout.components; +import org.betterx.ui.layout.components.render.ButtonRenderer; import org.betterx.ui.layout.values.DynamicSize; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -@Environment(EnvType.CLIENT) -class ButtonRenderer extends AbstractVanillaComponentRenderer { -} - @Environment(EnvType.CLIENT) public class Button extends AbstractVanillaComponent { final net.minecraft.client.gui.components.Button.OnPress onPress; diff --git a/src/main/java/org/betterx/ui/layout/components/render/ButtonRenderer.java b/src/main/java/org/betterx/ui/layout/components/render/ButtonRenderer.java new file mode 100644 index 00000000..2f0b1712 --- /dev/null +++ b/src/main/java/org/betterx/ui/layout/components/render/ButtonRenderer.java @@ -0,0 +1,11 @@ +package org.betterx.ui.layout.components.render; + +import org.betterx.ui.layout.components.AbstractVanillaComponentRenderer; +import org.betterx.ui.layout.components.Button; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + +@Environment(EnvType.CLIENT) +public class ButtonRenderer extends AbstractVanillaComponentRenderer { +}