diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java | 6 | ||||
-rw-r--r-- | src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java | 3 | ||||
-rw-r--r-- | src/newt/classes/jogamp/newt/WindowImpl.java | 15 |
3 files changed, 24 insertions, 0 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java b/src/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java index 5e440092b..0d1b272ba 100644 --- a/src/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java +++ b/src/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java @@ -707,6 +707,12 @@ public class GLCanvas extends Canvas implements AWTGLAutoDrawable, WindowClosing private void createJAWTDrawableAndContext() { if ( !Beans.isDesignTime() ) { + + /** + * FIXME: Bug 1373, 1374: Implement general High-DPI for even non native DPI toolkit aware platforms (Linux, Windows) + JAWTUtil.getPixelScale(awtConfig.getAWTGraphicsConfiguration(), minPixelScale, maxPixelScale); + SurfaceScaleUtils.setNewPixelScale(hasPixelScale, hasPixelScale, reqPixelScale, minPixelScale, maxPixelScale, DEBUG ? getClass().getSimpleName() : null); + */ jawtWindow = (JAWTWindow) NativeWindowFactory.getNativeWindow(this, awtConfig); jawtWindow.setShallUseOffscreenLayer(shallUseOffscreenLayer); jawtWindow.lockSurface(); diff --git a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java index 66f50781f..ae692a2be 100644 --- a/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java +++ b/src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java @@ -643,6 +643,9 @@ public class NewtCanvasAWT extends java.awt.Canvas implements NativeWindowHolder if( dWin instanceof WindowImpl ) { final float[] maxPixelScale = jawtWindow.getMaximumSurfaceScale(new float[2]); final float[] minPixelScale = jawtWindow.getMinimumSurfaceScale(new float[2]); + // FIXME: Bug 1373, 1374: Implement general High-DPI for even non native DPI toolkit aware platforms (Linux, Windows) + // final float[] curPixelScale = jawtWindow.getCurrentSurfaceScale(new float[2]); + // ((WindowImpl)dWin).pixelScaleChangeNotify(curPixelScale, minPixelScale, maxPixelScale); ((WindowImpl)dWin).pixelScaleChangeNotify(minPixelScale, maxPixelScale, true); // ((WindowImpl)dWin).sizeChangedNotify(true /* defer */, getWidth(), getHeight(), true /* force */); } else { diff --git a/src/newt/classes/jogamp/newt/WindowImpl.java b/src/newt/classes/jogamp/newt/WindowImpl.java index 176a33669..8ef137b34 100644 --- a/src/newt/classes/jogamp/newt/WindowImpl.java +++ b/src/newt/classes/jogamp/newt/WindowImpl.java @@ -2643,6 +2643,12 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer return hasPixelScale[1]; } + /** + * {@inheritDoc} + * <p> + * FIXME: Bug 1373, 1374: Implement general High-DPI for even non native DPI toolkit aware platforms (Linux, Windows) + * </p> + */ @Override public boolean setSurfaceScale(final float[] pixelScale) { System.arraycopy(pixelScale, 0, reqPixelScale, 0, 2); @@ -4561,6 +4567,15 @@ public abstract class WindowImpl implements Window, NEWTEventConsumer /** * Notify to update the pixel-scale values. + * <p> + * FIXME: Bug 1373, 1374: Implement general High-DPI for even non native DPI toolkit aware platforms (Linux, Windows) + * A variation may be be desired like + * {@code pixelScaleChangeNotify(final float[] curPixelScale, final float[] minPixelScale, final float[] maxPixelScale)}. + * </p> + * <p> + * Maybe create interface {@code ScalableSurface.Upstream} with above method, + * to allow downstream to notify upstream ScalableSurface implementations like NEWT's {@link Window} to act accordingly. + * </p> * @param minPixelScale * @param maxPixelScale * @param reset if {@code true} {@link #setSurfaceScale(float[]) reset pixel-scale} w/ {@link #getRequestedSurfaceScale(float[]) requested values} |