I checked in the Escher-based X peers and added some configury for
enabling it. To build the X peers you need the most recent Escher
library, to be found here:

http://kennke.org/~roman/escher-0.3.0.jar

Configure with: --with-escher=/path/to/escher-0.3.0.jar
--enable-local-sockets

This automatically enables the build of the X peer package.

To start AWT with this toolkit you need the Escher classes in the
bootclasspath (dunno why, I guess since the XToolkit is loaded by the
bootclassloader, the Escher classes are loaded by it too). This probably
means you have to unpack the jar (depending on the runtime). Also, you
need to specify a system property to load the XToolkit like this:

$JAVA -Xbootclasspath/p:/path/to/escher \
-Dawt.toolkit=gnu.java.awt.peer.x.XToolkit <Mainclass>

I improved Escher with Xauthority, so there should be no problem
starting Swing apps.

These peers are good enough for running many Swing apps. It supports
full AWT1.1 style Graphics/Fonts, AWT toplevel components (haven't
figured how to make X Windows without window decorations yet), it's
quite fast.

There is a XGraphics2D impl that works and is Java-based/slow. It's not
enabled, because the Java fonts have no hinting and it is awfully slow.
The plan is to implement Graphics2D on top of Escher's GLX layer. I
believe that this has the potential to be very efficient ( maybe better
than Cairo ) because it saves us the JNI layer and the fiddling with
queues as Sun apparantly did. We would get the queue gratis, because the
commands are pushed directly to the X server via a
Socket/BufferedOutputStream.

Enjoy!

2006-06-29  Roman Kennke  <[EMAIL PROTECTED]>

        * gnu/java/awt/peer/x/GLGraphics.java,
        * gnu/java/awt/peer/x/ImageConverter.java,
        * gnu/java/awt/peer/x/KeyboardMapping.java,
        * gnu/java/awt/peer/x/XEventPump.java,
        * gnu/java/awt/peer/x/XFontPeer.java,
        * gnu/java/awt/peer/x/XFontPeer2.java,
        * gnu/java/awt/peer/x/XFramePeer.java,
        * gnu/java/awt/peer/x/XGraphics.java,
        * gnu/java/awt/peer/x/XGraphics2D.java,
        * gnu/java/awt/peer/x/XGraphicsConfiguration.java,
        * gnu/java/awt/peer/x/XGraphicsDevice.java,
        * gnu/java/awt/peer/x/XGraphicsEnvironment.java,
        * gnu/java/awt/peer/x/XImage.java,
        * gnu/java/awt/peer/x/XLightweightPeer.java,
        * gnu/java/awt/peer/x/XToolkit.java,
        * gnu/java/awt/peer/x/XWindowPeer.java,
        * gnu/java/awt/peer/x/fonts.properties: New files.
        * lib/standard.omit: Removed.
        * lib/standard.omit.in: Added.
        * configure.ac: Added configure option --with-escher. Added some
        configury for omitting gnu.java.awt.peer.x package when
        this option is not specified.

/Roman
-- 
“Improvement makes straight roads, but the crooked roads, without
Improvement, are roads of Genius.” - William Blake

Attachment: patch.diff.gz
Description: GNU Zip compressed data

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to