コード例 #1
0
/**
 * 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);
}
コード例 #2
0
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);
}
コード例 #3
0
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);
}
コード例 #4
0
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);
}
コード例 #5
0
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);
}