diff --git a/src/main/java/org/betterx/bclib/client/gui/modmenu/MainScreen.java b/src/main/java/org/betterx/bclib/client/gui/modmenu/MainScreen.java index d32f5027..eb1437b7 100644 --- a/src/main/java/org/betterx/bclib/client/gui/modmenu/MainScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/modmenu/MainScreen.java @@ -6,7 +6,10 @@ import org.betterx.bclib.config.Configs; import org.betterx.bclib.config.NamedPathConfig; import org.betterx.bclib.config.NamedPathConfig.ConfigTokenDescription; import org.betterx.bclib.config.NamedPathConfig.DependendConfigToken; -import org.betterx.ui.layout.components.*; +import org.betterx.ui.layout.components.Checkbox; +import org.betterx.ui.layout.components.HorizontalStack; +import org.betterx.ui.layout.components.LayoutComponent; +import org.betterx.ui.layout.components.VerticalStack; import org.betterx.ui.layout.values.Value; import org.betterx.ui.vanilla.LayoutScreenWithIcon; @@ -99,7 +102,7 @@ public class MainScreen extends LayoutScreenWithIcon { VerticalStack grid = new VerticalStack(Value.fill(), Value.fill()); - grid.add(VerticalScroll.create(Value.fill(), Value.fill(), content)); + grid.addScrollable(content); grid.addSpacer(8); HorizontalStack row = grid.addRow(); row.addFiller(); diff --git a/src/main/java/org/betterx/ui/layout/components/AbstractStack.java b/src/main/java/org/betterx/ui/layout/components/AbstractStack.java index 5ca093be..b27b692a 100644 --- a/src/main/java/org/betterx/ui/layout/components/AbstractStack.java +++ b/src/main/java/org/betterx/ui/layout/components/AbstractStack.java @@ -2,9 +2,11 @@ package org.betterx.ui.layout.components; import org.betterx.ui.layout.components.input.RelativeContainerEventHandler; import org.betterx.ui.layout.components.render.ComponentRenderer; +import org.betterx.ui.layout.components.render.NullRenderer; import org.betterx.ui.layout.values.Rectangle; import org.betterx.ui.layout.values.Size; import org.betterx.ui.layout.values.Value; +import org.betterx.ui.vanilla.VanillaScrollerRenderer; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.gui.components.events.GuiEventListener; @@ -155,5 +157,19 @@ public abstract class AbstractStack addScrollable(LayoutComponent content) { + return addScrollable(Value.fill(), Value.fill(), content); + } + + public VerticalScroll addScrollable( + Value width, + Value heihght, + LayoutComponent content + ) { + VerticalScroll s = VerticalScroll.create(width, height, content); + add(s); + return s; + } } diff --git a/src/main/java/org/betterx/ui/layout/values/Rectangle.java b/src/main/java/org/betterx/ui/layout/values/Rectangle.java index 938d2e08..43720720 100644 --- a/src/main/java/org/betterx/ui/layout/values/Rectangle.java +++ b/src/main/java/org/betterx/ui/layout/values/Rectangle.java @@ -43,6 +43,10 @@ public class Rectangle { return x >= left && x <= right() && y >= top && y <= bottom(); } + public boolean contains(double x, double y) { + return x >= left && x <= right() && y >= top && y <= bottom(); + } + public Rectangle intersect(Rectangle r) { if (!overlaps(r)) return ZERO; int left = Math.max(this.left, r.left);