Create VScrollable container

This commit is contained in:
2021-03-17 20:25:27 +01:00
parent 4fb80d2c5a
commit e7b66d4d50
8 changed files with 163 additions and 5 deletions

View File

@@ -389,6 +389,11 @@ public class NanoVGGUI implements GUI {
nvgScissor(nvg, x, y, width, height);
}
@Override
public void resetClip() {
nvgResetScissor(nvg);
}
@Override
public void handleKeyEvent(KeyEvent event) {
screenWidget.handleKeyEvent(event);

View File

@@ -1,32 +0,0 @@
package com.bartlomiejpluta.base.engine.util.math;
import static java.lang.Math.max;
import static java.lang.Math.min;
public class MathUtil {
public static int gcdEuclidean(int a, int b) {
int x = a;
int y = b;
int z;
while(y != 0) {
z = x % y;
x = y;
y = z;
}
return x;
}
public static int clamp(int value, int min, int max) {
return min(max, max(value, min));
}
public static float clamp(float value, float min, float max) {
return min(max, max(value, min));
}
public static double clamp(double value, double min, double max) {
return min(max, max(value, min));
}
}

View File

@@ -4,9 +4,9 @@ import com.bartlomiejpluta.base.api.game.entity.Direction;
import com.bartlomiejpluta.base.api.game.entity.Entity;
import com.bartlomiejpluta.base.api.game.entity.Movement;
import com.bartlomiejpluta.base.api.game.map.layer.object.ObjectLayer;
import com.bartlomiejpluta.base.api.util.math.MathUtil;
import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.engine.core.gl.object.mesh.Mesh;
import com.bartlomiejpluta.base.engine.util.math.MathUtil;
import com.bartlomiejpluta.base.engine.world.movement.MovableSprite;
import lombok.EqualsAndHashCode;
import lombok.Getter;

View File

@@ -1,11 +1,11 @@
package com.bartlomiejpluta.base.engine.world.image.manager;
import com.bartlomiejpluta.base.api.game.image.Image;
import com.bartlomiejpluta.base.api.util.math.MathUtil;
import com.bartlomiejpluta.base.engine.core.gl.object.material.Material;
import com.bartlomiejpluta.base.engine.core.gl.object.texture.TextureManager;
import com.bartlomiejpluta.base.engine.error.AppException;
import com.bartlomiejpluta.base.engine.project.config.ProjectConfiguration;
import com.bartlomiejpluta.base.engine.util.math.MathUtil;
import com.bartlomiejpluta.base.engine.util.mesh.MeshManager;
import com.bartlomiejpluta.base.engine.util.res.ResourcesManager;
import com.bartlomiejpluta.base.engine.world.image.asset.ImageAsset;