*** empty log message ***
This commit is contained in:
parent
fc925baab4
commit
50b8c3941c
|
@ -1,61 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (c) 2002 Light Weight Java Game Library Project
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are
|
|
||||||
* met:
|
|
||||||
*
|
|
||||||
* * Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* * Neither the name of 'Light Weight Java Game Library' nor the names of
|
|
||||||
* its contributors may be used to endorse or promote products derived
|
|
||||||
* from this software without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* $Id$
|
|
||||||
*
|
|
||||||
* Mac OS X specific window functions.
|
|
||||||
*
|
|
||||||
* @author Scott Palmer <cfxmarvin@users.sourceforge.net>
|
|
||||||
* @version $Revision$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "org_lwjgl_Window.h"
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_Window_nSetTitle
|
|
||||||
(JNIEnv * env, jobject obj, jstring title_obj)
|
|
||||||
{
|
|
||||||
const char * title = env->GetStringUTFChars(title_obj, NULL);
|
|
||||||
//setWindowTitle(title);
|
|
||||||
env->ReleaseStringUTFChars(title_obj, title);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Class: org_lwjgl_Window
|
|
||||||
* Method: tick
|
|
||||||
* Signature: ()V
|
|
||||||
*/
|
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_Window_tick
|
|
||||||
(JNIEnv *env, jobject obj)
|
|
||||||
{
|
|
||||||
//handleMessages(env, obj);
|
|
||||||
}
|
|
|
@ -45,22 +45,34 @@
|
||||||
|
|
||||||
#define NUM_BUTTONS 7
|
#define NUM_BUTTONS 7
|
||||||
|
|
||||||
|
static jfieldID fid_dx;
|
||||||
|
static jfieldID fid_dy;
|
||||||
|
static jfieldID fid_dwheel;
|
||||||
|
static jfieldID fid_buttons;
|
||||||
|
|
||||||
static unsigned char button_state[NUM_BUTTONS];
|
static unsigned char button_state[NUM_BUTTONS];
|
||||||
static int last_x;
|
static int last_x;
|
||||||
static int last_y;
|
static int last_y;
|
||||||
|
static int wheel_dz;
|
||||||
|
|
||||||
static pascal OSStatus doMouseDown(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
static pascal OSStatus doMouseDown(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
||||||
printf("Mouse down\n");
|
printf("Mouse down\n");
|
||||||
|
lock();
|
||||||
|
unlock();
|
||||||
return eventNotHandledErr; // allow the event to propagate
|
return eventNotHandledErr; // allow the event to propagate
|
||||||
}
|
}
|
||||||
|
|
||||||
static pascal OSStatus doMouseUp(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
static pascal OSStatus doMouseUp(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
||||||
printf("Mouse up\n");
|
printf("Mouse up\n");
|
||||||
|
lock();
|
||||||
|
unlock();
|
||||||
return eventNotHandledErr; // allow the event to propagate
|
return eventNotHandledErr; // allow the event to propagate
|
||||||
}
|
}
|
||||||
|
|
||||||
static pascal OSStatus doMouseWheel(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
static pascal OSStatus doMouseWheel(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
||||||
printf("Mouse wheel\n");
|
printf("Mouse wheel\n");
|
||||||
|
lock();
|
||||||
|
unlock();
|
||||||
return noErr;
|
return noErr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,6 +92,10 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetButtonCount(JNIEnv *, jcla
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_initIDs(JNIEnv * env, jclass clazz) {
|
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_initIDs(JNIEnv * env, jclass clazz) {
|
||||||
|
fid_dx = env->GetStaticFieldID(clazz, "dx", "I");
|
||||||
|
fid_dy = env->GetStaticFieldID(clazz, "dy", "I");
|
||||||
|
fid_dwheel = env->GetStaticFieldID(clazz, "dwheel", "I");
|
||||||
|
fid_buttons = env->GetStaticFieldID(clazz, "buttons", "[Z");
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetNativeCursorCaps(JNIEnv *env, jclass clazz) {
|
JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetNativeCursorCaps(JNIEnv *env, jclass clazz) {
|
||||||
|
@ -97,18 +113,32 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetMaxCursorSize(JNIEnv *env,
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nCreate(JNIEnv * env, jclass clazz) {
|
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nCreate(JNIEnv * env, jclass clazz) {
|
||||||
last_x = 0;
|
last_x = 0;
|
||||||
last_y = 0;
|
last_y = 0;
|
||||||
|
wheel_dz = 0;
|
||||||
|
CGAssociateMouseAndMouseCursorPosition(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nDestroy(JNIEnv * env, jclass clazz) {
|
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nDestroy(JNIEnv * env, jclass clazz) {
|
||||||
|
CGAssociateMouseAndMouseCursorPosition(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nPoll(JNIEnv * env, jclass clazz) {
|
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nPoll(JNIEnv * env, jclass clazz) {
|
||||||
Point cursor_pos;
|
lock();
|
||||||
|
/*Point cursor_pos;
|
||||||
GetMouse(&cursor_pos);
|
GetMouse(&cursor_pos);
|
||||||
int dx = cursor_pos.v - last_x;
|
int dx = cursor_pos.v - last_x;
|
||||||
int dy = cursor_pos.h - last_y;
|
int dy = cursor_pos.h - last_y;
|
||||||
last_x += dx;
|
last_x += dx;
|
||||||
last_y += dy;
|
last_y += dy;*/
|
||||||
|
CGMouseDelta dx, dy;
|
||||||
|
CGGetLastMouseDelta(&dx, &dy);
|
||||||
|
env->SetStaticIntField(clazz, fid_dx, (jint)dx);
|
||||||
|
env->SetStaticIntField(clazz, fid_dy, (jint)dy);
|
||||||
|
env->SetStaticIntField(clazz, fid_dwheel, (jint)wheel_dz);
|
||||||
|
jbooleanArray buttons_array = (jbooleanArray)env->GetStaticObjectField(clazz, fid_buttons);
|
||||||
|
env->SetBooleanArrayRegion(buttons_array, 0, NUM_BUTTONS, button_state);
|
||||||
|
wheel_dz = 0;
|
||||||
|
unlock();
|
||||||
|
/*
|
||||||
if (dx != 0 || dy != 0)
|
if (dx != 0 || dy != 0)
|
||||||
printf("dx %d dy %d, lx %d ly %d\n", dx, dy, last_x, last_y);
|
printf("dx %d dy %d, lx %d ly %d\n", dx, dy, last_x, last_y);*/
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,14 +77,14 @@ static pascal OSStatus doMiniaturized(EventHandlerCallRef next_handler, EventRef
|
||||||
lock();
|
lock();
|
||||||
miniaturized = true;
|
miniaturized = true;
|
||||||
unlock();
|
unlock();
|
||||||
return noErr;
|
return eventNotHandledErr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static pascal OSStatus doMaximize(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
static pascal OSStatus doMaximize(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
||||||
lock();
|
lock();
|
||||||
miniaturized = false;
|
miniaturized = false;
|
||||||
unlock();
|
unlock();
|
||||||
return noErr;
|
return eventNotHandledErr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static pascal OSStatus doActivate(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
static pascal OSStatus doActivate(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
||||||
|
@ -92,14 +92,14 @@ static pascal OSStatus doActivate(EventHandlerCallRef next_handler, EventRef eve
|
||||||
miniaturized = false;
|
miniaturized = false;
|
||||||
activated = true;
|
activated = true;
|
||||||
unlock();
|
unlock();
|
||||||
return noErr;
|
return eventNotHandledErr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static pascal OSStatus doDeactivate(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
static pascal OSStatus doDeactivate(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
||||||
lock();
|
lock();
|
||||||
activated = false;
|
activated = false;
|
||||||
unlock();
|
unlock();
|
||||||
return noErr;
|
return eventNotHandledErr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static pascal OSStatus doQuit(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
static pascal OSStatus doQuit(EventHandlerCallRef next_handler, EventRef event, void *user_data) {
|
||||||
|
@ -232,6 +232,10 @@ JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nCreate(JNIEnv *env, jclass
|
||||||
}
|
}
|
||||||
ShowWindow(win_ref);
|
ShowWindow(win_ref);
|
||||||
SelectWindow(win_ref);
|
SelectWindow(win_ref);
|
||||||
|
CGPoint p = {x, y};
|
||||||
|
CGWarpMouseCursorPosition(p);
|
||||||
|
CGPostMouseEvent(p, FALSE, 1, TRUE);
|
||||||
|
CGPostMouseEvent(p, FALSE, 1, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nSetTitle(JNIEnv * env, jclass clazz, jstring title_obj) {
|
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_Window_nSetTitle(JNIEnv * env, jclass clazz, jstring title_obj) {
|
||||||
|
|
Loading…
Reference in New Issue