diff options
author | Sven Gothel <[email protected]> | 2020-01-17 15:17:17 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2020-01-17 15:17:17 +0100 |
commit | ba83a59363023ba0cc314746d7864ccf2cdd4d7a (patch) | |
tree | d21c28e75cc4b4c6fd20fb2956ce0ba1717e6240 /src/newt | |
parent | e03204605f95dc3586d8e3582250211954542be5 (diff) |
Bug 1374: NEWT/AWT: Annotation regarding general High-DPI for even non native DPI toolkit aware platforms (Linux, Windows)
NEWT + NewtCanvasAWT:
Maybe create "interface ScalableSurface.Upstream {
void pixelScaleChangeNotify(final float[] curPixelScale, final float[] minPixelScale, final float[] maxPixelScale); }"
to allow downstream to notify upstream ScalableSurface implementations like NEWT's Window to act accordingly.
+++
AWT GLCanvas: Add remark where to add the potential pixel scale.
Diffstat (limited to 'src/newt')
-rw-r--r-- | src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java | 3 | ||||
-rw-r--r-- | src/newt/classes/jogamp/newt/WindowImpl.java | 15 |
2 files changed, 18 insertions, 0 deletions
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} |