This adds a bunch of 1.6 methods and constants to our AWT, and fixes
some issues in the peers. Together with these patches and a bunch of
modifications on OpenJDK, I was able to use the GTK peers in OpenJDK to
get Swing running:
http://kennke.org/blog/2007/06/25/openjdk-swing-on-gtk-peers/
2007-06-25 Roman Kennke [EMAIL PROTECTED]
* gnu/java/awt/peer/ClasspathFontPeer.java
(canDisplay): Take character as integer codepoint.
* gnu/java/awt/peer/gtk/GdkFontPeer.java
(canDisplay): Take character as integer codepoint.
* gnu/java/awt/peer/gtk/GtkComponentPeer.java
(postMouseEvent): Use MouseEvent constructor with absolute coordinates
to avoid deadlock (over getLocationOnScreen()).
* gnu/java/awt/peer/gtk/VolatileImageGraphics.java
(getDeviceConfiguration): Fall back to the default configuration
if the component is not set.
* gnu/java/awt/peer/qt/QtFontMetrics.java
(canDisplay): Take character as integer codepoint.
* gnu/java/awt/peer/qt/QtFontPeer.java
(canDisplay): Take character as integer codepoint.
* gnu/java/awt/peer/x/XFontPeer2.java
(canDisplay): Take character as integer codepoint.
* include/gnu_java_awt_peer_qt_QtFontMetrics.h
(canDisplay): Take character as integer codepoint.
* java/awt/Font.java
(DIALOG): New constant.
(DIALOG_INPUT): New constant.
(MONOSPACED): New constant.
(SANS_SERIF): New constant.
(SERIF): New constant.
(Font(Font)): New constructor.
(canDisplay(char)): Use new canDisplay(int) method.
(canDisplay(int)): New method.
(hasLayoutAttributes): New method.
* java/awt/event/MouseEvent.java
(absX,absY): New fields.
(MouseEvent): New constructor with absolute coordinates.
(getLocationOnScreen): New method.
(getXOnScreen): New method.
(getYOnScreen): New method.
* native/jni/qt-peer/qtfontmetrics.cpp
(canDisplay): Take character as integer codepoint.
/Roman
--
Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com * Tel: +49-721-663 968-0
USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe
Geschäftsführer: Dr. James J. Hunt
Index: include/gnu_java_awt_peer_qt_QtFontMetrics.h
===
RCS file: /cvsroot/classpath/classpath/include/gnu_java_awt_peer_qt_QtFontMetrics.h,v
retrieving revision 1.9
diff -u -1 -0 -r1.9 gnu_java_awt_peer_qt_QtFontMetrics.h
--- include/gnu_java_awt_peer_qt_QtFontMetrics.h 30 Apr 2006 10:37:36 - 1.9
+++ include/gnu_java_awt_peer_qt_QtFontMetrics.h 25 Jun 2007 11:25:17 -
@@ -7,21 +7,21 @@
#ifdef __cplusplus
extern C
{
#endif
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_init (JNIEnv *env, jobject, jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_initGraphics (JNIEnv *env, jobject, jobject, jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_dispose (JNIEnv *env, jobject);
JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_getStringBounds (JNIEnv *env, jobject, jstring);
-JNIEXPORT jboolean JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_canDisplay (JNIEnv *env, jobject, jchar);
+JNIEXPORT jboolean JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_canDisplay (JNIEnv *env, jobject, jint);
JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_getAscent (JNIEnv *env, jobject);
JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_getDescent (JNIEnv *env, jobject);
JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_getHeight (JNIEnv *env, jobject);
JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_getLeading (JNIEnv *env, jobject);
JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_getMaxAdvance (JNIEnv *env, jobject);
JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_charWidth (JNIEnv *env, jobject, jchar);
JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_qt_QtFontMetrics_stringWidth (JNIEnv *env, jobject, jstring);
#ifdef __cplusplus
}
Index: gnu/java/awt/peer/ClasspathFontPeer.java
===
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/ClasspathFontPeer.java,v
retrieving revision 1.11
diff -u -1 -0 -r1.11 ClasspathFontPeer.java
--- gnu/java/awt/peer/ClasspathFontPeer.java 12 Apr 2007 14:02:16 - 1.11
+++ gnu/java/awt/peer/ClasspathFontPeer.java 25 Jun 2007 11:25:18 -
@@ -637,21 +637,21 @@
/* Remaining methods are abstract */
/**
* Implementation of [EMAIL PROTECTED] Font#canDisplay(char)}
*
* @param font the font this peer is being called from. This may be
* useful if you are sharing peers between