SunGraphics2D instead of Graphics2D (original) (raw)
Mario Torre neugens at limasoftware.net
Fri Nov 18 15:17:44 PST 2011
- Previous message: hg: macosx-port/macosx-port/jdk: Fixed MACOSX_PORT 702: Printing to a postscript stream results is printing to a default printer
- Next message: SunGraphics2D instead of Graphics2D
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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/use_graphics2d/webrev.01/
Any comments?
Cheers, Mario
[1] Some links: http://jroller.com/neugens/entry/jfreechartfx http://jroller.com/neugens/entry/oh_no_i_lost_focus http://thingsfx.com/
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF
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/
- Previous message: hg: macosx-port/macosx-port/jdk: Fixed MACOSX_PORT 702: Printing to a postscript stream results is printing to a default printer
- Next message: SunGraphics2D instead of Graphics2D
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]