<AWT Dev> Merge CacioWeb

Mario Torre neugens.limasoftware at gmail.com
Fri Jan 13 13:44:11 PST 2012

Il giorno 13/gen/2012, alle ore 17:42, Richard Bair ha scritto:
> On Jan 5, 2012, at 12:20 PM, Roman Kennke <roman at kennke.org> wrote:
>> Hi all,
>> Thanks Mario for bringing this up.
>> First of all let me explain what is Cacio and why we think it's useful.
>> In essence, it is an (somewhat) abstract implementation of AWT peers. It
>> implements all the AWT widgets by using Swing for painting and
>> event/logic processing. This reduces the burden of porting/implementing
>> the Java graphics stack enourmously. Currently, when one wants to port
>> the Java graphics stack, the AWT peers need to be implemented as well,
>> for compatibility. This is a huge effort, and considered rather
>> pointless by many, because AWT is not that widely used anyway. It is
>> particularily difficult on platforms that don't have any native widgets
>> (most embedded platforms). Using Cacio, this effort is reduced to
>> implementing a Java2D backend and some basic windowing functionality. It
>> even provides a windowing implementation in Java for platforms that
>> don't even support windows (e.g. framebuffers).
> Funny thing, I believe the Mac OS port uses this same technique. Does anybody know what the differences are between the two?


I think they may have used some ideas :) but we didn't participate in the process.

Back ten I suggested to use Cacio (and improve upon it), but I didn't receive any follow up. The design is quite similar indeed.

>> We also have a somewhat special backend which renders
>> exclusively into a BufferedImage and can only process events generated
>> by Robot, which is particularily useful for unit testing GUI
>> applications without messing around with the user's desktop or without
>> requiring graphics on a continuous integration server (extremely useful
>> if you're into this GUI testing thingy).
> That would be very cool. The SQE team uses robot / image testing heavily for FX and "taking over my computer" is one of the chief problems with it (the other being image tests are finicky).

Cacio is a Java2D backend in the end, I don't know if it works with JavaFX, but it would be nice to give it a try, maybe you could help us on that? :)

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:

More information about the awt-dev mailing list