Import GNU Classpath (libgcj-import-20070727).

libjava/

2007-08-04  Matthias Klose  <doko@ubuntu.com>

	Import GNU Classpath (libgcj-import-20070727).

	* Regenerate class and header files.
	* Regenerate auto* files.

	* include/jvm.h:
	* jni-libjvm.cc (Jv_JNI_InvokeFunctions): Rename type.
	* jni.cc (_Jv_JNIFunctions, _Jv_JNI_InvokeFunctions): Likewise.
	* jni.cc (_Jv_JNI_CallAnyMethodA, _Jv_JNI_CallAnyVoidMethodA,
	_Jv_JNI_CallMethodA, _Jv_JNI_CallVoidMethodA,
	_Jv_JNI_CallStaticMethodA, _Jv_JNI_CallStaticVoidMethodA,
	_Jv_JNI_NewObjectA, _Jv_JNI_SetPrimitiveArrayRegion): Constify
	jvalue parameter.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Likewise.

	* java/lang/VMFloat.java (toString, parseFloat): New.

	* gnu/awt/xlib/XToolkit.java (setAlwaysOnTop, isModalityTypeSupported,
	isModalExclusionTypeSupported): New (stub only).
	* gnu/awt/xlib/XCanvasPeer.java (requestFocus): Likewise.
	* gnu/awt/xlib/XFramePeer.java (updateMinimumSize, updateIconImages,
	updateFocusableWindowState, setModalBlocked, getBoundsPrivate,
	setAlwaysOnTop): Likewise.
	* gnu/awt/xlib/XFontPeer.java (canDisplay): Update signature.

	* scripts/makemake.tcl: Ignore gnu/javax/sound/sampled/gstreamer,
	ignore javax.sound.sampled.spi.MixerProvider, ignore .in files.

	* HACKING: Mention --enable-gstreamer-peer, removal of generated files.


libjava/classpath/

2007-08-04  Matthias Klose  <doko@ubuntu.com>

	* java/util/EnumMap.java (clone): Add cast.

From-SVN: r127204
This commit is contained in:
Matthias Klose
2007-08-04 10:53:49 +00:00
parent 2c3de459b6
commit f06a83c0b2
522 changed files with 13385 additions and 4867 deletions
@@ -97,8 +97,9 @@ public class XEventPump
display = d;
windows = new HashMap();
drag = -1;
Thread t = new Thread(this);
t.start();
Thread thread = new Thread(this, "X Event Pump");
thread.setDaemon(true);
thread.start();
}
/**
@@ -148,8 +149,9 @@ public class XEventPump
private void handleEvent(Event xEvent)
{
Integer key = new Integer(xEvent.window_id());;
Window awtWindow = (Window) windows.get(key);
Integer key = null;
Window awtWindow = null;
if (XToolkit.DEBUG)
System.err.println("fetched event: " + xEvent);
@@ -157,26 +159,45 @@ public class XEventPump
{
case ButtonPress.CODE:
ButtonPress bp = (ButtonPress) xEvent;
key= new Integer(bp.event_window_id);
awtWindow = (Window) windows.get(key);
// Create and post the mouse event.
int button = bp.detail();
// AWT cannot handle more than 3 buttons and expects 0 instead.
if (button >= gnu.x11.Input.BUTTON3)
button = 0;
drag = button;
MouseEvent mp = new MouseEvent(awtWindow, MouseEvent.MOUSE_PRESSED,
System.currentTimeMillis(), 0,
System.currentTimeMillis(),
KeyboardMapping.mapModifiers(bp.state()) | buttonToModifier(button),
bp.event_x(), bp.event_y(),
1, false, button);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(mp);
break;
case ButtonRelease.CODE:
ButtonRelease br = (ButtonRelease) xEvent;
key= new Integer(br.event_window_id);
awtWindow = (Window) windows.get(key);
button = br.detail();
// AWT cannot handle more than 3 buttons and expects 0 instead.
if (button >= gnu.x11.Input.BUTTON3)
button = 0;
drag = -1;
MouseEvent mr = new MouseEvent(awtWindow, MouseEvent.MOUSE_RELEASED,
System.currentTimeMillis(), 0,
System.currentTimeMillis(),
KeyboardMapping.mapModifiers(br.state()) | buttonToModifier(button),
br.event_x(), br.event_y(),
1, false, br.detail());
1, false, button);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(mr);
break;
case MotionNotify.CODE:
MotionNotify mn = (MotionNotify) xEvent;
key= new Integer(mn.event_window_id);
awtWindow = (Window) windows.get(key);
MouseEvent mm;
if (drag == -1)
{
@@ -195,6 +216,8 @@ public class XEventPump
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(mm);
break;
case ConfigureNotify.CODE:
key= new Integer(((ConfigureNotify) xEvent).event_window_id);
awtWindow = (Window) windows.get(key);
ConfigureNotify c = (ConfigureNotify) xEvent;
if (XToolkit.DEBUG)
System.err.println("resize request for window id: " + key);
@@ -213,6 +236,8 @@ public class XEventPump
}
break;
case Expose.CODE:
key= new Integer(((Expose) xEvent).window_id);
awtWindow = (Window) windows.get(key);
Expose exp = (Expose) xEvent;
if (XToolkit.DEBUG)
System.err.println("expose request for window id: " + key);
@@ -228,6 +253,8 @@ public class XEventPump
break;
case KeyPress.CODE:
case KeyRelease.CODE:
key = new Integer(((Input) xEvent).event_window_id);
awtWindow = (Window) windows.get(key);
handleKeyEvent(xEvent, awtWindow);
break;
default:
@@ -282,6 +309,23 @@ public class XEventPump
}
/** Translates an X button identifier to the AWT's MouseEvent modifier
* mask. As the AWT cannot handle more than 3 buttons those return
* <code>0</code>.
*/
static int buttonToModifier(int button)
{
switch (button)
{
case gnu.x11.Input.BUTTON1:
return MouseEvent.BUTTON1_DOWN_MASK | MouseEvent.BUTTON1_MASK;
case gnu.x11.Input.BUTTON2:
return MouseEvent.BUTTON2_DOWN_MASK | MouseEvent.BUTTON2_MASK;
case gnu.x11.Input.BUTTON3:
return MouseEvent.BUTTON3_DOWN_MASK | MouseEvent.BUTTON3_MASK;
}
return 0;
}
}