<AWT Dev> [OpenJDK 2D-Dev] [9] Review request for 8137571 Linux HiDPI Graphics support

Jim Graham james.graham at oracle.com
Fri Oct 23 00:07:05 UTC 2015

I'm guessing that 6356322 has been fixed?

In XComponentPeer we shouldn't be scaling a region, we should have 
created the region in a scaled coordinate system...

In XDragSourceContextPeer, should the scaledown try to do rounding?
Also, XMouseInfoPeer, lines 71,72?
Also, XToolkit, lines 725,726,855-858?
Also, XlibUtil, lines 129-131,159?
Also, X11GraphicsConfig, line 272?

awt_GraphicsEnv.c - what about GDK_DPI_SCALE?  It seems like it might be 
used to compensate for fonts on HiDPI screens that are already scaled 
for the DPI, but if you honor GDK_SCALE then you will doubly-scale the 
fonts.  I'm not entirely sure I understand that, though, but it bares 
further investigation...

Also, is GDK_SCALE the only platform scale factor that Linux/X11 might use?

awt_Robot.c, line 280 - you lose the pointer to the old pixbuf, but 
shouldn't both be freed?
awt_Robot.c, just verifying what I'm seeing - that if GTK operations 
fail then we use nearest neighbor scaling in the X11 backup code, right?

gtk2_interface.h - isn't that a fragile connection to the gtk library to 
declare our own enum and assume that the compilers will use the same values?


On 10/22/15 7:03 AM, Alexander Scherbatiy wrote:
> On 10/10/2015 3:16 AM, Jim Graham wrote:
>> Hi Alexandr,
>> Is it possible to create a diff of this without the fixes from 8073320
>> mixed in?  This bug is really just focused on the Linux support of
>> that other framework, right?
>      Here is the webrev which contains only the Linux changes:
>         http://cr.openjdk.java.net/~alexsch/8137571/webrev.01
>     Thanks,
>     Alexandr.
>>             ...jim
>> On 10/5/15 7:01 AM, Alexander Scherbatiy wrote:
>>> Hello,
>>> Could you review the fix:
>>>    bug: https://bugs.openjdk.java.net/browse/JDK-8137571
>>>    webrev: http://cr.openjdk.java.net/~alexsch/8137571/webrev.00
>>>    This is an initial part of the HiDPI Graphics support on Linux for
>>> the JEP 263: HiDPI Graphics on Windows and Linux
>>>      http://openjdk.java.net/jeps/263
>>>    - scale factors are added to surface dates
>>>    - window size and events coordinates are scaled on peer side
>>>    - XRobotPeer mouseMove() and getRGBPixel() methods are updated
>>>    - GDK_SCALE system variable is used to detect the scale factor in
>>> GTK+
>>>    - "sun.java2d.uiScale.enabled", and "sun.java2d.uiScale" options are
>>> added for the testing purposes
>>>    - some classes like LWWindowPeer, SurfaceManager, SunGraphics2D,
>>> DrawImage, SurfaceData are just the same as in the fix for HiDPI
>>> Graphics support on Windows
>>> Thanks,
>>> Alexandr.

More information about the awt-dev mailing list