From 3fba4ab3a0e2249d5784badcb0b79dbb9c592b8d Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Wed, 2 Dec 2020 16:37:46 +0700 Subject: [PATCH] [Feature request] Customizable mouse size --- .../net/kdt/pojavlaunch/BaseMainActivity.java | 9 +++++++++ .../prefs/LauncherPreferenceFragment.java | 6 ++++++ .../prefs/LauncherPreferences.java | 4 +++- app/src/main/res/values/strings.xml | 3 +++ app/src/main/res/xml/pref_main.xml | 20 ++++++++++++++----- 5 files changed, 36 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java b/app/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java index 2cf582fe5..b2f640569 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/BaseMainActivity.java @@ -171,6 +171,15 @@ public class BaseMainActivity extends LoggableActivity { //this.mouseToggleButton = findButton(R.id.control_togglemouse); this.touchPad = (LinearLayout) findViewById(R.id.main_touchpad); this.mousePointer = (ImageView) findViewById(R.id.main_mouse_pointer); + this.mousePointer.post(new Runnable(){ + + @Override + public void run() { + ViewGroup.LayoutParams params = mousePointer.getLayoutParams(); + params.width = (int) (mousePointer.getWidth() / 100f * LauncherPreferences.PREF_MOUSESCALE); + params.height = (int) (mousePointer.getHeight() / 100f * LauncherPreferences.PREF_MOUSESCALE); + } + }); this.contentLog = (LinearLayout) findViewById(R.id.content_log_layout); this.contentScroll = (ScrollView) findViewById(R.id.content_log_scroll); diff --git a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java index 53f5b3249..8bc51382d 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java +++ b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java @@ -25,6 +25,12 @@ public class LauncherPreferenceFragment extends PreferenceFragmentCompat seek3.setMin(20); seek3.setMax(500); seek3.setValue((int) LauncherPreferences.PREF_BUTTONSIZE); + + SeekBarPreference seek4 = (SeekBarPreference) findPreference("mousescale"); + seek4.setMin(20); + seek4.setMax(500); + seek4.setValue((int) LauncherPreferences.PREF_MOUSESCALE); + } @Override diff --git a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java index cebb95cce..1793a35f5 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java +++ b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java @@ -12,7 +12,8 @@ public class LauncherPreferences public static boolean PREF_VERTYPE_OLDALPHA = false; public static boolean PREF_VERTYPE_OLDBETA = false; public static boolean PREF_FREEFORM = false; - public static float PREF_BUTTONSIZE = 1.0f; + public static float PREF_BUTTONSIZE = 100f; + public static float PREF_MOUSESCALE = 100f; public static int PREF_LONGPRESS_TRIGGER = 500; public static String PREF_DEFAULTCTRL_PATH = Tools.CTRLDEF_FILE; public static String PREF_CUSTOM_JAVA_ARGS; @@ -21,6 +22,7 @@ public class LauncherPreferences public static void loadPreferences() { PREF_BUTTONSIZE = DEFAULT_PREF.getInt("buttonscale", 100); + PREF_MOUSESCALE = DEFAULT_PREF.getInt("mousescale", 100); PREF_FREEFORM = DEFAULT_PREF.getBoolean("freeform", false); PREF_VERTYPE_RELEASE = DEFAULT_PREF.getBoolean("vertype_release", true); PREF_VERTYPE_SNAPSHOT = DEFAULT_PREF.getBoolean("vertype_snapshot", false); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3bf03db43..99c4a9384 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -99,10 +99,13 @@ Change trigger time for long press in destroy block and drop item. Control buttons scaling Upscale them if buttons are too small. + Mouse scaling + Change size of virtual mouse. Set control buttons size JVM Launch arguments Be careful, this may make game crash if modified without knowledge. General settings + Scaling settings Version type will be in version list Release Snapshot diff --git a/app/src/main/res/xml/pref_main.xml b/app/src/main/res/xml/pref_main.xml index bb0b0a269..90cf799b0 100644 --- a/app/src/main/res/xml/pref_main.xml +++ b/app/src/main/res/xml/pref_main.xml @@ -15,11 +15,6 @@ android:title="@string/mcl_setting_title_longpresstrigger" android:summary="@string/mcl_setting_subtitle_longpresstrigger" /> - - + + + + + + + +