summaryrefslogtreecommitdiffstats
path: root/platform/android/java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/java')
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/GodotIO.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/platform/android/java/lib/src/org/godotengine/godot/GodotIO.java b/platform/android/java/lib/src/org/godotengine/godot/GodotIO.java
index f060c7aaff..5543745444 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/GodotIO.java
+++ b/platform/android/java/lib/src/org/godotengine/godot/GodotIO.java
@@ -47,6 +47,7 @@ import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.DisplayCutout;
+import android.view.Surface;
import android.view.WindowInsets;
import androidx.core.content.FileProvider;
@@ -295,6 +296,28 @@ public class GodotIO {
}
}
+ /**
+ This function is used by DisplayServer::screen_get_internal_current_rotation (C++)
+ and is used to implement a performance optimization in devices that do not offer
+ a HW rotator.
+ @return
+ Rotation in degrees, in multiples of 90°
+ */
+ public int getInternalCurrentScreenRotation() {
+ int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
+
+ switch (rotation) {
+ case Surface.ROTATION_90:
+ return 90;
+ case Surface.ROTATION_180:
+ return 180;
+ case Surface.ROTATION_270:
+ return 270;
+ default:
+ return 0;
+ }
+ }
+
public void setEdit(GodotEditText _edit) {
edit = _edit;
}