Create RELATIVE size mode and rename other size modes

This commit is contained in:
2021-03-17 17:14:29 +01:00
parent 0196ba0d7e
commit 4fb80d2c5a
5 changed files with 16 additions and 15 deletions

View File

@@ -5,8 +5,8 @@ import com.bartlomiejpluta.base.api.game.input.KeyEvent;
public abstract class BaseWidget implements Widget { public abstract class BaseWidget implements Widget {
protected Widget parent; protected Widget parent;
protected SizeMode widthMode = SizeMode.NORMAL; protected SizeMode widthMode = SizeMode.AUTO;
protected SizeMode heightMode = SizeMode.NORMAL; protected SizeMode heightMode = SizeMode.AUTO;
protected float x; protected float x;
protected float y; protected float y;
@@ -30,26 +30,26 @@ public abstract class BaseWidget implements Widget {
@Override @Override
public float getWidth() { public float getWidth() {
return widthMode == SizeMode.MATCH_PARENT return widthMode == SizeMode.RELATIVE
? (parent != null ? parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight() - marginLeft - marginRight : 0) ? (parent != null ? width * parent.getWidth() - parent.getPaddingLeft() - parent.getPaddingRight() - marginLeft - marginRight : 0)
: getActualWidth(); : getActualWidth();
} }
@Override @Override
public float getActualWidth() { public float getActualWidth() {
return paddingLeft + (widthMode == SizeMode.NORMAL ? width : getContentWidth()) + paddingRight; return paddingLeft + (widthMode == SizeMode.ABSOLUTE ? width : getContentWidth()) + paddingRight;
} }
@Override @Override
public float getHeight() { public float getHeight() {
return heightMode == SizeMode.MATCH_PARENT return heightMode == SizeMode.RELATIVE
? (parent != null ? parent.getHeight() - parent.getPaddingTop() - parent.getPaddingBottom() - marginTop - marginBottom : 0) ? (parent != null ? height * parent.getHeight() - parent.getPaddingTop() - parent.getPaddingBottom() - marginTop - marginBottom : 0)
: getActualHeight(); : getActualHeight();
} }
@Override @Override
public float getActualHeight() { public float getActualHeight() {
return paddingTop + (heightMode == SizeMode.NORMAL ? height : getContentHeight()) + paddingBottom; return paddingTop + (heightMode == SizeMode.ABSOLUTE ? height : getContentHeight()) + paddingBottom;
} }
@Override @Override

View File

@@ -1,7 +1,7 @@
package com.bartlomiejpluta.base.api.game.gui.base; package com.bartlomiejpluta.base.api.game.gui.base;
public enum SizeMode { public enum SizeMode {
NORMAL, AUTO,
MATCH_PARENT, ABSOLUTE,
WRAP_CONTENT RELATIVE
} }

View File

@@ -14,7 +14,7 @@ public abstract class BaseWindow extends BaseWidget implements Window {
protected GUI gui; protected GUI gui;
protected WindowManager manager; protected WindowManager manager;
protected Component content; protected Component content;
protected WindowPosition windowPosition; protected WindowPosition windowPosition = WindowPosition.CENTER;
protected BaseWindow(Context context, GUI gui) { protected BaseWindow(Context context, GUI gui) {
this.context = context; this.context = context;

View File

@@ -21,7 +21,8 @@ public final class WindowManager extends BaseWidget {
} }
public WindowManager(DisplayMode displayMode) { 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; this.displayMode = displayMode;
} }

View File

@@ -89,7 +89,7 @@ public class ScreenWidget implements Widget {
@Override @Override
public SizeMode getWidthMode() { public SizeMode getWidthMode() {
return SizeMode.MATCH_PARENT; return SizeMode.RELATIVE;
} }
@Override @Override
@@ -99,7 +99,7 @@ public class ScreenWidget implements Widget {
@Override @Override
public SizeMode getHeightMode() { public SizeMode getHeightMode() {
return SizeMode.MATCH_PARENT; return SizeMode.RELATIVE;
} }
@Override @Override