Yes, Chris - I think I was trying to make this point. I think the "secret" APIs argument is a red herring of speculation by JG.
- Joe On Nov 8, 10:36 am, Chris Adamson <[email protected]> wrote: > 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 > bloghttp://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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
