From 7c42ee1f8120d789d952db7d34086ef8010602e0 Mon Sep 17 00:00:00 2001 From: Lance Ewing Date: Fri, 22 Mar 2024 06:43:42 +0000 Subject: [PATCH] Changed switch to portrait to be when extra padding appears in Y direction, i.e. AGI screen exactly fits window width. --- core/src/main/java/com/agifans/agile/GameScreen.java | 6 ++++-- .../java/com/agifans/agile/ui/GameScreenInputProcessor.java | 2 +- .../src/main/java/com/agifans/agile/ui/ViewportManager.java | 3 +-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/com/agifans/agile/GameScreen.java b/core/src/main/java/com/agifans/agile/GameScreen.java index c74a1df..d92510b 100644 --- a/core/src/main/java/com/agifans/agile/GameScreen.java +++ b/core/src/main/java/com/agifans/agile/GameScreen.java @@ -300,8 +300,10 @@ private void draw(float delta) { // The keyboard is always render in portrait mode, as there is space for it, // but in landscape mode, it needs to be enabled via the keyboard icon. if (keyboardType.isRendered() || viewportManager.isPortrait()) { - batch.setColor(c.r, c.g, c.b, keyboardType.getOpacity()); - batch.draw(keyboardType.getTexture(), 0, keyboardType.getRenderOffset()); + if (keyboardType.getTexture() != null) { + batch.setColor(c.r, c.g, c.b, keyboardType.getOpacity()); + batch.draw(keyboardType.getTexture(), 0, keyboardType.getRenderOffset()); + } } batch.setColor(c.r, c.g, c.b, 0.5f); diff --git a/core/src/main/java/com/agifans/agile/ui/GameScreenInputProcessor.java b/core/src/main/java/com/agifans/agile/ui/GameScreenInputProcessor.java index 4a76242..2c20078 100644 --- a/core/src/main/java/com/agifans/agile/ui/GameScreenInputProcessor.java +++ b/core/src/main/java/com/agifans/agile/ui/GameScreenInputProcessor.java @@ -484,7 +484,7 @@ public boolean touchDragged(int screenX, int screenY, int pointer) { * @param height The new screen height. */ public void resize(int width, int height) { - if (height > width) { + if (height > (width / 1.32f)) { // Change to portrait if it is not already a portrait keyboard. if (!keyboardType.isPortrait()) { keyboardType = KeyboardType.PORTRAIT_LOWER_CASE; diff --git a/core/src/main/java/com/agifans/agile/ui/ViewportManager.java b/core/src/main/java/com/agifans/agile/ui/ViewportManager.java index fb0582a..4af5aa1 100644 --- a/core/src/main/java/com/agifans/agile/ui/ViewportManager.java +++ b/core/src/main/java/com/agifans/agile/ui/ViewportManager.java @@ -73,8 +73,7 @@ public static ViewportManager getInstance() { * @param height The new screen height. */ public void update(int width, int height) { - // TODO: This should ideally switch to portrait as soon as gap appears in Y direction. - portrait = (height > width); + portrait = (height > (width / 1.32f)); getCurrentViewport().update(width, height, true); }