*** empty log message ***

This commit is contained in:
Elias Naur 2003-10-07 15:10:24 +00:00
parent 14d023ed09
commit 859f7bf50e
5 changed files with 60 additions and 13 deletions

View File

@ -241,9 +241,9 @@ static pascal OSStatus doKeyModifier(EventHandlerCallRef next_handler, EventRef
}
bool registerKeyboardHandler(JNIEnv* env, WindowRef win_ref) {
bool error = registerHandler(env, win_ref, doKeyUp, kEventRawKeyUp);
error = error || registerHandler(env, win_ref, doKeyDown, kEventRawKeyDown);
error = error || registerHandler(env, win_ref, doKeyModifier, kEventRawKeyModifiersChanged);
bool error = registerHandler(env, win_ref, doKeyUp, kEventClassKeyboard, kEventRawKeyUp);
error = error || registerHandler(env, win_ref, doKeyDown, kEventClassKeyboard, kEventRawKeyDown);
error = error || registerHandler(env, win_ref, doKeyModifier, kEventClassKeyboard, kEventRawKeyModifiersChanged);
return !error;
}

View File

@ -43,9 +43,52 @@
#include "tools.h"
#include "org_lwjgl_input_Mouse.h"
bool registerMouseHandler(JNIEnv* env, WindowRef win_ref) {
#define NUM_BUTTONS 7
static unsigned char button_state[NUM_BUTTONS];
static pascal OSStatus doMouseDragged(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
printf("Mouse dragged\n");
return eventNotHandledErr; // allow the event to propagate
}
static pascal OSStatus doMouseMoved(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
printf("Mouse moved\n");
return eventNotHandledErr; // allow the event to propagate
}
static pascal OSStatus doMouseDown(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
printf("Mouse down\n");
return eventNotHandledErr; // allow the event to propagate
}
static pascal OSStatus doMouseUp(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
printf("Mouse up\n");
return eventNotHandledErr; // allow the event to propagate
}
static pascal OSStatus doMouseWheel(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
printf("Mouse wheel\n");
return eventNotHandledErr; // allow the event to propagate
}
bool registerMouseHandler(JNIEnv* env, WindowRef win_ref) {
bool error = registerHandler(env, win_ref, doMouseDown, kEventClassMouse, kEventMouseDown);
error = error || registerHandler(env, win_ref, doMouseUp, kEventClassMouse, kEventMouseUp);
error = error || registerHandler(env, win_ref, doMouseMoved, kEventClassMouse, kEventMouseMoved);
error = error || registerHandler(env, win_ref, doMouseDragged, kEventClassMouse, kEventMouseDragged);
error = error || registerHandler(env, win_ref, doMouseWheel, kEventClassMouse, kEventMouseWheelMoved);
return !error;
}
JNIEXPORT jboolean JNICALL Java_org_lwjgl_input_Mouse_nHasWheel(JNIEnv *, jclass) {
return JNI_TRUE;
}
JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetButtonCount(JNIEnv *, jclass) {
return NUM_BUTTONS;
}
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_initIDs(JNIEnv * env, jclass clazz) {
}
@ -68,4 +111,9 @@ JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nDestroy(JNIEnv * env, jclass
}
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nPoll(JNIEnv * env, jclass clazz) {
CGMouseDelta x;
CGMouseDelta y;
CGGetLastMouseDelta(&x, &y);
if (x != 0 || y != 0)
printf("delta x %d y %d\n", x, y);
}

View File

@ -109,11 +109,11 @@ static pascal OSStatus doQuit(EventHandlerCallRef next_handler, EventRef event,
static bool registerEventHandlers(JNIEnv *env) {
bool error;
error = registerHandler(env, win_ref, doQuit, kEventWindowClose);
error = error || registerHandler(env, win_ref, doActivate, kEventWindowActivated);
error = error || registerHandler(env, win_ref, doDeactivate, kEventWindowDeactivated);
error = error || registerHandler(env, win_ref, doMiniaturized, kEventWindowCollapsed);
error = error || registerHandler(env, win_ref, doMaximize, kEventWindowExpanded);
error = registerHandler(env, win_ref, doQuit, kEventClassWindow, kEventWindowClose);
error = error || registerHandler(env, win_ref, doActivate, kEventClassWindow, kEventWindowActivated);
error = error || registerHandler(env, win_ref, doDeactivate, kEventClassWindow, kEventWindowDeactivated);
error = error || registerHandler(env, win_ref, doMiniaturized, kEventClassWindow, kEventWindowCollapsed);
error = error || registerHandler(env, win_ref, doMaximize, kEventClassWindow, kEventWindowExpanded);
return !error && registerKeyboardHandler(env, win_ref) && registerMouseHandler(env, win_ref);
}

View File

@ -8,10 +8,10 @@ void throwException(JNIEnv* env, const char* msg) {
env->ThrowNew(cls, msg);
}
bool registerHandler(JNIEnv* env, WindowRef win_ref, EventHandlerProcPtr func, UInt32 event_kind) {
bool registerHandler(JNIEnv* env, WindowRef win_ref, EventHandlerProcPtr func, UInt32 event_class, UInt32 event_kind) {
EventTypeSpec event_type;
EventHandlerUPP handler_upp = NewEventHandlerUPP(func);
event_type.eventClass = kEventClassKeyboard;
event_type.eventClass = event_class;
event_type.eventKind = event_kind;
OSStatus err = InstallWindowEventHandler(win_ref, handler_upp, 1, &event_type, NULL, NULL);
DisposeEventHandlerUPP(handler_upp);
@ -22,7 +22,6 @@ bool registerHandler(JNIEnv* env, WindowRef win_ref, EventHandlerProcPtr func, U
return false;
}
bool initLock(JNIEnv* env) {
OSStatus err = MPCreateCriticalRegion(&critical_region);
if (err != noErr) {

View File

@ -8,7 +8,7 @@
#define unlock() unlockLWJGL();}
extern void throwException(JNIEnv* env, const char* msg);
extern bool registerHandler(JNIEnv* env, WindowRef win_ref, EventHandlerProcPtr func, UInt32 event_kind);
extern bool registerHandler(JNIEnv* env, WindowRef win_ref, EventHandlerProcPtr func, UInt32 event_class, UInt32 event_kind);
extern bool initLock(JNIEnv* env);
extern void destroyLock(void);
extern void lockLWJGL(void);