/** * This function returns strings related to the context. * * C Specification: * ALubyte * alcGetString(ALCdevice *device, ALenum token); */ static jobject JNICALL Java_org_lwjgl_openal_ALC10_nalcGetString (JNIEnv *env, jclass clazz, jlong deviceaddress, jint token) { char* alcString = (char*) alcGetString((ALCdevice*)((intptr_t)deviceaddress), (ALenum) token); int length; int i=1; if (alcString == NULL) { return NULL; } // Special treatment of enumeration tokens // These are encoded using \0 between elements and a finishing \0\0 switch(token) { case 0x1005: // ALC_DEVICE_SPECIFIER case 0x310: // ALC_CAPTURE_DEVICE_SPECIFIER // If deviceaddress is not 0, OpenAL returns a single device terminated by a // single \0 character, if token is ALC_DEVICE_SPECIFIER or // ALC_CAPTURE_DEVICE_SPECIFIER. if (deviceaddress != 0) { length = strlen(alcString); break; } case 0x1013: // ALC_ALL_DEVICES_SPECIFIER while (alcString[i - 1] != '\0' || alcString[i] != '\0') { i++; } length = i + 1; break; default: // e.g. ALC_DEFAULT_ALL_DEVICES_SPECIFIER length = strlen(alcString); } //return NewStringNativeWithLength(env, alcString, length); return safeNewBuffer(env, alcString, length); }
JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_EXTVertexShader_nglGetVariantPointervEXT(JNIEnv *env, jclass clazz, jint id, jint value, jlong result_size, jlong function_pointer) { glGetVariantPointervEXTPROC glGetVariantPointervEXT = (glGetVariantPointervEXTPROC)((intptr_t)function_pointer); GLvoid * __result; glGetVariantPointervEXT(id, value, &__result); return safeNewBuffer(env, __result, result_size); }
JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_ARBVertexProgram_nglGetVertexAttribPointervARB(JNIEnv *env, jclass clazz, jint index, jint pname, jlong result_size, jlong function_pointer) { glGetVertexAttribPointervARBPROC glGetVertexAttribPointervARB = (glGetVertexAttribPointervARBPROC)((intptr_t)function_pointer); GLvoid * __result; glGetVertexAttribPointervARB(index, pname, &__result); return safeNewBuffer(env, __result, result_size); }
JNIEXPORT jobject JNICALL Java_org_lwjgl_opencl_CL_getHostBuffer(JNIEnv *env, jclass clazz, jlong address, jint size) { return safeNewBuffer(env, (void *)(intptr_t)address, size); }
JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_ARBBufferObject_nglGetBufferPointervARB(JNIEnv *env, jclass clazz, jint target, jint pname, jlong result_size, jlong function_pointer) { glGetBufferPointervARBPROC glGetBufferPointervARB = (glGetBufferPointervARBPROC)((intptr_t)function_pointer); GLvoid * __result; glGetBufferPointervARB(target, pname, &__result); return safeNewBuffer(env, __result, result_size); }
JNIEXPORT jobject JNICALL Java_org_lwjgl_opengl_APPLETextureRange_nglGetTexParameterPointervAPPLE(JNIEnv *env, jclass clazz, jint target, jint pname, jlong result_size, jlong function_pointer) { glGetTexParameterPointervAPPLEPROC glGetTexParameterPointervAPPLE = (glGetTexParameterPointervAPPLEPROC)((intptr_t)function_pointer); GLvoid * __result; glGetTexParameterPointervAPPLE(target, pname, &__result); return safeNewBuffer(env, __result, result_size); }