diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/base/BaseWidget.java b/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/base/BaseWidget.java index d8db1105..e7cee78f 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/base/BaseWidget.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/base/BaseWidget.java @@ -5,8 +5,8 @@ import com.bartlomiejpluta.base.api.game.input.KeyEvent; public abstract class BaseWidget implements Widget { protected Widget parent; - protected SizeMode widthMode = SizeMode.NORMAL; - protected SizeMode heightMode = SizeMode.NORMAL; + protected SizeMode widthMode = SizeMode.AUTO; + protected SizeMode heightMode = SizeMode.AUTO; protected float x; protected float y; @@ -30,26 +30,26 @@ public abstract class BaseWidget implements Widget { @Override public float getWidth() { - return widthMode == SizeMode.MATCH_PARENT - ? (parent != null ? parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight() - marginLeft - marginRight : 0) + return widthMode == SizeMode.RELATIVE + ? (parent != null ? width * parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight() - marginLeft - marginRight : 0) : getActualWidth(); } @Override public float getActualWidth() { - return paddingLeft + (widthMode == SizeMode.NORMAL ? width : getContentWidth()) + paddingRight; + return paddingLeft + (widthMode == SizeMode.ABSOLUTE ? width : getContentWidth()) + paddingRight; } @Override public float getHeight() { - return heightMode == SizeMode.MATCH_PARENT - ? (parent != null ? parent.getHeight() - parent.getPaddingTop() - parent.getPaddingBottom() - marginTop - marginBottom : 0) + return heightMode == SizeMode.RELATIVE + ? (parent != null ? height * parent.getHeight() - parent.getPaddingTop() - parent.getPaddingBottom() - marginTop - marginBottom : 0) : getActualHeight(); } @Override public float getActualHeight() { - return paddingTop + (heightMode == SizeMode.NORMAL ? height : getContentHeight()) + paddingBottom; + return paddingTop + (heightMode == SizeMode.ABSOLUTE ? height : getContentHeight()) + paddingBottom; } @Override diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/base/SizeMode.java b/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/base/SizeMode.java index f283c45e..9dbdced4 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/base/SizeMode.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/base/SizeMode.java @@ -1,7 +1,7 @@ package com.bartlomiejpluta.base.api.game.gui.base; public enum SizeMode { - NORMAL, - MATCH_PARENT, - WRAP_CONTENT + AUTO, + ABSOLUTE, + RELATIVE } diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/window/BaseWindow.java b/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/window/BaseWindow.java index c2594751..a12774d8 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/window/BaseWindow.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/window/BaseWindow.java @@ -14,7 +14,7 @@ public abstract class BaseWindow extends BaseWidget implements Window { protected GUI gui; protected WindowManager manager; protected Component content; - protected WindowPosition windowPosition; + protected WindowPosition windowPosition = WindowPosition.CENTER; protected BaseWindow(Context context, GUI gui) { this.context = context; diff --git a/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/window/WindowManager.java b/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/window/WindowManager.java index 2b6455cd..5cf0795f 100644 --- a/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/window/WindowManager.java +++ b/api/src/main/java/com/bartlomiejpluta/base/api/game/gui/window/WindowManager.java @@ -21,7 +21,8 @@ public final class WindowManager extends BaseWidget { } public WindowManager(DisplayMode displayMode) { - super.setSizeMode(SizeMode.MATCH_PARENT, SizeMode.MATCH_PARENT); + super.setSizeMode(SizeMode.RELATIVE, SizeMode.RELATIVE); + super.setSize(1f, 1f); this.displayMode = displayMode; } diff --git a/engine/src/main/java/com/bartlomiejpluta/base/engine/gui/widget/ScreenWidget.java b/engine/src/main/java/com/bartlomiejpluta/base/engine/gui/widget/ScreenWidget.java index ee8d3057..345128a3 100644 --- a/engine/src/main/java/com/bartlomiejpluta/base/engine/gui/widget/ScreenWidget.java +++ b/engine/src/main/java/com/bartlomiejpluta/base/engine/gui/widget/ScreenWidget.java @@ -89,7 +89,7 @@ public class ScreenWidget implements Widget { @Override public SizeMode getWidthMode() { - return SizeMode.MATCH_PARENT; + return SizeMode.RELATIVE; } @Override @@ -99,7 +99,7 @@ public class ScreenWidget implements Widget { @Override public SizeMode getHeightMode() { - return SizeMode.MATCH_PARENT; + return SizeMode.RELATIVE; } @Override