From 57a1b48efff20922a4f2cbe3561f1034da2db0fb Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 26 Jun 2022 03:33:14 +0800 Subject: WIP on Tag Category, add Overflow Widget --- .../me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java | 6 +++--- .../main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java | 5 +++++ api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'api/src/main/java/me') diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java index 67ca753f4..1bf43694b 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java @@ -41,13 +41,13 @@ public class DelegateWidget extends WidgetWithBounds { this.children = Collections.singletonList(widget); } - public Widget delegate() { + protected Widget delegate() { return widget; } @Override - public void render(PoseStack poseStack, int i, int j, float f) { - delegate().render(poseStack, i, j, f); + public void render(PoseStack poseStack, int mouseX, int mouseY, float delta) { + delegate().render(poseStack, mouseX, mouseY, delta); } @Override diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java index df535cfa3..33adcde29 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java @@ -307,6 +307,11 @@ public final class Widgets { return ClientInternals.getWidgetsProvider().noOp(); } + @ApiStatus.Experimental + public static Widget overflowed(Rectangle bounds, WidgetWithBounds widget) { + return ClientInternals.getWidgetsProvider().wrapOverflow(bounds, widget); + } + public static Iterable walk(Iterable listeners, Predicate predicate) { return () -> new AbstractIterator() { Stack> stack; diff --git a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java index cf6e13be6..f68d28e95 100644 --- a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java +++ b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java @@ -37,7 +37,6 @@ import me.shedaniel.rei.api.client.plugins.REIClientPlugin; import me.shedaniel.rei.api.client.registry.screen.ClickArea; import me.shedaniel.rei.api.client.view.ViewSearchBuilder; import me.shedaniel.rei.api.common.entry.EntryIngredient; -import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.plugins.PluginManager; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -203,5 +202,7 @@ public final class ClientInternals { Widget concatWidgets(List widgets); Widget noOp(); + + Widget wrapOverflow(Rectangle bounds, WidgetWithBounds widget); } } -- cgit