Eric Bachard (his blog) found a bug in aqua contextual menus, few weeks ago: images weren't transparent.
I firstly thought it came from native contextual menus implementation as it couldn't come from the CreateWithMask function because menu images were correctly drawn. After some investigations, i found that the AquaSalGraphics::drawAlphaBitmap function (located in salgdi.cxx) was the function used to draw bitmaps for contextual menus but also for toolbars and some images, and this function wasn't implemented. This explains why images weren't transparent. So i decided to implement it. I read the unix implementation of this function to have a starting base.
Once implemented, this function seemed to work. But for some images, i encountered a bug. It concerns images which have an X or Y position in the context which differs from 0. After hard work, i found that the bug came a bit from the current function and mainly from the AquaSalBitmap::CreateWithMask function which is called in drawAlphaBitmap. These two functions didn't work with an X or Y different from 0. I fixed it and here's the result:



Images in toolbar and in contextual menus have now a transparent background

And here are the patches: http://lebasket.free.fr/OOo/20_01_07/