*** empty log message ***

This commit is contained in:
Elias Naur 2003-10-07 13:10:17 +00:00
parent 0de7e16140
commit aa9e183c7f
4 changed files with 38 additions and 27 deletions

View File

@ -211,13 +211,19 @@ public class Mouse {
return;
}
nCreate();
hasWheel = nHasWheel();
created = true;
currentCursor = null;
// set mouse buttons
buttonCount = nGetButtonCount();
buttons = new boolean[buttonCount];
}
private static native boolean nHasWheel();
private static native int nGetButtonCount();
/**
* Native method to create the mouse.
*

View File

@ -66,6 +66,22 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetMaxCursorSize
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_initIDs
(JNIEnv *, jclass);
/*
* Class: org_lwjgl_input_Mouse
* Method: nHasWheel
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL Java_org_lwjgl_input_Mouse_nHasWheel
(JNIEnv *, jclass);
/*
* Class: org_lwjgl_input_Mouse
* Method: nGetButtonCount
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetButtonCount
(JNIEnv *, jclass);
/*
* Class: org_lwjgl_input_Mouse
* Method: nCreate

View File

@ -61,8 +61,6 @@ static bool created = false;
static bool should_grab = false;
static bool native_cursor = false;
static jfieldID fid_has_wheel = NULL;
static jfieldID fid_button_count = NULL;
static jfieldID fid_buttons = NULL;
static jfieldID fid_dx = NULL;
static jfieldID fid_dy = NULL;
@ -102,10 +100,6 @@ static void setCursorPos(int x, int y) {
JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_initIDs
(JNIEnv * env, jclass clazz)
{
if (fid_has_wheel == NULL)
fid_has_wheel = env->GetStaticFieldID(clazz, "hasWheel", "Z");
if (fid_button_count == NULL)
fid_button_count = env->GetStaticFieldID(clazz, "buttonCount", "I");
if (fid_buttons == NULL)
fid_buttons = env->GetStaticFieldID(clazz, "buttons", "[Z");
if (fid_dx == NULL)
@ -260,6 +254,14 @@ JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetMaxCursorSize
return width_return > height_return ? height_return : width_return;
}
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;
}
/*
* Class: org_lwjgl_input_Mouse
* Method: nCreate
@ -269,8 +271,6 @@ JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nCreate
(JNIEnv * env, jclass clazz)
{
int i;
env->SetStaticIntField(clazz, fid_button_count, NUM_BUTTONS);
env->SetStaticBooleanField(clazz, fid_has_wheel, JNI_TRUE);
setCursorPos(0, 0);
current_z = last_x = last_y = last_z = 0;
for (i = 0; i < NUM_BUTTONS; i++)

View File

@ -56,12 +56,10 @@ static bool mFirstTimeInitialization = true; // boolean to determine first time
// Cached fields of Mouse.java
static jclass clsMouse;
static jfieldID fidMButtonCount;
static jfieldID fidMButtons;
static jfieldID fidMDX;
static jfieldID fidMDY;
static jfieldID fidMDWheel;
static jfieldID fidMHasWheel;
static POINT cursorPos;
static RECT windowRect;
@ -76,7 +74,6 @@ void SetupMouse();
void InitializeMouseFields();
void CacheMouseFields();
void UpdateMouseFields();
void SetMouseCapabilities();
static void getScreenClientRect(RECT* clientRect, RECT* windowRect)
{
@ -99,6 +96,14 @@ JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_initIDs(JNIEnv * env, jclass c
CacheMouseFields();
}
JNIEXPORT jboolean JNICALL Java_org_lwjgl_input_Mouse_nHasWheel(JNIEnv *, jclass) {
return mHasWheel;
}
JNIEXPORT jint JNICALL Java_org_lwjgl_input_Mouse_nGetButtonCount(JNIEnv *, jclass) {
return mButtonCount
}
/**
* Called when the Mouse instance is to be created
*/
@ -126,9 +131,6 @@ JNIEXPORT void JNICALL Java_org_lwjgl_input_Mouse_nCreate(JNIEnv *env, jclass cl
}
/* Do setup of Mouse */
SetupMouse();
/* Set capabilities */
SetMouseCapabilities();
} else {
if(mCreate_success) {
/* Do setup of Mouse */
@ -431,23 +433,10 @@ void UpdateMouseFields() {
mEnvironment->SetBooleanArrayRegion(mButtonsArray, 0, mButtoncount, diMouseState.rgbButtons);
}
/**
* Sets the capabilities of the Mouse
*/
void SetMouseCapabilities() {
//set buttoncount
mEnvironment->SetStaticIntField(clsMouse, fidMButtonCount, mButtoncount);
//set wheel
mEnvironment->SetStaticBooleanField(clsMouse, fidMHasWheel, mHaswheel);
}
/**
* Caches the field ids for quicker access
*/
void CacheMouseFields() {
fidMButtonCount = mEnvironment->GetStaticFieldID(clsMouse, "buttonCount", "I");
fidMHasWheel = mEnvironment->GetStaticFieldID(clsMouse, "hasWheel", "Z");
fidMButtons = mEnvironment->GetStaticFieldID(clsMouse, "buttons", "[Z");
fidMDX = mEnvironment->GetStaticFieldID(clsMouse, "dx", "I");
fidMDY = mEnvironment->GetStaticFieldID(clsMouse, "dy", "I");