From 3e3348823acb58b27cae67f34edcf9d14f0897bd Mon Sep 17 00:00:00 2001 From: SerpentSpirale Date: Thu, 29 Jul 2021 00:54:21 +0200 Subject: [PATCH] Extend dynamic position system capabilities. --- .../pojavlaunch/customcontrols/ControlData.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java index f19726028..8767b1939 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlData.java @@ -5,6 +5,8 @@ import java.util.*; import net.kdt.pojavlaunch.*; import net.kdt.pojavlaunch.utils.*; import net.objecthunter.exp4j.*; +import net.objecthunter.exp4j.function.Function; + import org.lwjgl.glfw.*; import static net.kdt.pojavlaunch.LWJGLGLFWKeycode.GLFW_KEY_UNKNOWN; @@ -182,7 +184,20 @@ public class ControlData implements Cloneable } private static float calculate(String math) { - return (float) new ExpressionBuilder(math).build().evaluate(); + return (float) new ExpressionBuilder(math) + .function(new Function("dp", 1) { + @Override + public double apply(double... args) { + return Tools.pxToDp((float) args[0]); + } + }) + .function(new Function("px", 1) { + @Override + public double apply(double... args) { + return Tools.dpToPx((float) args[0]); + } + }) + .build().evaluate(); } private static int[] inflateKeycodeArray(int[] keycodes){