< prev index next >

src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java

Print this page

        

*** 30,40 **** import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.awt.Insets; import java.awt.Window; import java.util.Objects; ! import sun.java2d.opengl.CGLGraphicsConfig; public final class CGraphicsDevice extends GraphicsDevice implements DisplayChangedListener { --- 30,40 ---- import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.awt.Insets; import java.awt.Window; import java.util.Objects; ! import sun.java2d.SunGraphicsEnvironment; import sun.java2d.opengl.CGLGraphicsConfig; public final class CGraphicsDevice extends GraphicsDevice implements DisplayChangedListener {
*** 138,148 **** @Override public void displayChanged() { xResolution = nativeGetXResolution(displayID); yResolution = nativeGetYResolution(displayID); ! scale = (int) nativeGetScaleFactor(displayID); //TODO configs/fullscreenWindow/modes? } @Override public void paletteChanged() { --- 138,148 ---- @Override public void displayChanged() { xResolution = nativeGetXResolution(displayID); yResolution = nativeGetYResolution(displayID); ! initScaleFactor(); //TODO configs/fullscreenWindow/modes? } @Override public void paletteChanged() {
*** 247,256 **** --- 247,267 ---- @Override public DisplayMode[] getDisplayModes() { return nativeGetDisplayModes(displayID); } + private void initScaleFactor() { + if (SunGraphicsEnvironment.isUIScaleEnabled()) { + double debugScale = SunGraphicsEnvironment.getDebugScale(); + scale = (int) (debugScale >= 1 + ? Math.round(debugScale) + : nativeGetScaleFactor(displayID)); + } else { + scale = 1; + } + } + private static native double nativeGetScaleFactor(int displayID); private static native void nativeSetDisplayMode(int displayID, int w, int h, int bpp, int refrate); private static native DisplayMode nativeGetDisplayMode(int displayID);
< prev index next >