aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/awt/GLCanvas.java6
-rw-r--r--src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java3
-rw-r--r--src/newt/classes/jogamp/newt/WindowImpl.java15
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}