|
From: Mark B. <cap...@us...> - 2005-01-12 12:31:14
|
Update of /cvsroot/java-game-lib/LWJGL/src/native/common/devil In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10492/src/native/common/devil Modified Files: extil.h org_lwjgl_devil_ILU.c Added Files: org_lwjgl_devil_ILUT.c Log Message: Add files for ILUT portion of DevIL. --- NEW FILE: org_lwjgl_devil_ILUT.c --- #include "extil.h" /* * Class: org_lwjgl_devil_ILUT * Method: ilutRenderer * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutRenderer(JNIEnv *env, jclass clazz, jint renderer){ return ilutRenderer((ILenum)renderer); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutDisable * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutDisable(JNIEnv *env, jclass clazz, jint mode){ return ilutDisable((ILenum)mode); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutEnable * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutEnable(JNIEnv *env, jclass clazz, jint mode){ return ilutEnable((ILenum)mode); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGetBoolean * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutGetBoolean(JNIEnv *env, jclass clazz, jint mode){ return ilutGetBoolean((ILenum)mode); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGetInteger * Signature: (I)I */ JNIEXPORT jint JNICALL Java_org_lwjgl_devil_ILUT_ilutGetInteger(JNIEnv *env, jclass clazz, jint mode){ return ilutGetInteger((ILenum)mode); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGetString * Signature: (I)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_lwjgl_devil_ILUT_ilutGetString(JNIEnv *env, jclass clazz, jint stringName){ return NewStringNative(env, ilutGetString((ILenum)stringName)); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutInit * Signature: ()V */ JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILUT_ilutInit(JNIEnv *env, jclass clazz){ ilutInit(); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutIsDisabled * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutIsDisabled(JNIEnv *env, jclass clazz, jint mode){ return ilutIsDisabled((ILenum)mode); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutIsEnabled * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutIsEnabled(JNIEnv *env, jclass clazz, jint mode){ return ilutIsEnabled((ILenum)mode); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutPopAttrib * Signature: ()V */ JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILUT_ilutPopAttrib(JNIEnv *env, jclass clazz){ ilutPopAttrib(); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutPushAttrib * Signature: (I)V */ JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILUT_ilutPushAttrib(JNIEnv *env, jclass clazz, jint bits){ ilutPushAttrib((ILuint)bits); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutSetInteger * Signature: (II)V */ JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILUT_ilutSetInteger(JNIEnv *env, jclass clazz, jint mode, jint param){ ilutSetInteger((ILenum)mode, (ILint)param); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLBindTexImage * Signature: ()I */ JNIEXPORT jint JNICALL Java_org_lwjgl_devil_ILUT_ilutGLBindTexImage(JNIEnv *env, jclass clazz){ return ilutGLBindTexImage(); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLBindMipmaps * Signature: ()I */ JNIEXPORT jint JNICALL Java_org_lwjgl_devil_ILUT_ilutGLBindMipmaps(JNIEnv *env, jclass clazz){ return ilutGLBindMipmaps(); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLBuildMipmaps * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutGLBuildMipmaps(JNIEnv *env, jclass clazz){ return ilutGLBuildMipmaps(); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLLoadImage * Signature: (Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_org_lwjgl_devil_ILUT_ilutGLLoadImage(JNIEnv *env, jclass clazz, jstring fileName){ char *strFileName = GetStringNativeChars(env, fileName); jint result = ilutGLLoadImage((const ILstring)strFileName); free(strFileName); return result; } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLScreen * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutGLScreen(JNIEnv *env, jclass clazz){ return ilutGLScreen(); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLScreenie * Signature: ()Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutGLScreenie(JNIEnv *env, jclass clazz){ return ilutGLScreenie(); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLSaveImage * Signature: (Ljava/lang/String;I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutGLSaveImage(JNIEnv *env, jclass clazz, jstring fileName, jint texID){ char *strFileName = GetStringNativeChars(env, fileName); jboolean result = ilutGLSaveImage((const ILstring)strFileName, texID); free(strFileName); return result; } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLSetTex * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutGLSetTex(JNIEnv *env, jclass clazz, jint texID){ return ilutGLSetTex(texID); } /* * Class: org_lwjgl_devil_ILUT * Method: ilutGLTexImage * Signature: (I)Z */ JNIEXPORT jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutGLTexImage(JNIEnv *env, jclass clazz, jint level){ return ilutGLTexImage(level); } /* * Class: org_lwjgl_devil_ILUT * Method: nCreate * Signature: ()V */ JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILUT_nCreate(JNIEnv *env, jclass clazz){ /*if (!extilut_Open(env)) { throwException(env, "Failed to load ILUT library"); return; }*/ } #ifdef __cplusplus extern "C" { #endif /* * Class: org_lwjgl_devil_ILUT * Method: initNativeStubs * Signature: ()V */ JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILUT_initNativeStubs(JNIEnv *env, jclass clazz){ } #ifdef __cplusplus } #endif Index: extil.h =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/devil/extil.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- extil.h 9 Jan 2005 04:59:48 -0000 1.4 +++ extil.h 12 Jan 2005 12:30:31 -0000 1.5 @@ -4,10 +4,13 @@ #include <jni.h> #include <stdio.h> #include <string.h> +//#include <gl/gl.h> #include <IL/il.h> #include <IL/ilu.h> +#include <IL/ilut.h> #include "org_lwjgl_devil_IL.h" #include "org_lwjgl_devil_ILU.h" +#include "org_lwjgl_devil_ILUT.h" #include "common_tools.h" Index: org_lwjgl_devil_ILU.c =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/native/common/devil/org_lwjgl_devil_ILU.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- org_lwjgl_devil_ILU.c 9 Jan 2005 04:59:48 -0000 1.1 +++ org_lwjgl_devil_ILU.c 12 Jan 2005 12:30:31 -0000 1.2 @@ -183,9 +183,67 @@ /* * Class: org_lwjgl_devil_ILU * Method: iluGetImageInfo - * Signature: ([Lorg/lwjgl/devil/ILinfo;)V + * Signature: (Lorg/lwjgl/devil/ILinfo;)V */ -JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILU_iluGetImageInfo(JNIEnv *env, jclass clazz, jobjectArray info) { +JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILU_iluGetImageInfo(JNIEnv *env, jclass clazz, jobject info) { + jfieldID fieldId; + ILinfo *imageInfo; + + if(info == 0) { + throwException(env, "ILinfo object must not be null."); + } + + imageInfo = (ILinfo *)malloc(sizeof(ILinfo)); + iluGetImageInfo(imageInfo); + + clazz = (*env)->GetObjectClass(env, info); + + fieldId = (*env)->GetFieldID(env, clazz, "id", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->Id); + + fieldId = (*env)->GetFieldID(env, clazz, "width", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->Width); + + fieldId = (*env)->GetFieldID(env, clazz, "height", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->Height); + + fieldId = (*env)->GetFieldID(env, clazz, "depth", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->Depth); + + fieldId = (*env)->GetFieldID(env, clazz, "bpp", "B"); + (*env)->SetByteField(env, info, fieldId, (jbyte)imageInfo->Bpp); + + fieldId = (*env)->GetFieldID(env, clazz, "sizeOfData", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->SizeOfData); + + fieldId = (*env)->GetFieldID(env, clazz, "format", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->Format); + + fieldId = (*env)->GetFieldID(env, clazz, "type", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->Type); + + fieldId = (*env)->GetFieldID(env, clazz, "origin", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->Origin); + + fieldId = (*env)->GetFieldID(env, clazz, "palType", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->PalType); + + fieldId = (*env)->GetFieldID(env, clazz, "palSize", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->PalSize); + + fieldId = (*env)->GetFieldID(env, clazz, "cubeFlags", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->CubeFlags); + + fieldId = (*env)->GetFieldID(env, clazz, "numNext", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->NumNext); + + fieldId = (*env)->GetFieldID(env, clazz, "numMips", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->NumMips); + + fieldId = (*env)->GetFieldID(env, clazz, "numLayers", "I"); + (*env)->SetIntField(env, info, fieldId, (jint)imageInfo->NumLayers); + + free(imageInfo); } /* @@ -298,6 +356,43 @@ * Signature: ([Lorg/lwjgl/devil/ILpointf;I)V */ JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILU_iluRegionfv(JNIEnv *env, jclass clazz, jobjectArray points, jint n) { + jfieldID fieldId; + jmethodID methodId; + jobject element; + int i; + ILpointf *pointInfo; + + if(points == 0) { + throwException(env, "ILpointf array must not be null."); + } + + pointInfo = (ILpointf *)malloc(sizeof(ILpointf) * n); + iluGetImageInfo(pointInfo, n); + + clazz = (*env)->FindClass(env, "org/lwjgl/devil/ILpointf"); + methodId = (*env)->GetMethodID(env, clazz, "<init>", "()V"); + + for(i=1;i<n;i++) { + element = (*env)->NewObject(env, clazz, methodId); + + fieldId = (*env)->GetFieldID(env, clazz, "x", "F"); + (*env)->SetFloatField(env, element, fieldId, (jfloat)((pointInfo + i)->x)); + + fieldId = (*env)->GetFieldID(env, clazz, "y", "F"); + (*env)->SetFloatField(env, element, fieldId, (jfloat)((pointInfo + i)->y)); + printf("\nHere 3"); + printf("\n (pointInfo + i)->x) = %f", (pointInfo + i)->x); + printf("\n(*env)->GetFloatField(env, element, fieldId) = %f", (*env)->GetFloatField(env, element, fieldId)); + + printf("\npoints address=%p", points); + printf("\nelement address=%p", element); + printf("\ni = %d", i); + (*env)->SetObjectArrayElement(env, points, i, element); + printf("\nHere 4"); + } + printf("\nHere 5"); + + free(pointInfo); } /* @@ -395,7 +490,7 @@ */ JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILU_nCreate(JNIEnv *env, jclass clazz) { /*if (!extilu_Open(env)) { - throwException(env, "Failed to load DevIL library"); + throwException(env, "Failed to load ILU library"); return; }*/ } |