[kaffe] CVS kaffe (jserv): Update FAQ of current AWT implementations.

Kaffe CVS cvs-commits at kaffe.org
Fri Feb 4 07:26:12 PST 2005


PatchSet 5971 
Date: 2005/02/04 15:20:09
Author: jserv
Branch: HEAD
Tag: (none) 
Log:
Update FAQ of current AWT implementations.

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.

Members: 
	ChangeLog:1.3510->1.3511 
	FAQ/FAQ.awt:1.11->1.12 

Index: kaffe/ChangeLog
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):
Index: kaffe/FAQ/FAQ.awt
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
------------------
+AWT Implementations
+-------------------
 
-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
+screenshot:
+  http://www.kaffe.org/~jserv/awt-implementations.png
+
+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]:
+  http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-classpath.html
 
-1.0.2 Deprecated methods
-------------------------
 
-We do support all deprecated methods - they should work as defined by Sun.
+Peeless AWT implementations
+---------------------------
 
-Swing
------
+[= 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,
-though.
+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:
+  http://java.sun.com/products/archive/index.html
+
+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
-script.
+[= 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.
 
-* --with-awt=no
+So far, you have the following choices:
 
-  no support for AWT needed. This option is useful in embedded
-  environments.
-
-* --with-awt=X
+* --with-kaffe-x-awt
 
   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.
 
-* --with-awt=qt
+* --with-kaffe-qt-awt
 
   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
   and mergers.
-
-* 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 mailing list