<AWT Dev> [9] Review request for 8031573 [macosx] Checkmarks of JCheckBoxMenuItems aren't rendered in high resolution on Retina

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Fri Feb 14 02:32:32 PST 2014

On 2/14/2014 2:12 AM, Sergey Bylokhov wrote:
> Hi, Alexander.
> Did you check option of loading of the picture on demand?Since most of 
> the time x2 version is useless on non hdpi and vice versa.
     It's not quite true.
     MacOSX choses a necessary image representation based on the current 
transformations. Setting current transformation to scale 2x leads
     that the high resolution image is drawn even on non HiDPI display.

     There is a similar mechanism for the MultiResolution toolkit 
images. The base image is drawn in case if the high-resolution image has 
not been loaded yet.
     It has an issue that if there is no one more repaint event the 
image with high resolution is not shown.

    I would suggest to move this topic to a separate issue.


> On 13.02.2014 18:04, Alexander Scherbatiy wrote:
>> Hello,
>> Could you review the fix:
>>   bug: https://bugs.openjdk.java.net/browse/JDK-8031573
>>   webrev: http://cr.openjdk.java.net/~alexsch/8031573/webrev.00
>>   The NSMenu* system icons are templates and do not have image 
>> representations.
>>   The fix retrieves images with original and double size from an 
>> NSImage and put them to a MultiResolution image.
>>   The fix also adds sun.awt.image.MultiResolutionBufferedImage class 
>> which can be used uniformly for a Multiresolution image creation.
>>   The fix is independent of the fix 8033534 Get MultiResolution image 
>> from native system
>> http://mail.openjdk.java.net/pipermail/awt-dev/2014-February/006991.html
>>   because CImage.createImageFromName(imageName) never returns a 
>> MultiResolution image for templates.
>>   But the fix 8033534 can be updated to use the 
>> MultiResolutionBufferedImage.
>> Thanks,
>> Alexandr.

More information about the awt-dev mailing list