[kaffe] CVS kaffe (jserv): Update FAQ of current AWT implementations.
cvs-commits at kaffe.org
Fri Feb 4 07:26:12 PST 2005
Date: 2005/02/04 15:20:09
Update FAQ of current AWT implementations.
2005-02-04 Jim Huang <jserv at kaffe.org>
Update FAQ of current AWT implementations to adapt the
peerful GTK+-based AWT/Swing merged from GNU Classpath.
diff -u kaffe/ChangeLog:1.3510 kaffe/ChangeLog:1.3511
--- kaffe/ChangeLog:1.3510 Fri Feb 4 14:43:21 2005
+++ kaffe/ChangeLog Fri Feb 4 15:20:09 2005
@@ -1,3 +1,9 @@
+2005-02-04 Jim Huang <jserv at kaffe.org>
+ * FAQ/FAQ.awt:
+ Update FAQ of current AWT implementations to adapt the
+ peerful GTK+-based AWT/Swing merged from GNU Classpath.
2005-02-04 Dalibor Topic <robilad at kaffe.org>
* kaffe/kaffevm/intrp/icode.h (check_array_index):
diff -u kaffe/FAQ/FAQ.awt:1.11 kaffe/FAQ/FAQ.awt:1.12
--- kaffe/FAQ/FAQ.awt:1.11 Wed Jul 14 07:08:13 2004
+++ kaffe/FAQ/FAQ.awt Fri Feb 4 15:20:08 2005
@@ -1,46 +1,79 @@
FAQ for the AWT
-1.0.2 Event Model
-We do support the old 1.0.2 event model - it should work as defined by Sun.
+Since Kaffe 1.1.5, we have successfully merged the peerful AWT implementation
+based on GTK+ from GNU Classpath, and the old one, peerless lightweight AWT,
+is renamed as kaffe-awt. The so-called peerful AWT implementation intends to
+map Java AWT peers into the corresponding widget set of specific environment,
+and that is GTK+ for the case of current GNU Classpath development. In other
+side, the original peerless kaffe-awt is lightweight, which means that it
+only makes use few necessary dependencies for basic requirements, such as
+window creation, drawing operation, color allocation, etc. You could find
+that peerless AWT implementations look alike among different backends, while
+the peerful AWT implementations differ a lot. Jim Huang prepares a compre-
+hensive comparisons of existing AWT implementations as the following
+Selection among different AWT implementations in Kaffe is very easy, just
+use "kaffe -help" to dump help message. For example pass -Xkaffe-xlib-awt
+to force KaffeVM to use Xlib-based AWT backend, while GNU Classpath's AWT
+is selected by default.
+GNU Classpath AWT implementation
+GNU Classpath AWT implementation is enabled in default build process, but
+the original peerless AWT ones are turned off. We attempt to merge AWT/Swing
+implementation from recent GNU Classpath cvs repository. To build this, make
+sure if GTK+ 2.4 and its development packages are available. Optionally, you
+might need Cairo Graphics framework (http://www.cairographics.org/) to enable
+the new Graphics2D implementation, which is reported to let many complex AWT
+and Swing applications, such as JFreeChart, run well. Tell configure script
+with --enable-gtk-cairo to enable new Graphics2D.
+GNU Classpath AWT is very excellent to meet the specifications of Sun JDK,
+and you can look into the latest comparison from [Results of comparison
+between jdk14 and classpath]:
-1.0.2 Deprecated methods
-We do support all deprecated methods - they should work as defined by Sun.
+Peeless AWT implementations
+[= 1.0.2 Event Model / Deprecated methods =]
+We do support the old 1.0.2 event model and all 1.0.2 deprecated methods,
+[= Swing =]
We completely support Swing. The version that works best with kaffe is
-JFC 1.1 with SWING 1.1.1, available from
-http://java.sun.com/products/jfc/download.html. Later versions may or
-may not run. Patches to get them to run are welcome. It would be in
-general preferable to help out GNU Classpath to implement SWING,
+the JFC 1.1 with Swing 1.1.1, which is labeled as EOL (End-Of-Life), and
+you might have to browse Sun's web page to seek for archive download:
+Note: Later versions may or may not run. Patches to get them to run are
+welcome. It would be in general preferable to help out GNU Classpath to
+implement SWING, though.
Whatever Sun may tell you about Swing being 100% pure Java - just don't
believe them. Swing make a number of assumptions about the underlying AWT
implementation and makes calls to a number of "banned" methods - oh and it
makes extensive use of deprecates.
-Selecting an AWT implementation
-There are different AWT backends for Kaffe. You can configure it to
-use a specific one, by using the --with-awt option of the configure
+[= Selecting an peerless AWT implementation =]
-Currently you have the choice between:
+Currently, the peerless AWT implementations are disabled in default build,
+and you have to pass --with-kaffe-x-awt to configure script. Also, there
+are different peerless AWT backends for Kaffe. You can configure it to
+use a specific one, by using the --with-awt option of the configure script.
+So far, you have the following choices:
- no support for AWT needed. This option is useful in embedded
an X lib based AWT backend. It is the default AWT backend if the X
Windows system is detected by the configure script.
@@ -50,7 +83,7 @@
See http://www.x.org for information on X Windows.
a Qt based AWT backend. It uses Trolltech's cross-platform graphical
library. It works with Qt 3 and Qt 2, Qt/Embedded or Qt/X11 version.
@@ -214,11 +247,6 @@
Document the workings of kaffe's AWT to make life easier for porters
-* Clean up Qt-based AWT implementation
- There is a lot of commented and ifdef-ed out code, which would need
- someone to review it and remove the cruft.
* Refactor current AWT implementation
More information about the kaffe