Merge pull request #1224 from Mathias-Boulay/v3_openjdk

This commit is contained in:
Duy Tran Khanh 2021-04-15 05:21:14 +07:00 committed by GitHub
commit fc31b85095
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 62 additions and 10 deletions

View File

@ -37,10 +37,19 @@ public class AWTCanvasView extends TextureView implements TextureView.SurfaceTex
}
/** Computes the scale to better fit the screen */
int[] initScaleFactors(){
void initScaleFactors(){
initScaleFactors(0);
}
void initScaleFactors(int forcedScale){
//Could be optimized
int minDimension = Math.min(CallbackBridge.physicalHeight,CallbackBridge.physicalWidth);
mScaleFactor = (3*minDimension)/1080;
if(forcedScale < 1) { //Auto scale
int minDimension = Math.min(CallbackBridge.physicalHeight, CallbackBridge.physicalWidth);
mScaleFactor = Math.max(((3 * minDimension) / 1080) - 1, 1);
}else{
mScaleFactor = forcedScale;
}
int[] scales = new int[2]; //Left, Top
scales[0] = (CallbackBridge.physicalWidth/2);
@ -49,7 +58,7 @@ public class AWTCanvasView extends TextureView implements TextureView.SurfaceTex
scales[1] = (CallbackBridge.physicalHeight/2);
scales[1] -= scales[1]/mScaleFactor;
return scales;
mScales = scales;
}
public AWTCanvasView(Context ctx) {
@ -65,7 +74,7 @@ public class AWTCanvasView extends TextureView implements TextureView.SurfaceTex
fpsPaint.setTextSize(20);
setSurfaceTextureListener(this);
mScales = initScaleFactors();
initScaleFactors();
}
@Override

View File

@ -36,7 +36,9 @@ public class JavaGUILauncherActivity extends LoggableActivity implements View.On
private boolean isLogAllow, mSkipDetectMod;
private boolean rightOverride = false;
private int[] scaleFactor = initScaleFactors();
private int scaleFactor;
private int[] scaleFactors = initScaleFactors();
private final int fingerStillThreshold = 8;
private int initialX;
private int initialY;
@ -254,8 +256,8 @@ public class JavaGUILauncherActivity extends LoggableActivity implements View.On
}
void sendScaledMousePosition(float x, float y){
AWTInputBridge.sendMousePos((int) map(x,0,CallbackBridge.physicalWidth,scaleFactor[0],scaleFactor[2]),
(int) map(y,0,CallbackBridge.physicalHeight,scaleFactor[1],scaleFactor[3]));
AWTInputBridge.sendMousePos((int) map(x,0,CallbackBridge.physicalWidth, scaleFactors[0], scaleFactors[2]),
(int) map(y,0,CallbackBridge.physicalHeight, scaleFactors[1], scaleFactors[3]));
}
public void forceClose(View v) {
@ -330,9 +332,17 @@ public class JavaGUILauncherActivity extends LoggableActivity implements View.On
}
int[] initScaleFactors(){
return initScaleFactors(true);
}
int[] initScaleFactors(boolean autoScale){
//Could be optimized
int minDimension = Math.min(CallbackBridge.physicalHeight,CallbackBridge.physicalWidth);
int scaleFactor = (3*minDimension)/1080;
if(autoScale) { //Auto scale
int minDimension = Math.min(CallbackBridge.physicalHeight, CallbackBridge.physicalWidth);
scaleFactor = Math.max(((3 * minDimension) / 1080) - 1, 1);
}
int[] scales = new int[4]; //Left, Top, Right, Bottom
scales[0] = (CallbackBridge.physicalWidth/2);
@ -350,4 +360,17 @@ public class JavaGUILauncherActivity extends LoggableActivity implements View.On
return scales;
}
public void scaleDown(View view) {
scaleFactor = Math.max(scaleFactor - 1, 1);
scaleFactors = initScaleFactors(false);
mTextureView.initScaleFactors(scaleFactor);
sendScaledMousePosition(mousePointer.getX(),mousePointer.getY());
}
public void scaleUp(View view) {
scaleFactor = Math.min(scaleFactor + 1, 6);
scaleFactors = initScaleFactors(false);
mTextureView.initScaleFactors(scaleFactor);
sendScaledMousePosition(mousePointer.getX(),mousePointer.getY());
}
}

View File

@ -44,6 +44,24 @@
android:onClick="openLogOutput"
android:layout_toLeftOf="@id/installmod_btn2"/>
<Button
android:id="@+id/installmod_scale_down"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:background="@drawable/control_button"
android:onClick="scaleDown"
android:text="@string/control_scaledown" />
<Button
android:id="@+id/installmod_scale_up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/installmod_scale_down"
android:background="@drawable/control_button"
android:onClick="scaleUp"
android:text="@string/control_scaleup" />
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"

View File

@ -170,6 +170,8 @@
<string name="control_viewout">Log output</string>
<string name="control_adebug">Input Debug</string>
<string name="control_customkey">Send custom keycode</string>
<string name="control_scaleup">Scale up</string>
<string name="control_scaledown">Scale down</string>
<!--
<string name="control_more3"></string>
<string name="control_more4"></string>