From 74e4781b57b2f6e0aa581bce0f68ae2ab0de363b Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 26 Jun 2022 21:45:36 +0800 Subject: Primitive tags category implementation --- .../shedaniel/rei/api/client/gui/widgets/Widget.java | 2 +- .../shedaniel/rei/api/client/gui/widgets/Widgets.java | 19 +++++++++++++++++-- .../java/me/shedaniel/rei/impl/ClientInternals.java | 6 ++++-- 3 files changed, 22 insertions(+), 5 deletions(-) (limited to 'api/src/main/java') diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java index 1c70c616d..df350c9c7 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java @@ -85,7 +85,7 @@ public abstract class Widget extends AbstractContainerEventHandler implements ne Point mouse = mouse(); Vector4f mouseVec = new Vector4f(mouse.x, mouse.y, 0, 1); mouseVec.transform(pose); - return pushMouse(mouse); + return pushMouse(new Point(mouseVec.x(), mouseVec.y())); } public int getZ() { 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 33adcde29..eb1f54d7d 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 @@ -303,15 +303,30 @@ public final class Widgets { return ClientInternals.getWidgetsProvider().concatWidgets(widgets); } - public static Widget noOp() { + public static WidgetWithBounds noOp() { return ClientInternals.getWidgetsProvider().noOp(); } @ApiStatus.Experimental - public static Widget overflowed(Rectangle bounds, WidgetWithBounds widget) { + public static WidgetWithBounds overflowed(Rectangle bounds, WidgetWithBounds widget) { return ClientInternals.getWidgetsProvider().wrapOverflow(bounds, widget); } + @ApiStatus.Experimental + public static WidgetWithBounds padded(int padding, WidgetWithBounds widget) { + return padded(padding, padding, padding, padding, widget); + } + + @ApiStatus.Experimental + public static WidgetWithBounds padded(int padX, int padY, WidgetWithBounds widget) { + return padded(padX, padX, padY, padY, widget); + } + + @ApiStatus.Experimental + public static WidgetWithBounds padded(int padLeft, int padRight, int padTop, int padBottom, WidgetWithBounds widget) { + return ClientInternals.getWidgetsProvider().wrapPadded(padLeft, padRight, padTop, padBottom, 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 f68d28e95..36456399b 100644 --- a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java +++ b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java @@ -201,8 +201,10 @@ public final class ClientInternals { Widget concatWidgets(List widgets); - Widget noOp(); + WidgetWithBounds noOp(); - Widget wrapOverflow(Rectangle bounds, WidgetWithBounds widget); + WidgetWithBounds wrapOverflow(Rectangle bounds, WidgetWithBounds widget); + + WidgetWithBounds wrapPadded(int padLeft, int padRight, int padTop, int padBottom, WidgetWithBounds widget); } } -- cgit