Mac OS X: Don't use global is_grabbed variable in MacOSXMouseEventQueue.nWarpCursor
This commit is contained in:
parent
2d436e3231
commit
bea9667f8b
|
@ -44,19 +44,13 @@
|
||||||
#include "org_lwjgl_opengl_MacOSXMouseEventQueue.h"
|
#include "org_lwjgl_opengl_MacOSXMouseEventQueue.h"
|
||||||
#include "common_tools.h"
|
#include "common_tools.h"
|
||||||
|
|
||||||
static bool is_grabbed;
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_MacOSXMouseEventQueue_nGrabMouse(JNIEnv *env, jclass unused, jboolean grab) {
|
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_MacOSXMouseEventQueue_nGrabMouse(JNIEnv *env, jclass unused, jboolean grab) {
|
||||||
bool new_grabbed = grab == JNI_TRUE;
|
CGAssociateMouseAndMouseCursorPosition(grab == JNI_TRUE ? FALSE : TRUE);
|
||||||
if (is_grabbed != new_grabbed) {
|
if (grab)
|
||||||
is_grabbed = new_grabbed;
|
|
||||||
CGAssociateMouseAndMouseCursorPosition(is_grabbed ? FALSE : TRUE);
|
|
||||||
if (is_grabbed)
|
|
||||||
CGDisplayHideCursor(kCGDirectMainDisplay);
|
CGDisplayHideCursor(kCGDirectMainDisplay);
|
||||||
else
|
else
|
||||||
CGDisplayShowCursor(kCGDirectMainDisplay);
|
CGDisplayShowCursor(kCGDirectMainDisplay);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_MacOSXMouseEventQueue_nWarpCursor(JNIEnv *env, jclass unused, jint x, jint y) {
|
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_MacOSXMouseEventQueue_nWarpCursor(JNIEnv *env, jclass unused, jint x, jint y) {
|
||||||
CGPoint p;
|
CGPoint p;
|
||||||
|
|
Loading…
Reference in New Issue