mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2026-04-21 18:17:07 -04:00
Tweak(control editor): make snapping less aggressive
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user