<AWT Dev> [9] Review request for JDK-8145173 HiDPI splash screen support on Windows

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Wed Mar 23 10:46:06 UTC 2016


On 23/03/16 13:56, Rajeev Chamyal wrote:
> Hello Alexandr,
>
> I have updated the webrev as per review comments.
>
> http://cr.openjdk.java.net/~rchamyal/8145173/webrev.06/

   The fix looks good to me.

   Thanks,
   Alexandr.
>
> Regards,
> Rajeev Chamyal
>
> -----Original Message-----
> From: Alexandr Scherbatiy
> Sent: 22 March 2016 20:15
> To: Rajeev Chamyal; Sergey Bylokhov; awt-dev at openjdk.java.net; build-dev at openjdk.java.net
> Subject: Re: <AWT Dev> [9] Review request for JDK-8145173 HiDPI splash screen support on Windows
>
> On 3/22/2016 12:43 AM, Rajeev Chamyal wrote:
>> Hello All,
>>
>> Please review the updated webrev.
>> http://cr.openjdk.java.net/~rchamyal/8145173/webrev.05/
>>
>> With VC2010  java.c ::ShowSplashScreen  fails with segmentation fault on  calling free on scaled_splash_name .
>> This failure is due to different C runtime used by libjli and lib splashScreen.
>> Fix: Allocating a max scaled image name length buffer in java.c and
>> passing it to splashscreen_sys.c
>      Just few small comments:
>      - SplashGetScaledImageName can return a boolean value which indicates that high-resolution splash screen has been found
>      - The getMaxScaledImageNamePostfixLen function can be added which just returns max length of the scaled image postfix.
>        It allows to control this value on the java.desktop side rather to keep it in java.c file
>      - systemScale.cpp copyright need to be updated to 2016
>
>     Thanks,
>     Alexandr.
>> Regards,
>> Rajeev Chamyal
>>
>> -----Original Message-----
>> From: Rajeev Chamyal
>> Sent: 15 March 2016 18:26
>> To: Alexander Scherbatiy; Sergey Bylokhov; awt-dev at openjdk.java.net;
>> build-dev at openjdk.java.net
>> Subject: RE: <AWT Dev> [9] Review request for JDK-8145173 HiDPI splash
>> screen support on Windows
>>
>> Hello All,
>>
>> Please review the updated webrev.
>> http://cr.openjdk.java.net/~rchamyal/8145173/webrev.04/
>>
>> Alexandr : I have build code with VS2013 and I didn't get any errors you mentioned.
>> Still I have updated the code as suggested.
>>
>> Added build team for make file review. JPRT build with fix was successful.
>>
>> Regards,
>> Rajeev Chamyal
>>
>> -----Original Message-----
>> From: Alexander Scherbatiy
>> Sent: 14 March 2016 17:28
>> To: Rajeev Chamyal
>> Cc: Sergey Bylokhov; awt-dev at openjdk.java.net
>> Subject: Re: <AWT Dev> [9] Review request for JDK-8145173 HiDPI splash
>> screen support on Windows
>>
>> On 3/14/2016 8:03 AM, Rajeev Chamyal wrote:
>>> Hello Sergey,
>>>
>>> Could you please review the enhancement.
>>>
>>> I have raised a new enhancement for unifying the splash screen image
>>> names across platforms.
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8151787
>>>
>>     575 float *scaleFactor)
>>     576 {
>>     577     *scaleFactor = 1.0;
>>     578     float dpiScaleX = -1.0f;
>>     579     float dpiScaleY = -1.0f;
>>     580     GetScreenDpi(getPrimaryMonitor(), &dpiScaleX, &dpiScaleY);
>>
>> I have errors building the fix with VS2010:
>> --------------------------------
>> * For target
>> support_native_java.desktop_libsplashscreen_splashscreen_sys.obj:
>> splashscreen_sys.c
>> jdk/src/java.desktop/windows/native/libsplashscreen/splashscreen_sys.c
>> (578)
>> : error C2143: syntax error : missing ';' before 'type'
>> jdk/src/java.desktop/windows/native/libsplashscreen/splashscreen_sys.c
>> (579)
>> : error C2143: syntax error : missing ';' before 'type'
>> --------------------------------
>>
>> You need to move variables declaration to the beginning of a statement.
>>
>> Thanks,
>> Alexandr.
>>
>>> Regards,
>>>
>>> Rajeev Chamyal
>>>
>>> *From:*Alexandr Scherbatiy
>>> *Sent:* 10 March 2016 18:46
>>> *To:* Rajeev Chamyal; awt-dev at openjdk.java.net; Sergey Bylokhov
>>> *Subject:* Re: <AWT Dev> [9] Review request for JDK-8145173 HiDPI
>>> splash screen support on Windows
>>>
>>> The fix looks good to me.
>>>
>>> Thanks,
>>> Alexandr.
>>>
>>> On 3/10/2016 3:05 AM, Rajeev Chamyal wrote:
>>>
>>>       Hello Alexandr,
>>>
>>>       Thanks for the review. Below is the updated webrev as per review
>>>       comments.
>>>
>>>       http://cr.openjdk.java.net/~rchamyal/8145173/webrev.03/
>>>       <http://cr.openjdk.java.net/%7Erchamyal/8145173/webrev.03/>
>>>
>>>       Regards,
>>>
>>>       Rajeev Chamyal
>>>
>>>       *From:*Alexandr Scherbatiy
>>>       *Sent:* 10 March 2016 11:39
>>>       *To:* Rajeev Chamyal; awt-dev at openjdk.java.net
>>>       <mailto:awt-dev at openjdk.java.net>; Sergey Bylokhov
>>>       *Subject:* Re: <AWT Dev> [9] Review request for JDK-8145173 HiDPI
>>>       splash screen support on Windows
>>>
>>>       On 3/2/2016 9:50 PM, Rajeev Chamyal wrote:
>>>
>>>
>>>           Hello All,
>>>
>>>           Please review the updated webrev.
>>>
>>>           Added a free call for duplicate file name in
>>>           splashscreen_sys.c :: SplashGetScaledImageName
>>>
>>>           http://cr.openjdk.java.net/~rchamyal/8145173/webrev.02/
>>>           <http://cr.openjdk.java.net/%7Erchamyal/8145173/webrev.02/>
>>>
>>>
>>>          awt_Win32GraphicsDevice.cpp
>>>        656     dpiX = GetScreenDpi(GetMonitor());
>>>        657     if (dpiX > 0) {
>>>        658         dpiX = dpiX >= 96 ? dpiX / 96 : dpiX;
>>>        659         SetScale(dpiX, dpiX);
>>>
>>>       The Windows HiDPI graphics support was designed to handle both DPI
>>>       X and Y scales. The GetScreenDpi should return both values to be
>>>       used in SetScale method.
>>>
>>>       systemScale.cpp
>>>
>>>          38     float scale = -2.0f;
>>>
>>>          39     if (scale == -2) {
>>>
>>>       Initially the scale variable was defined as static to avoid rereading the J2D_UISCALE test variable each time.
>>>
>>>       It is better to preserve the "// for debug purposes" comment also.
>>>
>>>         
>>>
>>>       MultiResolutionSplashTest.java
>>>
>>>       +   scaleFactor = (float)((SunGraphics2D) g).surfaceData.getDefaultScaleX();
>>>
>>>         
>>>
>>>       Now it is possible to get the the scale factor using
>>> GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDev
>>> i
>>> ce().getDefaultConfiguration().getDefaultTransform().getScaleX()
>>>
>>>                
>>>
>>>       Thanks,
>>>        Alexandr.
>>>
>>>
>>>
>>>           Regards,
>>>
>>>           Rajeev Chamyal
>>>
>>>           *From:*Rajeev Chamyal
>>>           *Sent:* 01 March 2016 15:45
>>>           *To:* awt-dev at openjdk.java.net
>>>           <mailto:awt-dev at openjdk.java.net>; Sergey Bylokhov; Alexander
>>>           Scherbatiy
>>>           *Subject:* RE: <AWT Dev> [9] Review request for JDK-8145173
>>>           HiDPI splash screen support on Windows
>>>
>>>           Hello All,
>>>
>>>           Gentle reminder.
>>>
>>>           Please review the updated webrev.
>>>
>>>
>>>           http://cr.openjdk.java.net/~rchamyal/8145173/webrev.01/
>>>           <http://cr.openjdk.java.net/%7Erchamyal/8145173/webrev.01/>
>>>
>>>           Regards,
>>>
>>>           Rajeev Chamyal
>>>
>>>           *From:*Rajeev Chamyal
>>>           *Sent:* 16 February 2016 16:01
>>>           *To:* awt-dev at openjdk.java.net
>>>           <mailto:awt-dev at openjdk.java.net>; Sergey Bylokhov; Alexander
>>>           Scherbatiy
>>>           *Subject:* <AWT Dev> [9] Review request for JDK-8145173 HiDPI
>>>           splash screen support on Windows
>>>
>>>           Hello All,
>>>
>>>           Could you please review the following fix.
>>>
>>>           Bug : https://bugs.openjdk.java.net/browse/JDK-8145173
>>>
>>>           Webrev :
>>>           http://cr.openjdk.java.net/~rchamyal/8145173/webrev.00/
>>>           <http://cr.openjdk.java.net/%7Erchamyal/8145173/webrev.00/>
>>>
>>>           This is an enhancement to support HiDPI splash screen on windows.
>>>
>>>           As a part of this enhancement implementation to
>>>           splashscreen_sys.c::SplashGetScaledImageName method has been
>>>           provided.
>>>
>>>           System dpi and scale factor are used to determine the scaled
>>>           image name. Dpi value is read using GetDpiForMonitor API on
>>>           Windows 8 and GetDesktopDpi API on Windows 7.
>>>
>>>           Scale factor is calculated from the dpi value.
>>>
>>>           The naming convention followed for scaled image name is as
>>>           follows:
>>>
>>>           Refer :
>>>           
>>> https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh965325.a
>>> s
>>> px
>>>
>>>           Unscaled image name : image.ext
>>>
>>>           Scaled image name : image.scale-<dpi value>./ext/
>>>
>>>           Regards,
>>>
>>>           Rajeev Chamyal
>>>




More information about the build-dev mailing list