diff --git a/FCL/src/main/java/com/tungsten/fcl/activity/JVMActivity.java b/FCL/src/main/java/com/tungsten/fcl/activity/JVMActivity.java index fd30d4ba..6488aa37 100644 --- a/FCL/src/main/java/com/tungsten/fcl/activity/JVMActivity.java +++ b/FCL/src/main/java/com/tungsten/fcl/activity/JVMActivity.java @@ -82,7 +82,7 @@ public class JVMActivity extends FCLActivity implements TextureView.SurfaceTextu public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surfaceTexture, int i, int i1) { Logging.LOG.log(Level.INFO, "surface ready, start jvm now!"); fclBridge.setSurfaceDestroyed(false); - int width = menuType == MenuType.GAME ? (int) (i * fclBridge.getScaleFactor()) : FCLBridge.DEFAULT_WIDTH; + int width = menuType == MenuType.GAME ? (int) ((i + ((GameMenu) menu).getMenuSetting().getCursorOffset()) * fclBridge.getScaleFactor()) : FCLBridge.DEFAULT_WIDTH; int height = menuType == MenuType.GAME ? (int) (i1 * fclBridge.getScaleFactor()) : FCLBridge.DEFAULT_HEIGHT; if (menuType == MenuType.GAME) { GameOption gameOption = new GameOption(Objects.requireNonNull(menu.getBridge()).getGameDir()); @@ -99,7 +99,7 @@ public class JVMActivity extends FCLActivity implements TextureView.SurfaceTextu @Override public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surfaceTexture, int i, int i1) { - int width = menuType == MenuType.GAME ? (int) (i * fclBridge.getScaleFactor()) : FCLBridge.DEFAULT_WIDTH; + int width = menuType == MenuType.GAME ? (int) ((i + ((GameMenu) menu).getMenuSetting().getCursorOffset()) * fclBridge.getScaleFactor()) : FCLBridge.DEFAULT_WIDTH; int height = menuType == MenuType.GAME ? (int) (i1 * fclBridge.getScaleFactor()) : FCLBridge.DEFAULT_HEIGHT; surfaceTexture.setDefaultBufferSize(width, height); fclBridge.pushEventWindow(width, height); diff --git a/FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java b/FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java index d3b9bafe..0bf93617 100644 --- a/FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java +++ b/FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java @@ -418,7 +418,7 @@ public class GameMenu implements MenuCallback, View.OnClickListener { int screenHeight = AndroidUtils.getScreenHeight(FCLApplication.getCurrentActivity()); if (fclBridge != null) { fclBridge.setScaleFactor(doubleValue); - int width = (int) (screenWidth * doubleValue); + int width = (int) ((screenWidth + menuSetting.getCursorOffset()) * doubleValue); int height = (int) (screenHeight * doubleValue); fclBridge.getSurfaceTexture().setDefaultBufferSize(width, height); fclBridge.pushEventWindow(width, height);