SunGraphics2D instead of Graphics2D (original) (raw)

Alexander Potochkin Alexander.Potochkin at oracle.com
Mon Nov 21 08:58:18 PST 2011


Hello Mario

Your patch looks very logic, let me ask the Apple guys what were the reasons behind that SunGraphics2D cast

Thanks! alexp

Hello all,

While developing our Swing/JavaFX integration [1] I've found that with the aqua look and feel it doesn't paint correctly, unless I set the awt.nativeDoubleBuffering to false. The reason for this is that internally, Graphics2D objects are casted to SunGraphics2D, probably this is a left over for some specific optimizations in the Apple JDK, but from the current OpenJDK code I can't see any reason for that cast to exist. The problem surfaces because we use a special component to proxy heavyweight behavior to the Java FX view and to provide graphics and all the usual goodies that the swing hierarchy wants. In particular, the graphics object for the heavyweight component is a proxy graphics that wraps a BufferedImage. Since those cast gets in the way only when native double buffering is enabled on the Mac, I can workaround for older JDK releases, but I would really like to see if this fix can be pushed in for OpenJDK 7. The webrev for the patch is here: http://cr.openjdk.java.net/~neugens/usegraphics2d/webrev.01/ Any comments? Cheers, Mario [1] Some links: http://jroller.com/neugens/entry/jfreechartfx http://jroller.com/neugens/entry/ohnoilostfocus http://thingsfx.com/ --- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF http://www.ladybug-studio.com IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/



More information about the macosx-port-dev mailing list