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

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Mon Feb 29 08:54:06 UTC 2016


On 2/23/2016 12:41 PM, Rajeev Chamyal wrote:
>
> Hello Alexandr,
>
> Thanks for the review.
>
> I have updated the webrev as per review comments.
>
> Webrev : http://cr.openjdk.java.net/~rchamyal/8145174/webrev.01/ 
> <http://cr.openjdk.java.net/%7Erchamyal/8145174/webrev.01/>
>

   - splashscreen_sys.c
    Is it possible to specify the substring to copy in the snprintf 
using "%.*s" format to avoid copying of the file name to 
fileNameWithoutExt buffer?
    The returned error codes like in the snprintf should be properly 
handled.

  - systemScale.c
    The J2D_UISCALE property has been added for the testing purposes. It 
is better to include it into the getNativeScaleFactor method to use for 
splash screens too.

  - the copyright in the test need to be updated to 2016.
>
> - It may be useful to have the same name convention for 
> high-resolution splash screen on all platforms.
>     It allows to use only one  image.java-scale2x.ext file instead to 
> have image at 2x.ext <mailto:image at 2x.ext> on Mac OS X and 
> name.scale-200.ext on Windows.
>    For windows we can have scale factor as float  value so it would be 
> difficult to identify which image name to be displayed.
>
      I see. It can be an enhancement to support fractional scales too. 
For example image.java-scale150%.ext and image.java-scale144dpi.ext for 
scale factor 1.5.

     Thanks,
     Alexandr.
>
> Regards,
>
> Rajeev Chamyal
>
> *From:*Alexander Scherbatiy
> *Sent:* 18 February 2016 02:55
> *To:* Rajeev Chamyal; awt-dev at openjdk.java.net; Sergey Bylokhov
> *Subject:* Re: <AWT Dev> [9] Review request for JDK-8145174 HiDPI 
> splash screen support on Linux
>
> On 12/02/16 16:21, Rajeev Chamyal wrote:
>
>     Hello All,
>
>     Could you please review the following fix.
>
>     Bug : https://bugs.openjdk.java.net/browse/JDK-8145174
>
>     Webrev : http://cr.openjdk.java.net/~rchamyal/8145174/webrev.00/
>     <http://cr.openjdk.java.net/%7Erchamyal/8145174/webrev.00/>
>
>     This is an enhancement to support HiDPI splash screen on Linux.
>
>     As a part of this enhancement implementation to
>     splashscreen_sys.c::SplashGetScaledImageName method has been
>     provided based on the GDK_SCALE environment variable set on
>     unix/linux system.
>
>     The new implementation checks for GDK_SCALE set on system and
>     returns the scaled image name, if GDK_SCALE=2 otherwise NULL.
>
>     The naming convention followed for scaled image is as follows:
>
>     Unscaled image name : image.ext
>
>     Scaled image name : image.java-scale2x.ext
>
>
>   - It may be useful to have the same name convention for 
> high-resolution splash screen on all platforms.
>     It allows to use only one  image.java-scale2x.ext file instead to 
> have image at 2x.ext <mailto:image at 2x.ext> on Mac OS X and 
> name.scale-200.ext on Windows.
>     Could you create an enhancement on it and send it to the review?
>
>     The automated jtreg test for this is currently failing due to
>     issues in robot.getPixelColor it is returning wrong pixel color
>     for GDK_SCALE=2.
>
>     Also fixed issues in following files.
>
>     1)splashscreen_impl.c::SplashInit() was resetting the scaleFactor
>     to 1.
>
> - SplashSetScaleFactor should not be called from the 
> SplashGetScaledImageName method because SplashInit has not been called 
> yet.
>   - The problem with setting the scale factor in SplashInit is that it 
> is not clear is the high-resolution splash screen image provided or 
> not. If the the high-resolution splash screen is not provided the 
> scale factor should be set to 1.
>   - The java.c uses the following sequence for the splash screen 
> initialization:
>     --------------
>      scaled_splash_name = DoSplashGetScaledImageName(
>                         jar_name, file_name, &scale_factor);
>     DoSplashInit();
>     DoSplashSetScaleFactor(scale_factor);
>     DoSplashLoadFile(scaled_splash_name);
>     --------------
>   To make the SplashSetScaleFactor method work it should also be added 
> to the make/mapfiles/libsplashscreen/mapfile-vers file.
>
>  - There are two codes which detect the scale factor. One is in the 
> splash screen (getNativeScaleFactor()  method)
>   and another in the AWT 
> (src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c file).
>   Is it possible to move it one code that it will be used both from 
> splash screen and from AWT?
>
>   Thanks,
>   Alexandr.
>
>     2)SplashScreen.java:: getBounds fixed the typo.
>
>     Regards,
>
>     Rajeev Chamyal
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20160229/528858ee/attachment-0001.html>


More information about the awt-dev mailing list