lwjgl/src/native/common/devil/org_lwjgl_devil_ILUT.c

318 lines
12 KiB
C

#include "extilut.h"
#include "org_lwjgl_devil_ILNative.h"
typedef ILboolean (ILAPIENTRY *ilutRendererPROC) (ILenum Renderer);
typedef ILboolean (ILAPIENTRY *ilutDisablePROC) (ILenum Mode);
typedef ILboolean (ILAPIENTRY *ilutEnablePROC) (ILenum Mode);
typedef ILboolean (ILAPIENTRY *ilutGetBooleanPROC) (ILenum Mode);
typedef ILint (ILAPIENTRY *ilutGetIntegerPROC) (ILenum Mode);
typedef void (ILAPIENTRY *ilutGetBooleanvPROC) (ILenum Mode, ILboolean *Param);
typedef void (ILAPIENTRY *ilutGetIntegervPROC) (ILenum Mode, ILint *Param);
typedef const ILstring (ILAPIENTRY *ilutGetStringPROC) (ILenum StringName);
typedef ILvoid (ILAPIENTRY *ilutInitPROC) (ILvoid);
typedef ILboolean (ILAPIENTRY *ilutIsDisabledPROC) (ILenum Mode);
typedef ILboolean (ILAPIENTRY *ilutIsEnabledPROC) (ILenum Mode);
typedef ILvoid (ILAPIENTRY *ilutPopAttribPROC) (ILvoid);
typedef ILvoid (ILAPIENTRY *ilutPushAttribPROC) (ILuint Bits);
typedef ILvoid (ILAPIENTRY *ilutSetIntegerPROC) (ILenum Mode, ILint Param);
typedef GLuint (ILAPIENTRY *ilutGLBindTexImagePROC) ();
typedef GLuint (ILAPIENTRY *ilutGLBindMipmapsPROC) (ILvoid);
typedef ILboolean (ILAPIENTRY *ilutGLBuildMipmapsPROC) (ILvoid);
typedef GLuint (ILAPIENTRY *ilutGLLoadImagePROC) (const ILstring FileName);
typedef ILboolean (ILAPIENTRY *ilutGLScreenPROC) (ILvoid);
typedef ILboolean (ILAPIENTRY *ilutGLScreeniePROC) (ILvoid);
typedef ILboolean (ILAPIENTRY *ilutGLSaveImagePROC) (const ILstring FileName, GLuint TexID);
typedef ILboolean (ILAPIENTRY *ilutGLSetTexPROC) (GLuint TexID);
typedef ILboolean (ILAPIENTRY *ilutGLTexImagePROC) (GLuint Level);
static ilutRendererPROC ilutRenderer;
static ilutDisablePROC ilutDisable;
static ilutEnablePROC ilutEnable;
static ilutGetBooleanPROC ilutGetBoolean;
static ilutGetIntegerPROC ilutGetInteger;
static ilutGetBooleanvPROC ilutGetBooleanv;
static ilutGetIntegervPROC ilutGetIntegerv;
static ilutGetStringPROC ilutGetString;
static ilutInitPROC ilutInit;
static ilutIsDisabledPROC ilutIsDisabled;
static ilutIsEnabledPROC ilutIsEnabled;
static ilutPopAttribPROC ilutPopAttrib;
static ilutPushAttribPROC ilutPushAttrib;
static ilutSetIntegerPROC ilutSetInteger;
static ilutGLBindTexImagePROC ilutGLBindTexImage;
static ilutGLBindMipmapsPROC ilutGLBindMipmaps;
static ilutGLBuildMipmapsPROC ilutGLBuildMipmaps;
static ilutGLLoadImagePROC ilutGLLoadImage;
static ilutGLScreenPROC ilutGLScreen;
static ilutGLScreeniePROC ilutGLScreenie;
static ilutGLSaveImagePROC ilutGLSaveImage;
static ilutGLSetTexPROC ilutGLSetTex;
static ilutGLTexImagePROC ilutGLTexImage;
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutRenderer
* Signature: (I)Z
*/
static 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
*/
static 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
*/
static 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
*/
static 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
*/
static jint JNICALL Java_org_lwjgl_devil_ILUT_ilutGetInteger(JNIEnv *env, jclass clazz, jint mode){
return ilutGetInteger((ILenum)mode);
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutGetBooleanv
* Signature: (ILjava/nio/CharBuffer;)V
*/
static void JNICALL Java_org_lwjgl_devil_ILUT_ilutGetBooleanv(JNIEnv *env, jclass clazz, jint mode, jobject param) {
ILboolean* destination = (ILboolean*) safeGetBufferAddress(env, param);
ilutGetBooleanv(mode, destination);
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutGetIntegerv
* Signature: (ILjava/nio/IntBuffer;)V
*/
static void JNICALL Java_org_lwjgl_devil_ILUT_ilutGetIntegerv(JNIEnv *env, jclass clazz, jint mode, jobject param) {
ILint* destination = (ILint*) safeGetBufferAddress(env, param);
ilutGetIntegerv(mode, destination);
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutGetString
* Signature: (I)Ljava/lang/String;
*/
static jstring JNICALL Java_org_lwjgl_devil_ILUT_ilutGetString(JNIEnv *env, jclass clazz, jint stringName){
char * name = ilutGetString((ILenum)stringName);
return NewStringNativeWithLength(env, name, strlen(name));
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutInit
* Signature: ()V
*/
static void JNICALL Java_org_lwjgl_devil_ILUT_ilutInit(JNIEnv *env, jclass clazz){
ilutInit();
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutIsDisabled
* Signature: (I)Z
*/
static 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
*/
static 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
*/
static void JNICALL Java_org_lwjgl_devil_ILUT_ilutPopAttrib(JNIEnv *env, jclass clazz){
ilutPopAttrib();
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutPushAttrib
* Signature: (I)V
*/
static 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
*/
static 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
*/
static jint JNICALL Java_org_lwjgl_devil_ILUT_ilutGLBindTexImage(JNIEnv *env, jclass clazz){
return ilutGLBindTexImage();
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutGLBindMipmaps
* Signature: ()I
*/
static jint JNICALL Java_org_lwjgl_devil_ILUT_ilutGLBindMipmaps(JNIEnv *env, jclass clazz){
return ilutGLBindMipmaps();
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutGLBuildMipmaps
* Signature: ()Z
*/
static 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
*/
static 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
*/
static jboolean JNICALL Java_org_lwjgl_devil_ILUT_ilutGLScreen(JNIEnv *env, jclass clazz){
return ilutGLScreen();
}
/*
* Class: org_lwjgl_devil_ILUT
* Method: ilutGLScreenie
* Signature: ()Z
*/
static 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
*/
static 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
*/
static 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
*/
static 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_ILNative_nCreateILUT(JNIEnv *env, jclass clazz, jobjectArray ilutPaths){
if (!extilut_Open(env, ilutPaths)) {
throwException(env, "Failed to load ILUT library");
return;
}
}
JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILNative_nDestroyILUT(JNIEnv *env, jclass clazz) {
extilut_Close();
}
JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILNative_resetNativeStubsILUT(JNIEnv *env, jclass clazz, jclass ilut_class) {
(*env)->UnregisterNatives(env, ilut_class);
}
JNIEXPORT void JNICALL Java_org_lwjgl_devil_ILNative_initNativeStubsILUT(JNIEnv *env, jclass clazz, jclass ilut_class){
JavaMethodAndExtFunction functions[] = {
{"ilutRenderer", "(I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutRenderer, "ilutRenderer", (void*)&ilutRenderer},
{"ilutDisable", "(I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutDisable, "ilutDisable", (void*)&ilutDisable},
{"ilutEnable", "(I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutEnable, "ilutEnable", (void*)&ilutEnable},
{"ilutGetBoolean", "(I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutGetBoolean, "ilutGetBoolean", (void*)&ilutGetBoolean},
{"ilutGetInteger", "(I)I", (void*)&Java_org_lwjgl_devil_ILUT_ilutGetInteger, "ilutGetInteger", (void*)&ilutGetInteger},
{"ilutGetBooleanv", "(ILjava/nio/ByteBuffer;)V", (void*)&Java_org_lwjgl_devil_ILUT_ilutGetBooleanv, "ilutGetBooleanv", (void*)&ilutGetBooleanv},
{"ilutGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void*)&Java_org_lwjgl_devil_ILUT_ilutGetIntegerv, "ilutGetIntegerv", (void*)&ilutGetIntegerv},
{"ilutGetString", "(I)Ljava/lang/String;", (void*)&Java_org_lwjgl_devil_ILUT_ilutGetString, "ilutGetString", (void*)&ilutGetString},
{"ilutInit", "()V", (void*)&Java_org_lwjgl_devil_ILUT_ilutInit, "ilutInit", (void*)&ilutInit},
{"ilutIsDisabled", "(I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutIsDisabled, "ilutIsDisabled", (void*)&ilutIsDisabled},
{"ilutIsEnabled", "(I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutIsDisabled, "ilutIsDisabled", (void*)&ilutIsDisabled},
{"ilutPopAttrib", "()V", (void*)&Java_org_lwjgl_devil_ILUT_ilutPopAttrib, "ilutPopAttrib", (void*)&ilutPopAttrib},
{"ilutPushAttrib", "(I)V", (void*)&Java_org_lwjgl_devil_ILUT_ilutPushAttrib, "ilutPushAttrib", (void*)&ilutPushAttrib},
{"ilutSetInteger", "(II)V", (void*)&Java_org_lwjgl_devil_ILUT_ilutSetInteger, "ilutSetInteger", (void*)&ilutSetInteger},
{"ilutGLBindTexImage", "()I", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLBindTexImage, "ilutGLBindTexImage", (void*)&ilutGLBindTexImage},
{"ilutGLBindMipmaps", "()I", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLBindMipmaps, "ilutGLBindMipmaps", (void*)&ilutGLBindMipmaps},
{"ilutGLBuildMipmaps", "()Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLBuildMipmaps, "ilutGLBuildMipmaps", (void*)&ilutGLBuildMipmaps},
{"ilutGLLoadImage", "(Ljava/lang/String;)I", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLLoadImage, "ilutGLLoadImage", (void*)&ilutGLLoadImage},
{"ilutGLScreen", "()Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLScreen, "ilutGLScreen", (void*)&ilutGLScreen},
{"ilutGLScreenie", "()Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLScreenie, "ilutGLScreenie", (void*)&ilutGLScreenie},
{"ilutGLSaveImage", "(Ljava/lang/String;I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLSaveImage, "ilutGLSaveImage", (void*)&ilutGLSaveImage},
{"ilutGLSetTex", "(I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLSetTex, "ilutGLSetTex", (void*)&ilutGLSetTex},
{"ilutGLTexImage", "(I)Z", (void*)&Java_org_lwjgl_devil_ILUT_ilutGLTexImage, "ilutGLTexImage", (void*)&ilutGLTexImage},
};
int num_functions = NUMFUNCTIONS(functions);
extilut_InitializeClass(env, ilut_class, num_functions, functions);
}