Review request for 8031573 [macosx] Checkmarks of JCheckBoxMenuItems aren't rendered in high resolution on Retina
Sergey.Bylokhov at oracle.com
Fri Feb 14 03:16:57 PST 2014
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.
> 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:
>>> 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
>>> 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
>>> because CImage.createImageFromName(imageName) never returns a
>>> MultiResolution image for templates.
>>> But the fix 8033534 can be updated to use the
Best regards, Sergey.
More information about the macosx-port-dev