|
From: <ka...@us...> - 2009-11-12 22:13:07
|
Revision: 3246
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3246&view=rev
Author: kappa1
Date: 2009-11-12 22:12:49 +0000 (Thu, 12 Nov 2009)
Log Message:
-----------
FIX: Mouse Grab should now work on Windows when using Display.setParent()
Modified Paths:
--------------
trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java
Modified: trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java
===================================================================
--- trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java 2009-10-12 11:56:46 UTC (rev 3245)
+++ trunk/LWJGL/src/java/org/lwjgl/opengl/WindowsDisplay.java 2009-11-12 22:12:49 UTC (rev 3246)
@@ -131,6 +131,7 @@
private WindowsDisplayPeerInfo peer_info;
private Object current_cursor;
private Canvas parent;
+ private static boolean hasParent = false;
private WindowsKeyboard keyboard;
private WindowsMouse mouse;
@@ -169,6 +170,7 @@
isFocused = false;
did_maximize = false;
this.parent = parent;
+ hasParent = parent != null;
long parent_hwnd = parent != null ? getHwnd(parent) : 0;
this.hwnd = nCreateWindow(x, y, mode.getWidth(), mode.getHeight(), Display.isFullscreen() || isUndecorated(), parent != null, parent_hwnd);
if (hwnd == 0) {
@@ -519,7 +521,7 @@
private static native long getForegroundWindow();
static void centerCursor(long hwnd) {
- if (getForegroundWindow() != hwnd)
+ if (getForegroundWindow() != hwnd && !hasParent)
return;
getGlobalClientRect(hwnd, rect);
int local_offset_x = rect.left;
@@ -764,7 +766,7 @@
}
private void updateClipping() {
- if ((Display.isFullscreen() || (mouse != null && mouse.isGrabbed())) && !isMinimized && isFocused && getForegroundWindow() == getHwnd()) {
+ if ((Display.isFullscreen() || (mouse != null && mouse.isGrabbed())) && !isMinimized && isFocused && (getForegroundWindow() == getHwnd() || hasParent)) {
try {
setupCursorClipping(getHwnd());
} catch (LWJGLException e) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|