Just listening to #329 and I think undue attention is paid to OSX "secret APIs" in the context of a hypothetical community port of a Mac JDK.
Gosling's blog http://nighthacks.com/roller/jag/entry/steve_jobs_comments_on_apple complains about secret APIs in graphics rendering, but then goes on to say (as Tor points out in this episode) that Java on the Mac uses the default Java graphics pipeline, meaning that any platform-specific graphics rendering abilities, secret or not, are off the table anyways. This is what Gosling is complaining about in the third graf: Oracle's insistence that Apple abandon its anti-aliased rendering pipeline, and stay pixel-for-pixel compatible with aliased Windows XP. Secondly, in the context of #329's discussion, it's not clear why secret APIs are even relevant. The things that an AWT/Swing port needs to provide are a known problem, and it is known that these things can all be done with public APIs. After all, SWT does them all, and is far more entangled with native widgets than Swing/AWT. And since SWT is open source, it should be straightforward to go see how they did it. So, I don't buy that secret APIs are necessary for a SwingAWT port. Frankly, I don't think there's a hidden empire of wonderful secret APIs in Mac OS X. If there are, then I'd like to know why iTunes is still such a goddamn train-wreck. As most people acknowledge, many secret APIs are hacks and kludges that haven't had adequate review and aren't fit for third-party use. Also for those secret APIs that are found through various means (method swizzing, memory inspection, etc.), there's no technical reason on OS X that you can't call them -- look at the Ars article that Gosling cites and you'll see that the problem isn't that Mozilla can't see the secret function that WebKit uses (they know it's called WKDisableCGDeferredUpdates), but that the licensing implications of calling it are unclear. Big difference, though still a blocker for Mozilla. One unrelated thing I thought of while mentally composing this note. The Mac has two viable graphics APIs: Quartz (aka, Core Graphics), and OpenGL. Quartz is implemented in OpenGL, which provides hardware- acceleration for all system graphics (yay). So a port of Java2D would presumably want to use Quartz. But then I wondered: has anyone implemented Java2D in OpenGL? I thought there was a project doing this years ago, but I couldn't remember. If so, then it might be worth investigating if it would be practical for a hypothetical port to use that for its Java2D implementation, using NSOpenGLViews all over the place and then drawing Java2D->OpenGL into them. --Chris -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to javapo...@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.