<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
Mon Feb 17 06:38:19 PST 2014


On 2/14/2014 3:16 PM, Sergey Bylokhov wrote:
> On 2/14/14 2:32 PM, Alexander Scherbatiy wrote:
>> 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.
> Yes but in this particular case menu items will be painted in one 
> particular scale only.

    I have created the separate issue on it:  8035069 [macosx] Loading 
resolution variants by demand
      https://bugs.openjdk.java.net/browse/JDK-8035069

   Thanks,
   Alexandr.
>> 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.
>>
>>   Thanks,
>>   Alexandr.
>>
>>>
>>> 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