You can do what I do … cheat I get a picture of what I want i.e. screen capture a button, then blow it up so I can see the pixels in Photoshop and grab the colours from the picture and use them in my Graphics.
I’m sure it’s different and more elegant (prettier) on Mac but on Windows the overlays are just using the alphas
255, 227 and 200 for outline, mousedown and mouseover.
I have a CGGradient function, but it only does linear and I’m not sure that would fit your needs… I finished up a test of a CIFilter example for CIShadedMaterial that could make for nice buttons… I also included the ApplyGradient function in the project.
I don’t have a gradient example (have been looking into this for a few weeks actually) but I have an example of how to draw shadows on a graphics object using declares. Maybe it can help achieve what you are looking for?