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 52798daeb..82b041f2a 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 @@ -7,6 +7,7 @@ import android.util.ArrayMap; import androidx.annotation.Keep; import net.kdt.pojavlaunch.Tools; +import net.kdt.pojavlaunch.customcontrols.buttons.ControlInterface; import net.kdt.pojavlaunch.prefs.LauncherPreferences; import net.kdt.pojavlaunch.utils.JSONUtils; import net.objecthunter.exp4j.ExpressionBuilder; @@ -240,7 +241,7 @@ public class ControlData { keyValueMap.put("height", "DUMMY_HEIGHT"); keyValueMap.put("screen_width", "DUMMY_DATA"); keyValueMap.put("screen_height", "DUMMY_DATA"); - keyValueMap.put("margin", Integer.toString((int) Tools.dpToPx(2))); + keyValueMap.put("margin", Integer.toString((int) ControlInterface.getMarginDistance())); keyValueMap.put("preferred_scale", "DUMMY_DATA"); conversionMap = new WeakReference<>(keyValueMap); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlDrawer.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlDrawer.java index 2c3160461..1f7bbadf1 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlDrawer.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlDrawer.java @@ -61,26 +61,27 @@ public class ControlDrawer extends ControlButton { private void alignButtons(){ if(buttons == null) return; if(drawerData.orientation == ControlDrawerData.Orientation.FREE) return; + int margin = (int) ControlInterface.getMarginDistance(); for(int i = 0; i < buttons.size(); ++i){ switch (drawerData.orientation){ case RIGHT: - buttons.get(i).setDynamicX(generateDynamicX(getX() + (drawerData.properties.getWidth() + Tools.dpToPx(2))*(i+1) )); + buttons.get(i).setDynamicX(generateDynamicX(getX() + (drawerData.properties.getWidth() + margin)*(i+1) )); buttons.get(i).setDynamicY(generateDynamicY(getY())); break; case LEFT: - buttons.get(i).setDynamicX(generateDynamicX(getX() - (drawerData.properties.getWidth() + Tools.dpToPx(2))*(i+1))); + buttons.get(i).setDynamicX(generateDynamicX(getX() - (drawerData.properties.getWidth() + margin)*(i+1))); buttons.get(i).setDynamicY(generateDynamicY(getY())); break; case UP: - buttons.get(i).setDynamicY(generateDynamicY(getY() - (drawerData.properties.getHeight() + Tools.dpToPx(2))*(i+1))); + buttons.get(i).setDynamicY(generateDynamicY(getY() - (drawerData.properties.getHeight() + margin)*(i+1))); buttons.get(i).setDynamicX(generateDynamicX(getX())); break; case DOWN: - buttons.get(i).setDynamicY(generateDynamicY(getY() + (drawerData.properties.getHeight() + Tools.dpToPx(2))*(i+1))); + buttons.get(i).setDynamicY(generateDynamicY(getY() + (drawerData.properties.getHeight() + margin)*(i+1))); buttons.get(i).setDynamicX(generateDynamicX(getX())); break; } diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlInterface.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlInterface.java index 569ddfefc..6ae683a46 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlInterface.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/buttons/ControlInterface.java @@ -30,7 +30,6 @@ import org.lwjgl.glfw.CallbackBridge; * sending keys has to be implemented by sub classes. */ public interface ControlInterface extends View.OnLongClickListener, GrabListener { - View getControlView(); ControlData getProperties(); @@ -214,7 +213,7 @@ public interface ControlInterface extends View.OnLongClickListener, GrabListener */ @SuppressWarnings("BooleanMethodIsAlwaysInverted") default boolean canSnap(ControlInterface button) { - float MIN_DISTANCE = Tools.dpToPx(8); + float MIN_DISTANCE = getSnapDistance(); if (button == this) return false; return !(net.kdt.pojavlaunch.utils.MathUtils.dist( @@ -237,7 +236,7 @@ public interface ControlInterface extends View.OnLongClickListener, GrabListener * @param y Coordinate on the y axis */ default void snapAndAlign(float x, float y) { - float MIN_DISTANCE = Tools.dpToPx(8); + final float MIN_DISTANCE = getSnapDistance(); String dynamicX = generateDynamicX(x); String dynamicY = generateDynamicY(y); @@ -404,4 +403,12 @@ public interface ControlInterface extends View.OnLongClickListener, GrabListener return true; } + + static float getSnapDistance() { + return Tools.dpToPx(6); + } + + static float getMarginDistance() { + return Tools.dpToPx(2); + } }