<AWT Dev> [9] Review request for 8147440 HiDPI (Windows): Swing components have incorrect sizes after changing display resolution

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Fri Feb 5 10:55:30 UTC 2016


On 05/02/16 12:59, Alexander Stepanov wrote:
> Hello Alexandr,
>
> WRT WindowResizingOnDPIChangingTest - I have quite similar manual test 
> on review:
> http://mail.openjdk.java.net/pipermail/awt-dev/2016-January/010569.html
> (but it requires two-display configuration).
>
> Could these tests coexist later on? I hope they are not full duplicates.
   Yes, the MultiDisplayTest always requires at least 2 display but 
WindowResizingOnDPIChangingTest can be used for display DPI changing 
only on one monitor. I think they both can coexist.

   Thanks,
   Alexandr.
>
> (and now we come here, could please anyone review it?)
>
> Thanks,
> Alexander
>
>
>
> On 2/5/2016 10:52 AM, Alexandr Scherbatiy wrote:
>>
>>  Hello,
>>
>> Could you review the fix:
>>   bug: https://bugs.openjdk.java.net/browse/JDK-8147440
>>   webrev: http://cr.openjdk.java.net/~alexsch/8147440/webrev.00/
>>
>>   When Display DPI is changed the Windows OS rescales a native window 
>> size but leaves a native window location the same.
>>   Java frame size and location are calculated as
>>     nativeWindow.location = scale * javaWindow.location
>>     nativeWindow.size = scale * javaWindow.size
>>
>>   The first approach is to rescale only frame size on native level so
>>     newNativeWindow.size = newScale *  javaWindow.size
>>   This allows to leave the nativeWindow.location unchanged but the rule
>>     nativeWindow.location = newScale * javaWindow.location
>>   will be broken in this case.
>>
>>   The proposed fix explicitly rescales javaWindow.location in 
>> WWindowPeer so
>>   nativeWindow.location = prevScale * prevJavaWindow.location = 
>> newScale * newJavaWindow.location
>>
>>  Thanks,
>>  Alexandr.
>>
>



More information about the awt-dev mailing list