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.







Reply via email to