Community
Participate
Working Groups
I'm using SWT_AWT to run NASA WorldWind in an Eclipse application. There's a problem when using DPI scaling other than 100%. The SWT_AWT.new_Frame() method sets the frame size using the current DPI scaling. The embedded frame is sitting within another SWT composite, and it gets is size when the outer composite layout runs. The size of the embedded frame shouldn't be changed from what it's given during layout. In AWT, at least in Java 11, drawing uses the logical coordinates, not the screen coordinates, when DPI scaling is not 100%. I think that changed in Java 9. At the very least, it should be possible to disable this feature with a style flag, or similar. SWT_AWT.new_Frame() calls DPIUtil.autoScaleUp unconditionally on rectangles or points, so the Drawable.isAutoScalable() method can't be used.
Eclipse Version: 2022-12 (4.26.0) org.eclipse.swt.win32.win32.x86_64.source_3.122.0.v20221123-2302.jar