From 5374bcaaebeddb02a97deed60c000ead64ff09c1 Mon Sep 17 00:00:00 2001 From: Ivory Date: Sun, 29 Jan 2023 23:43:39 -0500 Subject: [PATCH] padding cleanup --- .../xyz/valnet/engine/graphics/ImmediateUI.java | 13 +++++++------ src/main/java/xyz/valnet/engine/math/Box.java | 3 +++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/xyz/valnet/engine/graphics/ImmediateUI.java b/src/main/java/xyz/valnet/engine/graphics/ImmediateUI.java index 2355e92..2982e6a 100644 --- a/src/main/java/xyz/valnet/engine/graphics/ImmediateUI.java +++ b/src/main/java/xyz/valnet/engine/graphics/ImmediateUI.java @@ -9,6 +9,7 @@ import java.util.Set; import java.util.Stack; import xyz.valnet.engine.math.Box; +import xyz.valnet.engine.math.Vector2f; import xyz.valnet.engine.math.Vector2i; import xyz.valnet.engine.math.Vector4i; import xyz.valnet.engine.scenegraph.GameObject; @@ -317,11 +318,11 @@ public abstract class ImmediateUI extends GameObject implements IMouseCaptureAre protected void groupEnd() { padEnd(); - Drawing.setLayer(getPreviousLayer()); - float h = context.box.h; - Assets.uiFrame.draw(context.box); + Box inner = context.box; context = contextStack.pop(); - adjustBox(context.box.w, h); + Drawing.setLayer(getCurrentLayer()); + Assets.uiFrame.draw(inner); + adjustBox(inner.w, inner.h); } protected void pad() { @@ -348,9 +349,9 @@ public abstract class ImmediateUI extends GameObject implements IMouseCaptureAre } protected void padEnd() { - float h = context.box.h + 16; + Box inner = context.box; context = contextStack.pop(); - adjustBox(context.box.w + 16, h); + adjustBox(inner.w + 16, inner.h + 16); } protected void horizontal(RenderCallback cb) { diff --git a/src/main/java/xyz/valnet/engine/math/Box.java b/src/main/java/xyz/valnet/engine/math/Box.java index 5c022b0..bf3a778 100644 --- a/src/main/java/xyz/valnet/engine/math/Box.java +++ b/src/main/java/xyz/valnet/engine/math/Box.java @@ -6,6 +6,7 @@ public class Box implements Serializable { public final float x, y, w, h, x2, y2; public final Vector2f a, b; + public final Vector2f pos, dim; public static final Box none = new Box(0, 0, 0, 0); @@ -28,6 +29,8 @@ public class Box implements Serializable { this.y2 = this.y + this.h; this.a = new Vector2f(this.x, this.y); this.b = new Vector2f(this.x2, this.y2); + this.pos = this.a; + this.dim = new Vector2f(this.w, this.h); } public Box(Vector2f pos, float w, float h) {