< prev index next >
src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c
Print this page
*** 2080,2084 ****
--- 2080,2119 ----
}
/**
* End DisplayMode/FullScreen support
*/
+
+ int getScale(const char *name) {
+ char *uiScale = getenv(name);
+ if (uiScale != NULL) {
+ double scale = strtod(uiScale, NULL);
+ if (errno == ERANGE || scale < 1) {
+ return -1;
+ }
+ return (int) scale;
+ }
+ return -1;
+ }
+
+ /*
+ * Class: sun_awt_X11GraphicsDevice
+ * Method: getNativeScaleFactor
+ * Signature: (I)I
+ */
+ JNIEXPORT jint JNICALL
+ Java_sun_awt_X11GraphicsDevice_getNativeScaleFactor
+ (JNIEnv *env, jobject this, jint screen) {
+
+ // for debug purposes
+ static int scale = -2.0;
+
+ if (scale == -2) {
+ scale = getScale("J2D_UISCALE");
+ }
+
+ if (scale >= 1) {
+ return scale;
+ }
+
+ return getScale("GDK_SCALE");
+ }
< prev index next >