On Fri, 3 Sep 2021 04:13:46 GMT, Prasanta Sadhukhan <psadhuk...@openjdk.org> 
wrote:

>> src/java.desktop/macosx/classes/com/apple/laf/AquaMenuPainter.java line 419:
>> 
>>> 417:             } else {
>>> 418:                 arrowIcon.paintIcon(c, g, arrowIconRect.x, 
>>> arrowIconRect.y);
>>> 419:             }
>> 
>> It will be even better to implement it in the same way as done in other L&fs 
>> like windows/metal.
>
> I will like to know how because as it is pointed out, paintArrow delegates 
> drawing to ImageIcon#paintIcon which is in shared code and this is mac 
> specific issue so it needs to be handled before we call ImageIcon#paintIcon

You need to override the paintIcon method in the InvertableImageIcon returned 
by the AquaImageFactory.getMenuArrowIcon() or you can create `class 
MenuArrowIcon extends InvertableImageIcon,` and override it there.

Also take a look to another usage of InvertableImageIcon for 
"MenuItemCheckIcon", should we disable it as well?

-------------

PR: https://git.openjdk.java.net/jdk/pull/5310

Reply via email to