/* ** ** Copyright 2009, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ // This source file is automatically generated #include "jni.h" #include "JNIHelp.h" #include #include #include #include #include /* special calls implemented in Android's GLES wrapper used to more * efficiently bound-check passed arrays */ extern "C" { GL_API void GL_APIENTRY glColorPointerBounds(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr, GLsizei count); GL_API void GL_APIENTRY glNormalPointerBounds(GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); GL_API void GL_APIENTRY glTexCoordPointerBounds(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); GL_API void GL_APIENTRY glVertexPointerBounds(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer, GLsizei count); } static int initialized = 0; static jclass nioAccessClass; static jclass bufferClass; static jmethodID getBasePointerID; static jmethodID getBaseArrayID; static jmethodID getBaseArrayOffsetID; static jfieldID positionID; static jfieldID limitID; static jfieldID elementSizeShiftID; /* Cache method IDs each time the class is loaded. */ static void nativeClassInit(JNIEnv *_env, jclass glImplClass) { jclass nioAccessClassLocal = _env->FindClass("java/nio/NIOAccess"); nioAccessClass = (jclass) _env->NewGlobalRef(nioAccessClassLocal); jclass bufferClassLocal = _env->FindClass("java/nio/Buffer"); bufferClass = (jclass) _env->NewGlobalRef(bufferClassLocal); getBasePointerID = _env->GetStaticMethodID(nioAccessClass, "getBasePointer", "(Ljava/nio/Buffer;)J"); getBaseArrayID = _env->GetStaticMethodID(nioAccessClass, "getBaseArray", "(Ljava/nio/Buffer;)Ljava/lang/Object;"); getBaseArrayOffsetID = _env->GetStaticMethodID(nioAccessClass, "getBaseArrayOffset", "(Ljava/nio/Buffer;)I"); positionID = _env->GetFieldID(bufferClass, "position", "I"); limitID = _env->GetFieldID(bufferClass, "limit", "I"); elementSizeShiftID = _env->GetFieldID(bufferClass, "_elementSizeShift", "I"); } static void * getPointer(JNIEnv *_env, jobject buffer, jarray *array, jint *remaining, jint *offset) { jint position; jint limit; jint elementSizeShift; jlong pointer; position = _env->GetIntField(buffer, positionID); limit = _env->GetIntField(buffer, limitID); elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); *remaining = (limit - position) << elementSizeShift; pointer = _env->CallStaticLongMethod(nioAccessClass, getBasePointerID, buffer); if (pointer != 0L) { *array = NULL; return (void *) (jint) pointer; } *array = (jarray) _env->CallStaticObjectMethod(nioAccessClass, getBaseArrayID, buffer); *offset = _env->CallStaticIntMethod(nioAccessClass, getBaseArrayOffsetID, buffer); return NULL; } static void releasePointer(JNIEnv *_env, jarray array, void *data, jboolean commit) { _env->ReleasePrimitiveArrayCritical(array, data, commit ? 0 : JNI_ABORT); } static void * getDirectBufferPointer(JNIEnv *_env, jobject buffer) { char* buf = (char*) _env->GetDirectBufferAddress(buffer); if (buf) { jint position = _env->GetIntField(buffer, positionID); jint elementSizeShift = _env->GetIntField(buffer, elementSizeShiftID); buf += position << elementSizeShift; } else { jniThrowException(_env, "java/lang/IllegalArgumentException", "Must use a native order direct Buffer"); } return (void*) buf; } static int getNumCompressedTextureFormats() { int numCompressedTextureFormats = 0; glGetIntegerv(GL_NUM_COMPRESSED_TEXTURE_FORMATS, &numCompressedTextureFormats); return numCompressedTextureFormats; } // -------------------------------------------------------------------------- /* void glActiveTexture ( GLenum texture ) */ static void android_glActiveTexture__I (JNIEnv *_env, jobject _this, jint texture) { glActiveTexture( (GLenum)texture ); } /* void glAlphaFunc ( GLenum func, GLclampf ref ) */ static void android_glAlphaFunc__IF (JNIEnv *_env, jobject _this, jint func, jfloat ref) { glAlphaFunc( (GLenum)func, (GLclampf)ref ); } /* void glAlphaFuncx ( GLenum func, GLclampx ref ) */ static void android_glAlphaFuncx__II (JNIEnv *_env, jobject _this, jint func, jint ref) { glAlphaFuncx( (GLenum)func, (GLclampx)ref ); } /* void glBindTexture ( GLenum target, GLuint texture ) */ static void android_glBindTexture__II (JNIEnv *_env, jobject _this, jint target, jint texture) { glBindTexture( (GLenum)target, (GLuint)texture ); } /* void glBlendFunc ( GLenum sfactor, GLenum dfactor ) */ static void android_glBlendFunc__II (JNIEnv *_env, jobject _this, jint sfactor, jint dfactor) { glBlendFunc( (GLenum)sfactor, (GLenum)dfactor ); } /* void glClear ( GLbitfield mask ) */ static void android_glClear__I (JNIEnv *_env, jobject _this, jint mask) { glClear( (GLbitfield)mask ); } /* void glClearColor ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ) */ static void android_glClearColor__FFFF (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { glClearColor( (GLclampf)red, (GLclampf)green, (GLclampf)blue, (GLclampf)alpha ); } /* void glClearColorx ( GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha ) */ static void android_glClearColorx__IIII (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { glClearColorx( (GLclampx)red, (GLclampx)green, (GLclampx)blue, (GLclampx)alpha ); } /* void glClearDepthf ( GLclampf depth ) */ static void android_glClearDepthf__F (JNIEnv *_env, jobject _this, jfloat depth) { glClearDepthf( (GLclampf)depth ); } /* void glClearDepthx ( GLclampx depth ) */ static void android_glClearDepthx__I (JNIEnv *_env, jobject _this, jint depth) { glClearDepthx( (GLclampx)depth ); } /* void glClearStencil ( GLint s ) */ static void android_glClearStencil__I (JNIEnv *_env, jobject _this, jint s) { glClearStencil( (GLint)s ); } /* void glClientActiveTexture ( GLenum texture ) */ static void android_glClientActiveTexture__I (JNIEnv *_env, jobject _this, jint texture) { glClientActiveTexture( (GLenum)texture ); } /* void glColor4f ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) */ static void android_glColor4f__FFFF (JNIEnv *_env, jobject _this, jfloat red, jfloat green, jfloat blue, jfloat alpha) { glColor4f( (GLfloat)red, (GLfloat)green, (GLfloat)blue, (GLfloat)alpha ); } /* void glColor4x ( GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha ) */ static void android_glColor4x__IIII (JNIEnv *_env, jobject _this, jint red, jint green, jint blue, jint alpha) { glColor4x( (GLfixed)red, (GLfixed)green, (GLfixed)blue, (GLfixed)alpha ); } /* void glColorMask ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha ) */ static void android_glColorMask__ZZZZ (JNIEnv *_env, jobject _this, jboolean red, jboolean green, jboolean blue, jboolean alpha) { glColorMask( (GLboolean)red, (GLboolean)green, (GLboolean)blue, (GLboolean)alpha ); } /* void glColorPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ static void android_glColorPointerBounds__IIILjava_nio_Buffer_2I (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *pointer = (GLvoid *) 0; if (pointer_buf) { pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); if ( ! pointer ) { return; } } glColorPointerBounds( (GLint)size, (GLenum)type, (GLsizei)stride, (GLvoid *)pointer, (GLsizei)remaining ); } /* void glCompressedTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ) */ static void android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint imageSize, jobject data_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *data = (GLvoid *) 0; data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset); if (data == NULL) { char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); data = (GLvoid *) (_dataBase + _bufferOffset); } glCompressedTexImage2D( (GLenum)target, (GLint)level, (GLenum)internalformat, (GLsizei)width, (GLsizei)height, (GLint)border, (GLsizei)imageSize, (GLvoid *)data ); if (_array) { releasePointer(_env, _array, data, JNI_FALSE); } } /* void glCompressedTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ) */ static void android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint imageSize, jobject data_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *data = (GLvoid *) 0; data = (GLvoid *)getPointer(_env, data_buf, &_array, &_remaining, &_bufferOffset); if (data == NULL) { char * _dataBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); data = (GLvoid *) (_dataBase + _bufferOffset); } glCompressedTexSubImage2D( (GLenum)target, (GLint)level, (GLint)xoffset, (GLint)yoffset, (GLsizei)width, (GLsizei)height, (GLenum)format, (GLsizei)imageSize, (GLvoid *)data ); if (_array) { releasePointer(_env, _array, data, JNI_FALSE); } } /* void glCopyTexImage2D ( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border ) */ static void android_glCopyTexImage2D__IIIIIIII (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint x, jint y, jint width, jint height, jint border) { glCopyTexImage2D( (GLenum)target, (GLint)level, (GLenum)internalformat, (GLint)x, (GLint)y, (GLsizei)width, (GLsizei)height, (GLint)border ); } /* void glCopyTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height ) */ static void android_glCopyTexSubImage2D__IIIIIIII (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint x, jint y, jint width, jint height) { glCopyTexSubImage2D( (GLenum)target, (GLint)level, (GLint)xoffset, (GLint)yoffset, (GLint)x, (GLint)y, (GLsizei)width, (GLsizei)height ); } /* void glCullFace ( GLenum mode ) */ static void android_glCullFace__I (JNIEnv *_env, jobject _this, jint mode) { glCullFace( (GLenum)mode ); } /* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ static void android_glDeleteTextures__I_3II (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLuint *textures_base = (GLuint *) 0; jint _remaining; GLuint *textures = (GLuint *) 0; if (!textures_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "textures == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(textures_ref) - offset; if (_remaining < n) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < n < needed"; goto exit; } textures_base = (GLuint *) _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); textures = textures_base + offset; glDeleteTextures( (GLsizei)n, (GLuint *)textures ); exit: if (textures_base) { _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glDeleteTextures ( GLsizei n, const GLuint *textures ) */ static void android_glDeleteTextures__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLuint *textures = (GLuint *) 0; textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < n) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < n < needed"; goto exit; } if (textures == NULL) { char * _texturesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); textures = (GLuint *) (_texturesBase + _bufferOffset); } glDeleteTextures( (GLsizei)n, (GLuint *)textures ); exit: if (_array) { releasePointer(_env, _array, textures, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glDepthFunc ( GLenum func ) */ static void android_glDepthFunc__I (JNIEnv *_env, jobject _this, jint func) { glDepthFunc( (GLenum)func ); } /* void glDepthMask ( GLboolean flag ) */ static void android_glDepthMask__Z (JNIEnv *_env, jobject _this, jboolean flag) { glDepthMask( (GLboolean)flag ); } /* void glDepthRangef ( GLclampf zNear, GLclampf zFar ) */ static void android_glDepthRangef__FF (JNIEnv *_env, jobject _this, jfloat zNear, jfloat zFar) { glDepthRangef( (GLclampf)zNear, (GLclampf)zFar ); } /* void glDepthRangex ( GLclampx zNear, GLclampx zFar ) */ static void android_glDepthRangex__II (JNIEnv *_env, jobject _this, jint zNear, jint zFar) { glDepthRangex( (GLclampx)zNear, (GLclampx)zFar ); } /* void glDisable ( GLenum cap ) */ static void android_glDisable__I (JNIEnv *_env, jobject _this, jint cap) { glDisable( (GLenum)cap ); } /* void glDisableClientState ( GLenum array ) */ static void android_glDisableClientState__I (JNIEnv *_env, jobject _this, jint array) { glDisableClientState( (GLenum)array ); } /* void glDrawArrays ( GLenum mode, GLint first, GLsizei count ) */ static void android_glDrawArrays__III (JNIEnv *_env, jobject _this, jint mode, jint first, jint count) { glDrawArrays( (GLenum)mode, (GLint)first, (GLsizei)count ); } /* void glDrawElements ( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices ) */ static void android_glDrawElements__IIILjava_nio_Buffer_2 (JNIEnv *_env, jobject _this, jint mode, jint count, jint type, jobject indices_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *indices = (GLvoid *) 0; indices = (GLvoid *)getPointer(_env, indices_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < count) { _exception = 1; _exceptionType = "java/lang/ArrayIndexOutOfBoundsException"; _exceptionMessage = "remaining() < count < needed"; goto exit; } if (indices == NULL) { char * _indicesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); indices = (GLvoid *) (_indicesBase + _bufferOffset); } glDrawElements( (GLenum)mode, (GLsizei)count, (GLenum)type, (GLvoid *)indices ); exit: if (_array) { releasePointer(_env, _array, indices, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glEnable ( GLenum cap ) */ static void android_glEnable__I (JNIEnv *_env, jobject _this, jint cap) { glEnable( (GLenum)cap ); } /* void glEnableClientState ( GLenum array ) */ static void android_glEnableClientState__I (JNIEnv *_env, jobject _this, jint array) { glEnableClientState( (GLenum)array ); } /* void glFinish ( void ) */ static void android_glFinish__ (JNIEnv *_env, jobject _this) { glFinish(); } /* void glFlush ( void ) */ static void android_glFlush__ (JNIEnv *_env, jobject _this) { glFlush(); } /* void glFogf ( GLenum pname, GLfloat param ) */ static void android_glFogf__IF (JNIEnv *_env, jobject _this, jint pname, jfloat param) { glFogf( (GLenum)pname, (GLfloat)param ); } /* void glFogfv ( GLenum pname, const GLfloat *params ) */ static void android_glFogfv__I_3FI (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_FOG_MODE) case GL_FOG_MODE: #endif // defined(GL_FOG_MODE) #if defined(GL_FOG_DENSITY) case GL_FOG_DENSITY: #endif // defined(GL_FOG_DENSITY) #if defined(GL_FOG_START) case GL_FOG_START: #endif // defined(GL_FOG_START) #if defined(GL_FOG_END) case GL_FOG_END: #endif // defined(GL_FOG_END) _needed = 1; break; #if defined(GL_FOG_COLOR) case GL_FOG_COLOR: #endif // defined(GL_FOG_COLOR) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glFogfv( (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glFogfv ( GLenum pname, const GLfloat *params ) */ static void android_glFogfv__ILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_FOG_MODE) case GL_FOG_MODE: #endif // defined(GL_FOG_MODE) #if defined(GL_FOG_DENSITY) case GL_FOG_DENSITY: #endif // defined(GL_FOG_DENSITY) #if defined(GL_FOG_START) case GL_FOG_START: #endif // defined(GL_FOG_START) #if defined(GL_FOG_END) case GL_FOG_END: #endif // defined(GL_FOG_END) _needed = 1; break; #if defined(GL_FOG_COLOR) case GL_FOG_COLOR: #endif // defined(GL_FOG_COLOR) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glFogfv( (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glFogx ( GLenum pname, GLfixed param ) */ static void android_glFogx__II (JNIEnv *_env, jobject _this, jint pname, jint param) { glFogx( (GLenum)pname, (GLfixed)param ); } /* void glFogxv ( GLenum pname, const GLfixed *params ) */ static void android_glFogxv__I_3II (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_FOG_MODE) case GL_FOG_MODE: #endif // defined(GL_FOG_MODE) #if defined(GL_FOG_DENSITY) case GL_FOG_DENSITY: #endif // defined(GL_FOG_DENSITY) #if defined(GL_FOG_START) case GL_FOG_START: #endif // defined(GL_FOG_START) #if defined(GL_FOG_END) case GL_FOG_END: #endif // defined(GL_FOG_END) _needed = 1; break; #if defined(GL_FOG_COLOR) case GL_FOG_COLOR: #endif // defined(GL_FOG_COLOR) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glFogxv( (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glFogxv ( GLenum pname, const GLfixed *params ) */ static void android_glFogxv__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_FOG_MODE) case GL_FOG_MODE: #endif // defined(GL_FOG_MODE) #if defined(GL_FOG_DENSITY) case GL_FOG_DENSITY: #endif // defined(GL_FOG_DENSITY) #if defined(GL_FOG_START) case GL_FOG_START: #endif // defined(GL_FOG_START) #if defined(GL_FOG_END) case GL_FOG_END: #endif // defined(GL_FOG_END) _needed = 1; break; #if defined(GL_FOG_COLOR) case GL_FOG_COLOR: #endif // defined(GL_FOG_COLOR) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glFogxv( (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glFrontFace ( GLenum mode ) */ static void android_glFrontFace__I (JNIEnv *_env, jobject _this, jint mode) { glFrontFace( (GLenum)mode ); } /* void glFrustumf ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ static void android_glFrustumf__FFFFFF (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { glFrustumf( (GLfloat)left, (GLfloat)right, (GLfloat)bottom, (GLfloat)top, (GLfloat)zNear, (GLfloat)zFar ); } /* void glFrustumx ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ static void android_glFrustumx__IIIIII (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { glFrustumx( (GLfixed)left, (GLfixed)right, (GLfixed)bottom, (GLfixed)top, (GLfixed)zNear, (GLfixed)zFar ); } /* void glGenTextures ( GLsizei n, GLuint *textures ) */ static void android_glGenTextures__I_3II (JNIEnv *_env, jobject _this, jint n, jintArray textures_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLuint *textures_base = (GLuint *) 0; jint _remaining; GLuint *textures = (GLuint *) 0; if (!textures_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "textures == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(textures_ref) - offset; if (_remaining < n) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < n < needed"; goto exit; } textures_base = (GLuint *) _env->GetPrimitiveArrayCritical(textures_ref, (jboolean *)0); textures = textures_base + offset; glGenTextures( (GLsizei)n, (GLuint *)textures ); exit: if (textures_base) { _env->ReleasePrimitiveArrayCritical(textures_ref, textures_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGenTextures ( GLsizei n, GLuint *textures ) */ static void android_glGenTextures__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint n, jobject textures_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLuint *textures = (GLuint *) 0; textures = (GLuint *)getPointer(_env, textures_buf, &_array, &_remaining, &_bufferOffset); if (_remaining < n) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < n < needed"; goto exit; } if (textures == NULL) { char * _texturesBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); textures = (GLuint *) (_texturesBase + _bufferOffset); } glGenTextures( (GLsizei)n, (GLuint *)textures ); exit: if (_array) { releasePointer(_env, _array, textures, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* GLenum glGetError ( void ) */ static jint android_glGetError__ (JNIEnv *_env, jobject _this) { GLenum _returnValue; _returnValue = glGetError(); return _returnValue; } /* void glGetIntegerv ( GLenum pname, GLint *params ) */ static void android_glGetIntegerv__I_3II (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLint *params_base = (GLint *) 0; jint _remaining; GLint *params = (GLint *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_ALPHA_BITS) case GL_ALPHA_BITS: #endif // defined(GL_ALPHA_BITS) #if defined(GL_ALPHA_TEST_FUNC) case GL_ALPHA_TEST_FUNC: #endif // defined(GL_ALPHA_TEST_FUNC) #if defined(GL_ALPHA_TEST_REF) case GL_ALPHA_TEST_REF: #endif // defined(GL_ALPHA_TEST_REF) #if defined(GL_BLEND_DST) case GL_BLEND_DST: #endif // defined(GL_BLEND_DST) #if defined(GL_BLUE_BITS) case GL_BLUE_BITS: #endif // defined(GL_BLUE_BITS) #if defined(GL_COLOR_ARRAY_BUFFER_BINDING) case GL_COLOR_ARRAY_BUFFER_BINDING: #endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) #if defined(GL_COLOR_ARRAY_SIZE) case GL_COLOR_ARRAY_SIZE: #endif // defined(GL_COLOR_ARRAY_SIZE) #if defined(GL_COLOR_ARRAY_STRIDE) case GL_COLOR_ARRAY_STRIDE: #endif // defined(GL_COLOR_ARRAY_STRIDE) #if defined(GL_COLOR_ARRAY_TYPE) case GL_COLOR_ARRAY_TYPE: #endif // defined(GL_COLOR_ARRAY_TYPE) #if defined(GL_CULL_FACE) case GL_CULL_FACE: #endif // defined(GL_CULL_FACE) #if defined(GL_DEPTH_BITS) case GL_DEPTH_BITS: #endif // defined(GL_DEPTH_BITS) #if defined(GL_DEPTH_CLEAR_VALUE) case GL_DEPTH_CLEAR_VALUE: #endif // defined(GL_DEPTH_CLEAR_VALUE) #if defined(GL_DEPTH_FUNC) case GL_DEPTH_FUNC: #endif // defined(GL_DEPTH_FUNC) #if defined(GL_DEPTH_WRITEMASK) case GL_DEPTH_WRITEMASK: #endif // defined(GL_DEPTH_WRITEMASK) #if defined(GL_FOG_DENSITY) case GL_FOG_DENSITY: #endif // defined(GL_FOG_DENSITY) #if defined(GL_FOG_END) case GL_FOG_END: #endif // defined(GL_FOG_END) #if defined(GL_FOG_MODE) case GL_FOG_MODE: #endif // defined(GL_FOG_MODE) #if defined(GL_FOG_START) case GL_FOG_START: #endif // defined(GL_FOG_START) #if defined(GL_FRONT_FACE) case GL_FRONT_FACE: #endif // defined(GL_FRONT_FACE) #if defined(GL_GREEN_BITS) case GL_GREEN_BITS: #endif // defined(GL_GREEN_BITS) #if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: #endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) #if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: #endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) #if defined(GL_LIGHT_MODEL_COLOR_CONTROL) case GL_LIGHT_MODEL_COLOR_CONTROL: #endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) #if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) case GL_LIGHT_MODEL_LOCAL_VIEWER: #endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) #if defined(GL_LIGHT_MODEL_TWO_SIDE) case GL_LIGHT_MODEL_TWO_SIDE: #endif // defined(GL_LIGHT_MODEL_TWO_SIDE) #if defined(GL_LINE_SMOOTH_HINT) case GL_LINE_SMOOTH_HINT: #endif // defined(GL_LINE_SMOOTH_HINT) #if defined(GL_LINE_WIDTH) case GL_LINE_WIDTH: #endif // defined(GL_LINE_WIDTH) #if defined(GL_LOGIC_OP_MODE) case GL_LOGIC_OP_MODE: #endif // defined(GL_LOGIC_OP_MODE) #if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: #endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) #if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) case GL_MATRIX_INDEX_ARRAY_SIZE_OES: #endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) #if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: #endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) #if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) case GL_MATRIX_INDEX_ARRAY_TYPE_OES: #endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) #if defined(GL_MATRIX_MODE) case GL_MATRIX_MODE: #endif // defined(GL_MATRIX_MODE) #if defined(GL_MAX_CLIP_PLANES) case GL_MAX_CLIP_PLANES: #endif // defined(GL_MAX_CLIP_PLANES) #if defined(GL_MAX_ELEMENTS_INDICES) case GL_MAX_ELEMENTS_INDICES: #endif // defined(GL_MAX_ELEMENTS_INDICES) #if defined(GL_MAX_ELEMENTS_VERTICES) case GL_MAX_ELEMENTS_VERTICES: #endif // defined(GL_MAX_ELEMENTS_VERTICES) #if defined(GL_MAX_LIGHTS) case GL_MAX_LIGHTS: #endif // defined(GL_MAX_LIGHTS) #if defined(GL_MAX_MODELVIEW_STACK_DEPTH) case GL_MAX_MODELVIEW_STACK_DEPTH: #endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) #if defined(GL_MAX_PALETTE_MATRICES_OES) case GL_MAX_PALETTE_MATRICES_OES: #endif // defined(GL_MAX_PALETTE_MATRICES_OES) #if defined(GL_MAX_PROJECTION_STACK_DEPTH) case GL_MAX_PROJECTION_STACK_DEPTH: #endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) #if defined(GL_MAX_TEXTURE_SIZE) case GL_MAX_TEXTURE_SIZE: #endif // defined(GL_MAX_TEXTURE_SIZE) #if defined(GL_MAX_TEXTURE_STACK_DEPTH) case GL_MAX_TEXTURE_STACK_DEPTH: #endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) #if defined(GL_MAX_TEXTURE_UNITS) case GL_MAX_TEXTURE_UNITS: #endif // defined(GL_MAX_TEXTURE_UNITS) #if defined(GL_MAX_VERTEX_UNITS_OES) case GL_MAX_VERTEX_UNITS_OES: #endif // defined(GL_MAX_VERTEX_UNITS_OES) #if defined(GL_MODELVIEW_STACK_DEPTH) case GL_MODELVIEW_STACK_DEPTH: #endif // defined(GL_MODELVIEW_STACK_DEPTH) #if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) case GL_NORMAL_ARRAY_BUFFER_BINDING: #endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) #if defined(GL_NORMAL_ARRAY_STRIDE) case GL_NORMAL_ARRAY_STRIDE: #endif // defined(GL_NORMAL_ARRAY_STRIDE) #if defined(GL_NORMAL_ARRAY_TYPE) case GL_NORMAL_ARRAY_TYPE: #endif // defined(GL_NORMAL_ARRAY_TYPE) #if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) case GL_NUM_COMPRESSED_TEXTURE_FORMATS: #endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) #if defined(GL_PACK_ALIGNMENT) case GL_PACK_ALIGNMENT: #endif // defined(GL_PACK_ALIGNMENT) #if defined(GL_PERSPECTIVE_CORRECTION_HINT) case GL_PERSPECTIVE_CORRECTION_HINT: #endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) #if defined(GL_POINT_SIZE) case GL_POINT_SIZE: #endif // defined(GL_POINT_SIZE) #if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: #endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) #if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) case GL_POINT_SIZE_ARRAY_STRIDE_OES: #endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) #if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) case GL_POINT_SIZE_ARRAY_TYPE_OES: #endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) #if defined(GL_POINT_SMOOTH_HINT) case GL_POINT_SMOOTH_HINT: #endif // defined(GL_POINT_SMOOTH_HINT) #if defined(GL_POLYGON_OFFSET_FACTOR) case GL_POLYGON_OFFSET_FACTOR: #endif // defined(GL_POLYGON_OFFSET_FACTOR) #if defined(GL_POLYGON_OFFSET_UNITS) case GL_POLYGON_OFFSET_UNITS: #endif // defined(GL_POLYGON_OFFSET_UNITS) #if defined(GL_PROJECTION_STACK_DEPTH) case GL_PROJECTION_STACK_DEPTH: #endif // defined(GL_PROJECTION_STACK_DEPTH) #if defined(GL_RED_BITS) case GL_RED_BITS: #endif // defined(GL_RED_BITS) #if defined(GL_SHADE_MODEL) case GL_SHADE_MODEL: #endif // defined(GL_SHADE_MODEL) #if defined(GL_STENCIL_BITS) case GL_STENCIL_BITS: #endif // defined(GL_STENCIL_BITS) #if defined(GL_STENCIL_CLEAR_VALUE) case GL_STENCIL_CLEAR_VALUE: #endif // defined(GL_STENCIL_CLEAR_VALUE) #if defined(GL_STENCIL_FAIL) case GL_STENCIL_FAIL: #endif // defined(GL_STENCIL_FAIL) #if defined(GL_STENCIL_FUNC) case GL_STENCIL_FUNC: #endif // defined(GL_STENCIL_FUNC) #if defined(GL_STENCIL_PASS_DEPTH_FAIL) case GL_STENCIL_PASS_DEPTH_FAIL: #endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) #if defined(GL_STENCIL_PASS_DEPTH_PASS) case GL_STENCIL_PASS_DEPTH_PASS: #endif // defined(GL_STENCIL_PASS_DEPTH_PASS) #if defined(GL_STENCIL_REF) case GL_STENCIL_REF: #endif // defined(GL_STENCIL_REF) #if defined(GL_STENCIL_VALUE_MASK) case GL_STENCIL_VALUE_MASK: #endif // defined(GL_STENCIL_VALUE_MASK) #if defined(GL_STENCIL_WRITEMASK) case GL_STENCIL_WRITEMASK: #endif // defined(GL_STENCIL_WRITEMASK) #if defined(GL_SUBPIXEL_BITS) case GL_SUBPIXEL_BITS: #endif // defined(GL_SUBPIXEL_BITS) #if defined(GL_TEXTURE_BINDING_2D) case GL_TEXTURE_BINDING_2D: #endif // defined(GL_TEXTURE_BINDING_2D) #if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: #endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) #if defined(GL_TEXTURE_COORD_ARRAY_SIZE) case GL_TEXTURE_COORD_ARRAY_SIZE: #endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) #if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) case GL_TEXTURE_COORD_ARRAY_STRIDE: #endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) #if defined(GL_TEXTURE_COORD_ARRAY_TYPE) case GL_TEXTURE_COORD_ARRAY_TYPE: #endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) #if defined(GL_TEXTURE_STACK_DEPTH) case GL_TEXTURE_STACK_DEPTH: #endif // defined(GL_TEXTURE_STACK_DEPTH) #if defined(GL_UNPACK_ALIGNMENT) case GL_UNPACK_ALIGNMENT: #endif // defined(GL_UNPACK_ALIGNMENT) #if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) case GL_VERTEX_ARRAY_BUFFER_BINDING: #endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) #if defined(GL_VERTEX_ARRAY_SIZE) case GL_VERTEX_ARRAY_SIZE: #endif // defined(GL_VERTEX_ARRAY_SIZE) #if defined(GL_VERTEX_ARRAY_STRIDE) case GL_VERTEX_ARRAY_STRIDE: #endif // defined(GL_VERTEX_ARRAY_STRIDE) #if defined(GL_VERTEX_ARRAY_TYPE) case GL_VERTEX_ARRAY_TYPE: #endif // defined(GL_VERTEX_ARRAY_TYPE) #if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: #endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) #if defined(GL_WEIGHT_ARRAY_SIZE_OES) case GL_WEIGHT_ARRAY_SIZE_OES: #endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) #if defined(GL_WEIGHT_ARRAY_STRIDE_OES) case GL_WEIGHT_ARRAY_STRIDE_OES: #endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) #if defined(GL_WEIGHT_ARRAY_TYPE_OES) case GL_WEIGHT_ARRAY_TYPE_OES: #endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) _needed = 1; break; #if defined(GL_ALIASED_POINT_SIZE_RANGE) case GL_ALIASED_POINT_SIZE_RANGE: #endif // defined(GL_ALIASED_POINT_SIZE_RANGE) #if defined(GL_ALIASED_LINE_WIDTH_RANGE) case GL_ALIASED_LINE_WIDTH_RANGE: #endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) #if defined(GL_DEPTH_RANGE) case GL_DEPTH_RANGE: #endif // defined(GL_DEPTH_RANGE) #if defined(GL_MAX_VIEWPORT_DIMS) case GL_MAX_VIEWPORT_DIMS: #endif // defined(GL_MAX_VIEWPORT_DIMS) #if defined(GL_SMOOTH_LINE_WIDTH_RANGE) case GL_SMOOTH_LINE_WIDTH_RANGE: #endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) #if defined(GL_SMOOTH_POINT_SIZE_RANGE) case GL_SMOOTH_POINT_SIZE_RANGE: #endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) _needed = 2; break; #if defined(GL_COLOR_CLEAR_VALUE) case GL_COLOR_CLEAR_VALUE: #endif // defined(GL_COLOR_CLEAR_VALUE) #if defined(GL_COLOR_WRITEMASK) case GL_COLOR_WRITEMASK: #endif // defined(GL_COLOR_WRITEMASK) #if defined(GL_FOG_COLOR) case GL_FOG_COLOR: #endif // defined(GL_FOG_COLOR) #if defined(GL_LIGHT_MODEL_AMBIENT) case GL_LIGHT_MODEL_AMBIENT: #endif // defined(GL_LIGHT_MODEL_AMBIENT) #if defined(GL_SCISSOR_BOX) case GL_SCISSOR_BOX: #endif // defined(GL_SCISSOR_BOX) #if defined(GL_VIEWPORT) case GL_VIEWPORT: #endif // defined(GL_VIEWPORT) _needed = 4; break; #if defined(GL_MODELVIEW_MATRIX) case GL_MODELVIEW_MATRIX: #endif // defined(GL_MODELVIEW_MATRIX) #if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: #endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) #if defined(GL_PROJECTION_MATRIX) case GL_PROJECTION_MATRIX: #endif // defined(GL_PROJECTION_MATRIX) #if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: #endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) #if defined(GL_TEXTURE_MATRIX) case GL_TEXTURE_MATRIX: #endif // defined(GL_TEXTURE_MATRIX) #if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: #endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) _needed = 16; break; #if defined(GL_COMPRESSED_TEXTURE_FORMATS) case GL_COMPRESSED_TEXTURE_FORMATS: #endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) _needed = getNumCompressedTextureFormats(); break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLint *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glGetIntegerv( (GLenum)pname, (GLint *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, _exception ? JNI_ABORT: 0); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glGetIntegerv ( GLenum pname, GLint *params ) */ static void android_glGetIntegerv__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLint *params = (GLint *) 0; params = (GLint *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_ALPHA_BITS) case GL_ALPHA_BITS: #endif // defined(GL_ALPHA_BITS) #if defined(GL_ALPHA_TEST_FUNC) case GL_ALPHA_TEST_FUNC: #endif // defined(GL_ALPHA_TEST_FUNC) #if defined(GL_ALPHA_TEST_REF) case GL_ALPHA_TEST_REF: #endif // defined(GL_ALPHA_TEST_REF) #if defined(GL_BLEND_DST) case GL_BLEND_DST: #endif // defined(GL_BLEND_DST) #if defined(GL_BLUE_BITS) case GL_BLUE_BITS: #endif // defined(GL_BLUE_BITS) #if defined(GL_COLOR_ARRAY_BUFFER_BINDING) case GL_COLOR_ARRAY_BUFFER_BINDING: #endif // defined(GL_COLOR_ARRAY_BUFFER_BINDING) #if defined(GL_COLOR_ARRAY_SIZE) case GL_COLOR_ARRAY_SIZE: #endif // defined(GL_COLOR_ARRAY_SIZE) #if defined(GL_COLOR_ARRAY_STRIDE) case GL_COLOR_ARRAY_STRIDE: #endif // defined(GL_COLOR_ARRAY_STRIDE) #if defined(GL_COLOR_ARRAY_TYPE) case GL_COLOR_ARRAY_TYPE: #endif // defined(GL_COLOR_ARRAY_TYPE) #if defined(GL_CULL_FACE) case GL_CULL_FACE: #endif // defined(GL_CULL_FACE) #if defined(GL_DEPTH_BITS) case GL_DEPTH_BITS: #endif // defined(GL_DEPTH_BITS) #if defined(GL_DEPTH_CLEAR_VALUE) case GL_DEPTH_CLEAR_VALUE: #endif // defined(GL_DEPTH_CLEAR_VALUE) #if defined(GL_DEPTH_FUNC) case GL_DEPTH_FUNC: #endif // defined(GL_DEPTH_FUNC) #if defined(GL_DEPTH_WRITEMASK) case GL_DEPTH_WRITEMASK: #endif // defined(GL_DEPTH_WRITEMASK) #if defined(GL_FOG_DENSITY) case GL_FOG_DENSITY: #endif // defined(GL_FOG_DENSITY) #if defined(GL_FOG_END) case GL_FOG_END: #endif // defined(GL_FOG_END) #if defined(GL_FOG_MODE) case GL_FOG_MODE: #endif // defined(GL_FOG_MODE) #if defined(GL_FOG_START) case GL_FOG_START: #endif // defined(GL_FOG_START) #if defined(GL_FRONT_FACE) case GL_FRONT_FACE: #endif // defined(GL_FRONT_FACE) #if defined(GL_GREEN_BITS) case GL_GREEN_BITS: #endif // defined(GL_GREEN_BITS) #if defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) case GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES: #endif // defined(GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES) #if defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) case GL_IMPLEMENTATION_COLOR_READ_TYPE_OES: #endif // defined(GL_IMPLEMENTATION_COLOR_READ_TYPE_OES) #if defined(GL_LIGHT_MODEL_COLOR_CONTROL) case GL_LIGHT_MODEL_COLOR_CONTROL: #endif // defined(GL_LIGHT_MODEL_COLOR_CONTROL) #if defined(GL_LIGHT_MODEL_LOCAL_VIEWER) case GL_LIGHT_MODEL_LOCAL_VIEWER: #endif // defined(GL_LIGHT_MODEL_LOCAL_VIEWER) #if defined(GL_LIGHT_MODEL_TWO_SIDE) case GL_LIGHT_MODEL_TWO_SIDE: #endif // defined(GL_LIGHT_MODEL_TWO_SIDE) #if defined(GL_LINE_SMOOTH_HINT) case GL_LINE_SMOOTH_HINT: #endif // defined(GL_LINE_SMOOTH_HINT) #if defined(GL_LINE_WIDTH) case GL_LINE_WIDTH: #endif // defined(GL_LINE_WIDTH) #if defined(GL_LOGIC_OP_MODE) case GL_LOGIC_OP_MODE: #endif // defined(GL_LOGIC_OP_MODE) #if defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) case GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES: #endif // defined(GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES) #if defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) case GL_MATRIX_INDEX_ARRAY_SIZE_OES: #endif // defined(GL_MATRIX_INDEX_ARRAY_SIZE_OES) #if defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) case GL_MATRIX_INDEX_ARRAY_STRIDE_OES: #endif // defined(GL_MATRIX_INDEX_ARRAY_STRIDE_OES) #if defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) case GL_MATRIX_INDEX_ARRAY_TYPE_OES: #endif // defined(GL_MATRIX_INDEX_ARRAY_TYPE_OES) #if defined(GL_MATRIX_MODE) case GL_MATRIX_MODE: #endif // defined(GL_MATRIX_MODE) #if defined(GL_MAX_CLIP_PLANES) case GL_MAX_CLIP_PLANES: #endif // defined(GL_MAX_CLIP_PLANES) #if defined(GL_MAX_ELEMENTS_INDICES) case GL_MAX_ELEMENTS_INDICES: #endif // defined(GL_MAX_ELEMENTS_INDICES) #if defined(GL_MAX_ELEMENTS_VERTICES) case GL_MAX_ELEMENTS_VERTICES: #endif // defined(GL_MAX_ELEMENTS_VERTICES) #if defined(GL_MAX_LIGHTS) case GL_MAX_LIGHTS: #endif // defined(GL_MAX_LIGHTS) #if defined(GL_MAX_MODELVIEW_STACK_DEPTH) case GL_MAX_MODELVIEW_STACK_DEPTH: #endif // defined(GL_MAX_MODELVIEW_STACK_DEPTH) #if defined(GL_MAX_PALETTE_MATRICES_OES) case GL_MAX_PALETTE_MATRICES_OES: #endif // defined(GL_MAX_PALETTE_MATRICES_OES) #if defined(GL_MAX_PROJECTION_STACK_DEPTH) case GL_MAX_PROJECTION_STACK_DEPTH: #endif // defined(GL_MAX_PROJECTION_STACK_DEPTH) #if defined(GL_MAX_TEXTURE_SIZE) case GL_MAX_TEXTURE_SIZE: #endif // defined(GL_MAX_TEXTURE_SIZE) #if defined(GL_MAX_TEXTURE_STACK_DEPTH) case GL_MAX_TEXTURE_STACK_DEPTH: #endif // defined(GL_MAX_TEXTURE_STACK_DEPTH) #if defined(GL_MAX_TEXTURE_UNITS) case GL_MAX_TEXTURE_UNITS: #endif // defined(GL_MAX_TEXTURE_UNITS) #if defined(GL_MAX_VERTEX_UNITS_OES) case GL_MAX_VERTEX_UNITS_OES: #endif // defined(GL_MAX_VERTEX_UNITS_OES) #if defined(GL_MODELVIEW_STACK_DEPTH) case GL_MODELVIEW_STACK_DEPTH: #endif // defined(GL_MODELVIEW_STACK_DEPTH) #if defined(GL_NORMAL_ARRAY_BUFFER_BINDING) case GL_NORMAL_ARRAY_BUFFER_BINDING: #endif // defined(GL_NORMAL_ARRAY_BUFFER_BINDING) #if defined(GL_NORMAL_ARRAY_STRIDE) case GL_NORMAL_ARRAY_STRIDE: #endif // defined(GL_NORMAL_ARRAY_STRIDE) #if defined(GL_NORMAL_ARRAY_TYPE) case GL_NORMAL_ARRAY_TYPE: #endif // defined(GL_NORMAL_ARRAY_TYPE) #if defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) case GL_NUM_COMPRESSED_TEXTURE_FORMATS: #endif // defined(GL_NUM_COMPRESSED_TEXTURE_FORMATS) #if defined(GL_PACK_ALIGNMENT) case GL_PACK_ALIGNMENT: #endif // defined(GL_PACK_ALIGNMENT) #if defined(GL_PERSPECTIVE_CORRECTION_HINT) case GL_PERSPECTIVE_CORRECTION_HINT: #endif // defined(GL_PERSPECTIVE_CORRECTION_HINT) #if defined(GL_POINT_SIZE) case GL_POINT_SIZE: #endif // defined(GL_POINT_SIZE) #if defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) case GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES: #endif // defined(GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES) #if defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) case GL_POINT_SIZE_ARRAY_STRIDE_OES: #endif // defined(GL_POINT_SIZE_ARRAY_STRIDE_OES) #if defined(GL_POINT_SIZE_ARRAY_TYPE_OES) case GL_POINT_SIZE_ARRAY_TYPE_OES: #endif // defined(GL_POINT_SIZE_ARRAY_TYPE_OES) #if defined(GL_POINT_SMOOTH_HINT) case GL_POINT_SMOOTH_HINT: #endif // defined(GL_POINT_SMOOTH_HINT) #if defined(GL_POLYGON_OFFSET_FACTOR) case GL_POLYGON_OFFSET_FACTOR: #endif // defined(GL_POLYGON_OFFSET_FACTOR) #if defined(GL_POLYGON_OFFSET_UNITS) case GL_POLYGON_OFFSET_UNITS: #endif // defined(GL_POLYGON_OFFSET_UNITS) #if defined(GL_PROJECTION_STACK_DEPTH) case GL_PROJECTION_STACK_DEPTH: #endif // defined(GL_PROJECTION_STACK_DEPTH) #if defined(GL_RED_BITS) case GL_RED_BITS: #endif // defined(GL_RED_BITS) #if defined(GL_SHADE_MODEL) case GL_SHADE_MODEL: #endif // defined(GL_SHADE_MODEL) #if defined(GL_STENCIL_BITS) case GL_STENCIL_BITS: #endif // defined(GL_STENCIL_BITS) #if defined(GL_STENCIL_CLEAR_VALUE) case GL_STENCIL_CLEAR_VALUE: #endif // defined(GL_STENCIL_CLEAR_VALUE) #if defined(GL_STENCIL_FAIL) case GL_STENCIL_FAIL: #endif // defined(GL_STENCIL_FAIL) #if defined(GL_STENCIL_FUNC) case GL_STENCIL_FUNC: #endif // defined(GL_STENCIL_FUNC) #if defined(GL_STENCIL_PASS_DEPTH_FAIL) case GL_STENCIL_PASS_DEPTH_FAIL: #endif // defined(GL_STENCIL_PASS_DEPTH_FAIL) #if defined(GL_STENCIL_PASS_DEPTH_PASS) case GL_STENCIL_PASS_DEPTH_PASS: #endif // defined(GL_STENCIL_PASS_DEPTH_PASS) #if defined(GL_STENCIL_REF) case GL_STENCIL_REF: #endif // defined(GL_STENCIL_REF) #if defined(GL_STENCIL_VALUE_MASK) case GL_STENCIL_VALUE_MASK: #endif // defined(GL_STENCIL_VALUE_MASK) #if defined(GL_STENCIL_WRITEMASK) case GL_STENCIL_WRITEMASK: #endif // defined(GL_STENCIL_WRITEMASK) #if defined(GL_SUBPIXEL_BITS) case GL_SUBPIXEL_BITS: #endif // defined(GL_SUBPIXEL_BITS) #if defined(GL_TEXTURE_BINDING_2D) case GL_TEXTURE_BINDING_2D: #endif // defined(GL_TEXTURE_BINDING_2D) #if defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) case GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING: #endif // defined(GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING) #if defined(GL_TEXTURE_COORD_ARRAY_SIZE) case GL_TEXTURE_COORD_ARRAY_SIZE: #endif // defined(GL_TEXTURE_COORD_ARRAY_SIZE) #if defined(GL_TEXTURE_COORD_ARRAY_STRIDE) case GL_TEXTURE_COORD_ARRAY_STRIDE: #endif // defined(GL_TEXTURE_COORD_ARRAY_STRIDE) #if defined(GL_TEXTURE_COORD_ARRAY_TYPE) case GL_TEXTURE_COORD_ARRAY_TYPE: #endif // defined(GL_TEXTURE_COORD_ARRAY_TYPE) #if defined(GL_TEXTURE_STACK_DEPTH) case GL_TEXTURE_STACK_DEPTH: #endif // defined(GL_TEXTURE_STACK_DEPTH) #if defined(GL_UNPACK_ALIGNMENT) case GL_UNPACK_ALIGNMENT: #endif // defined(GL_UNPACK_ALIGNMENT) #if defined(GL_VERTEX_ARRAY_BUFFER_BINDING) case GL_VERTEX_ARRAY_BUFFER_BINDING: #endif // defined(GL_VERTEX_ARRAY_BUFFER_BINDING) #if defined(GL_VERTEX_ARRAY_SIZE) case GL_VERTEX_ARRAY_SIZE: #endif // defined(GL_VERTEX_ARRAY_SIZE) #if defined(GL_VERTEX_ARRAY_STRIDE) case GL_VERTEX_ARRAY_STRIDE: #endif // defined(GL_VERTEX_ARRAY_STRIDE) #if defined(GL_VERTEX_ARRAY_TYPE) case GL_VERTEX_ARRAY_TYPE: #endif // defined(GL_VERTEX_ARRAY_TYPE) #if defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) case GL_WEIGHT_ARRAY_BUFFER_BINDING_OES: #endif // defined(GL_WEIGHT_ARRAY_BUFFER_BINDING_OES) #if defined(GL_WEIGHT_ARRAY_SIZE_OES) case GL_WEIGHT_ARRAY_SIZE_OES: #endif // defined(GL_WEIGHT_ARRAY_SIZE_OES) #if defined(GL_WEIGHT_ARRAY_STRIDE_OES) case GL_WEIGHT_ARRAY_STRIDE_OES: #endif // defined(GL_WEIGHT_ARRAY_STRIDE_OES) #if defined(GL_WEIGHT_ARRAY_TYPE_OES) case GL_WEIGHT_ARRAY_TYPE_OES: #endif // defined(GL_WEIGHT_ARRAY_TYPE_OES) _needed = 1; break; #if defined(GL_ALIASED_POINT_SIZE_RANGE) case GL_ALIASED_POINT_SIZE_RANGE: #endif // defined(GL_ALIASED_POINT_SIZE_RANGE) #if defined(GL_ALIASED_LINE_WIDTH_RANGE) case GL_ALIASED_LINE_WIDTH_RANGE: #endif // defined(GL_ALIASED_LINE_WIDTH_RANGE) #if defined(GL_DEPTH_RANGE) case GL_DEPTH_RANGE: #endif // defined(GL_DEPTH_RANGE) #if defined(GL_MAX_VIEWPORT_DIMS) case GL_MAX_VIEWPORT_DIMS: #endif // defined(GL_MAX_VIEWPORT_DIMS) #if defined(GL_SMOOTH_LINE_WIDTH_RANGE) case GL_SMOOTH_LINE_WIDTH_RANGE: #endif // defined(GL_SMOOTH_LINE_WIDTH_RANGE) #if defined(GL_SMOOTH_POINT_SIZE_RANGE) case GL_SMOOTH_POINT_SIZE_RANGE: #endif // defined(GL_SMOOTH_POINT_SIZE_RANGE) _needed = 2; break; #if defined(GL_COLOR_CLEAR_VALUE) case GL_COLOR_CLEAR_VALUE: #endif // defined(GL_COLOR_CLEAR_VALUE) #if defined(GL_COLOR_WRITEMASK) case GL_COLOR_WRITEMASK: #endif // defined(GL_COLOR_WRITEMASK) #if defined(GL_FOG_COLOR) case GL_FOG_COLOR: #endif // defined(GL_FOG_COLOR) #if defined(GL_LIGHT_MODEL_AMBIENT) case GL_LIGHT_MODEL_AMBIENT: #endif // defined(GL_LIGHT_MODEL_AMBIENT) #if defined(GL_SCISSOR_BOX) case GL_SCISSOR_BOX: #endif // defined(GL_SCISSOR_BOX) #if defined(GL_VIEWPORT) case GL_VIEWPORT: #endif // defined(GL_VIEWPORT) _needed = 4; break; #if defined(GL_MODELVIEW_MATRIX) case GL_MODELVIEW_MATRIX: #endif // defined(GL_MODELVIEW_MATRIX) #if defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) case GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES: #endif // defined(GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES) #if defined(GL_PROJECTION_MATRIX) case GL_PROJECTION_MATRIX: #endif // defined(GL_PROJECTION_MATRIX) #if defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) case GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES: #endif // defined(GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES) #if defined(GL_TEXTURE_MATRIX) case GL_TEXTURE_MATRIX: #endif // defined(GL_TEXTURE_MATRIX) #if defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) case GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES: #endif // defined(GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES) _needed = 16; break; #if defined(GL_COMPRESSED_TEXTURE_FORMATS) case GL_COMPRESSED_TEXTURE_FORMATS: #endif // defined(GL_COMPRESSED_TEXTURE_FORMATS) _needed = getNumCompressedTextureFormats(); break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLint *) (_paramsBase + _bufferOffset); } glGetIntegerv( (GLenum)pname, (GLint *)params ); exit: if (_array) { releasePointer(_env, _array, params, _exception ? JNI_FALSE : JNI_TRUE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* const GLubyte * glGetString ( GLenum name ) */ static jstring android_glGetString(JNIEnv* _env, jobject, jint name) { const char* chars = (const char*) glGetString((GLenum) name); return _env->NewStringUTF(chars); } /* void glHint ( GLenum target, GLenum mode ) */ static void android_glHint__II (JNIEnv *_env, jobject _this, jint target, jint mode) { glHint( (GLenum)target, (GLenum)mode ); } /* void glLightModelf ( GLenum pname, GLfloat param ) */ static void android_glLightModelf__IF (JNIEnv *_env, jobject _this, jint pname, jfloat param) { glLightModelf( (GLenum)pname, (GLfloat)param ); } /* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ static void android_glLightModelfv__I_3FI (JNIEnv *_env, jobject _this, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_LIGHT_MODEL_TWO_SIDE) case GL_LIGHT_MODEL_TWO_SIDE: #endif // defined(GL_LIGHT_MODEL_TWO_SIDE) _needed = 1; break; #if defined(GL_LIGHT_MODEL_AMBIENT) case GL_LIGHT_MODEL_AMBIENT: #endif // defined(GL_LIGHT_MODEL_AMBIENT) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glLightModelfv( (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLightModelfv ( GLenum pname, const GLfloat *params ) */ static void android_glLightModelfv__ILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_LIGHT_MODEL_TWO_SIDE) case GL_LIGHT_MODEL_TWO_SIDE: #endif // defined(GL_LIGHT_MODEL_TWO_SIDE) _needed = 1; break; #if defined(GL_LIGHT_MODEL_AMBIENT) case GL_LIGHT_MODEL_AMBIENT: #endif // defined(GL_LIGHT_MODEL_AMBIENT) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glLightModelfv( (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLightModelx ( GLenum pname, GLfixed param ) */ static void android_glLightModelx__II (JNIEnv *_env, jobject _this, jint pname, jint param) { glLightModelx( (GLenum)pname, (GLfixed)param ); } /* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ static void android_glLightModelxv__I_3II (JNIEnv *_env, jobject _this, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_LIGHT_MODEL_TWO_SIDE) case GL_LIGHT_MODEL_TWO_SIDE: #endif // defined(GL_LIGHT_MODEL_TWO_SIDE) _needed = 1; break; #if defined(GL_LIGHT_MODEL_AMBIENT) case GL_LIGHT_MODEL_AMBIENT: #endif // defined(GL_LIGHT_MODEL_AMBIENT) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glLightModelxv( (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLightModelxv ( GLenum pname, const GLfixed *params ) */ static void android_glLightModelxv__ILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_LIGHT_MODEL_TWO_SIDE) case GL_LIGHT_MODEL_TWO_SIDE: #endif // defined(GL_LIGHT_MODEL_TWO_SIDE) _needed = 1; break; #if defined(GL_LIGHT_MODEL_AMBIENT) case GL_LIGHT_MODEL_AMBIENT: #endif // defined(GL_LIGHT_MODEL_AMBIENT) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glLightModelxv( (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLightf ( GLenum light, GLenum pname, GLfloat param ) */ static void android_glLightf__IIF (JNIEnv *_env, jobject _this, jint light, jint pname, jfloat param) { glLightf( (GLenum)light, (GLenum)pname, (GLfloat)param ); } /* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ static void android_glLightfv__II_3FI (JNIEnv *_env, jobject _this, jint light, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_SPOT_EXPONENT) case GL_SPOT_EXPONENT: #endif // defined(GL_SPOT_EXPONENT) #if defined(GL_SPOT_CUTOFF) case GL_SPOT_CUTOFF: #endif // defined(GL_SPOT_CUTOFF) #if defined(GL_CONSTANT_ATTENUATION) case GL_CONSTANT_ATTENUATION: #endif // defined(GL_CONSTANT_ATTENUATION) #if defined(GL_LINEAR_ATTENUATION) case GL_LINEAR_ATTENUATION: #endif // defined(GL_LINEAR_ATTENUATION) #if defined(GL_QUADRATIC_ATTENUATION) case GL_QUADRATIC_ATTENUATION: #endif // defined(GL_QUADRATIC_ATTENUATION) _needed = 1; break; #if defined(GL_SPOT_DIRECTION) case GL_SPOT_DIRECTION: #endif // defined(GL_SPOT_DIRECTION) _needed = 3; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glLightfv( (GLenum)light, (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLightfv ( GLenum light, GLenum pname, const GLfloat *params ) */ static void android_glLightfv__IILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_SPOT_EXPONENT) case GL_SPOT_EXPONENT: #endif // defined(GL_SPOT_EXPONENT) #if defined(GL_SPOT_CUTOFF) case GL_SPOT_CUTOFF: #endif // defined(GL_SPOT_CUTOFF) #if defined(GL_CONSTANT_ATTENUATION) case GL_CONSTANT_ATTENUATION: #endif // defined(GL_CONSTANT_ATTENUATION) #if defined(GL_LINEAR_ATTENUATION) case GL_LINEAR_ATTENUATION: #endif // defined(GL_LINEAR_ATTENUATION) #if defined(GL_QUADRATIC_ATTENUATION) case GL_QUADRATIC_ATTENUATION: #endif // defined(GL_QUADRATIC_ATTENUATION) _needed = 1; break; #if defined(GL_SPOT_DIRECTION) case GL_SPOT_DIRECTION: #endif // defined(GL_SPOT_DIRECTION) _needed = 3; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glLightfv( (GLenum)light, (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLightx ( GLenum light, GLenum pname, GLfixed param ) */ static void android_glLightx__III (JNIEnv *_env, jobject _this, jint light, jint pname, jint param) { glLightx( (GLenum)light, (GLenum)pname, (GLfixed)param ); } /* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ static void android_glLightxv__II_3II (JNIEnv *_env, jobject _this, jint light, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_SPOT_EXPONENT) case GL_SPOT_EXPONENT: #endif // defined(GL_SPOT_EXPONENT) #if defined(GL_SPOT_CUTOFF) case GL_SPOT_CUTOFF: #endif // defined(GL_SPOT_CUTOFF) #if defined(GL_CONSTANT_ATTENUATION) case GL_CONSTANT_ATTENUATION: #endif // defined(GL_CONSTANT_ATTENUATION) #if defined(GL_LINEAR_ATTENUATION) case GL_LINEAR_ATTENUATION: #endif // defined(GL_LINEAR_ATTENUATION) #if defined(GL_QUADRATIC_ATTENUATION) case GL_QUADRATIC_ATTENUATION: #endif // defined(GL_QUADRATIC_ATTENUATION) _needed = 1; break; #if defined(GL_SPOT_DIRECTION) case GL_SPOT_DIRECTION: #endif // defined(GL_SPOT_DIRECTION) _needed = 3; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glLightxv( (GLenum)light, (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLightxv ( GLenum light, GLenum pname, const GLfixed *params ) */ static void android_glLightxv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint light, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_SPOT_EXPONENT) case GL_SPOT_EXPONENT: #endif // defined(GL_SPOT_EXPONENT) #if defined(GL_SPOT_CUTOFF) case GL_SPOT_CUTOFF: #endif // defined(GL_SPOT_CUTOFF) #if defined(GL_CONSTANT_ATTENUATION) case GL_CONSTANT_ATTENUATION: #endif // defined(GL_CONSTANT_ATTENUATION) #if defined(GL_LINEAR_ATTENUATION) case GL_LINEAR_ATTENUATION: #endif // defined(GL_LINEAR_ATTENUATION) #if defined(GL_QUADRATIC_ATTENUATION) case GL_QUADRATIC_ATTENUATION: #endif // defined(GL_QUADRATIC_ATTENUATION) _needed = 1; break; #if defined(GL_SPOT_DIRECTION) case GL_SPOT_DIRECTION: #endif // defined(GL_SPOT_DIRECTION) _needed = 3; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glLightxv( (GLenum)light, (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLineWidth ( GLfloat width ) */ static void android_glLineWidth__F (JNIEnv *_env, jobject _this, jfloat width) { glLineWidth( (GLfloat)width ); } /* void glLineWidthx ( GLfixed width ) */ static void android_glLineWidthx__I (JNIEnv *_env, jobject _this, jint width) { glLineWidthx( (GLfixed)width ); } /* void glLoadIdentity ( void ) */ static void android_glLoadIdentity__ (JNIEnv *_env, jobject _this) { glLoadIdentity(); } /* void glLoadMatrixf ( const GLfloat *m ) */ static void android_glLoadMatrixf___3FI (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfloat *m_base = (GLfloat *) 0; jint _remaining; GLfloat *m = (GLfloat *) 0; if (!m_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "m == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(m_ref) - offset; m_base = (GLfloat *) _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); m = m_base + offset; glLoadMatrixf( (GLfloat *)m ); exit: if (m_base) { _env->ReleasePrimitiveArrayCritical(m_ref, m_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLoadMatrixf ( const GLfloat *m ) */ static void android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jobject m_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *m = (GLfloat *) 0; m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset); if (m == NULL) { char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); m = (GLfloat *) (_mBase + _bufferOffset); } glLoadMatrixf( (GLfloat *)m ); if (_array) { releasePointer(_env, _array, m, JNI_FALSE); } } /* void glLoadMatrixx ( const GLfixed *m ) */ static void android_glLoadMatrixx___3II (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfixed *m_base = (GLfixed *) 0; jint _remaining; GLfixed *m = (GLfixed *) 0; if (!m_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "m == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(m_ref) - offset; m_base = (GLfixed *) _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); m = m_base + offset; glLoadMatrixx( (GLfixed *)m ); exit: if (m_base) { _env->ReleasePrimitiveArrayCritical(m_ref, m_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glLoadMatrixx ( const GLfixed *m ) */ static void android_glLoadMatrixx__Ljava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jobject m_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *m = (GLfixed *) 0; m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset); if (m == NULL) { char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); m = (GLfixed *) (_mBase + _bufferOffset); } glLoadMatrixx( (GLfixed *)m ); if (_array) { releasePointer(_env, _array, m, JNI_FALSE); } } /* void glLogicOp ( GLenum opcode ) */ static void android_glLogicOp__I (JNIEnv *_env, jobject _this, jint opcode) { glLogicOp( (GLenum)opcode ); } /* void glMaterialf ( GLenum face, GLenum pname, GLfloat param ) */ static void android_glMaterialf__IIF (JNIEnv *_env, jobject _this, jint face, jint pname, jfloat param) { glMaterialf( (GLenum)face, (GLenum)pname, (GLfloat)param ); } /* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ static void android_glMaterialfv__II_3FI (JNIEnv *_env, jobject _this, jint face, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_SHININESS) case GL_SHININESS: #endif // defined(GL_SHININESS) _needed = 1; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) #if defined(GL_AMBIENT_AND_DIFFUSE) case GL_AMBIENT_AND_DIFFUSE: #endif // defined(GL_AMBIENT_AND_DIFFUSE) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glMaterialfv( (GLenum)face, (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glMaterialfv ( GLenum face, GLenum pname, const GLfloat *params ) */ static void android_glMaterialfv__IILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_SHININESS) case GL_SHININESS: #endif // defined(GL_SHININESS) _needed = 1; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) #if defined(GL_AMBIENT_AND_DIFFUSE) case GL_AMBIENT_AND_DIFFUSE: #endif // defined(GL_AMBIENT_AND_DIFFUSE) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glMaterialfv( (GLenum)face, (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glMaterialx ( GLenum face, GLenum pname, GLfixed param ) */ static void android_glMaterialx__III (JNIEnv *_env, jobject _this, jint face, jint pname, jint param) { glMaterialx( (GLenum)face, (GLenum)pname, (GLfixed)param ); } /* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ static void android_glMaterialxv__II_3II (JNIEnv *_env, jobject _this, jint face, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_SHININESS) case GL_SHININESS: #endif // defined(GL_SHININESS) _needed = 1; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) #if defined(GL_AMBIENT_AND_DIFFUSE) case GL_AMBIENT_AND_DIFFUSE: #endif // defined(GL_AMBIENT_AND_DIFFUSE) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glMaterialxv( (GLenum)face, (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glMaterialxv ( GLenum face, GLenum pname, const GLfixed *params ) */ static void android_glMaterialxv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint face, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_SHININESS) case GL_SHININESS: #endif // defined(GL_SHININESS) _needed = 1; break; #if defined(GL_AMBIENT) case GL_AMBIENT: #endif // defined(GL_AMBIENT) #if defined(GL_DIFFUSE) case GL_DIFFUSE: #endif // defined(GL_DIFFUSE) #if defined(GL_SPECULAR) case GL_SPECULAR: #endif // defined(GL_SPECULAR) #if defined(GL_EMISSION) case GL_EMISSION: #endif // defined(GL_EMISSION) #if defined(GL_AMBIENT_AND_DIFFUSE) case GL_AMBIENT_AND_DIFFUSE: #endif // defined(GL_AMBIENT_AND_DIFFUSE) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glMaterialxv( (GLenum)face, (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glMatrixMode ( GLenum mode ) */ static void android_glMatrixMode__I (JNIEnv *_env, jobject _this, jint mode) { glMatrixMode( (GLenum)mode ); } /* void glMultMatrixf ( const GLfloat *m ) */ static void android_glMultMatrixf___3FI (JNIEnv *_env, jobject _this, jfloatArray m_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfloat *m_base = (GLfloat *) 0; jint _remaining; GLfloat *m = (GLfloat *) 0; if (!m_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "m == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(m_ref) - offset; m_base = (GLfloat *) _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); m = m_base + offset; glMultMatrixf( (GLfloat *)m ); exit: if (m_base) { _env->ReleasePrimitiveArrayCritical(m_ref, m_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glMultMatrixf ( const GLfloat *m ) */ static void android_glMultMatrixf__Ljava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jobject m_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *m = (GLfloat *) 0; m = (GLfloat *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset); if (m == NULL) { char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); m = (GLfloat *) (_mBase + _bufferOffset); } glMultMatrixf( (GLfloat *)m ); if (_array) { releasePointer(_env, _array, m, JNI_FALSE); } } /* void glMultMatrixx ( const GLfixed *m ) */ static void android_glMultMatrixx___3II (JNIEnv *_env, jobject _this, jintArray m_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfixed *m_base = (GLfixed *) 0; jint _remaining; GLfixed *m = (GLfixed *) 0; if (!m_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "m == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(m_ref) - offset; m_base = (GLfixed *) _env->GetPrimitiveArrayCritical(m_ref, (jboolean *)0); m = m_base + offset; glMultMatrixx( (GLfixed *)m ); exit: if (m_base) { _env->ReleasePrimitiveArrayCritical(m_ref, m_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glMultMatrixx ( const GLfixed *m ) */ static void android_glMultMatrixx__Ljava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jobject m_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *m = (GLfixed *) 0; m = (GLfixed *)getPointer(_env, m_buf, &_array, &_remaining, &_bufferOffset); if (m == NULL) { char * _mBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); m = (GLfixed *) (_mBase + _bufferOffset); } glMultMatrixx( (GLfixed *)m ); if (_array) { releasePointer(_env, _array, m, JNI_FALSE); } } /* void glMultiTexCoord4f ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ) */ static void android_glMultiTexCoord4f__IFFFF (JNIEnv *_env, jobject _this, jint target, jfloat s, jfloat t, jfloat r, jfloat q) { glMultiTexCoord4f( (GLenum)target, (GLfloat)s, (GLfloat)t, (GLfloat)r, (GLfloat)q ); } /* void glMultiTexCoord4x ( GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q ) */ static void android_glMultiTexCoord4x__IIIII (JNIEnv *_env, jobject _this, jint target, jint s, jint t, jint r, jint q) { glMultiTexCoord4x( (GLenum)target, (GLfixed)s, (GLfixed)t, (GLfixed)r, (GLfixed)q ); } /* void glNormal3f ( GLfloat nx, GLfloat ny, GLfloat nz ) */ static void android_glNormal3f__FFF (JNIEnv *_env, jobject _this, jfloat nx, jfloat ny, jfloat nz) { glNormal3f( (GLfloat)nx, (GLfloat)ny, (GLfloat)nz ); } /* void glNormal3x ( GLfixed nx, GLfixed ny, GLfixed nz ) */ static void android_glNormal3x__III (JNIEnv *_env, jobject _this, jint nx, jint ny, jint nz) { glNormal3x( (GLfixed)nx, (GLfixed)ny, (GLfixed)nz ); } /* void glNormalPointer ( GLenum type, GLsizei stride, const GLvoid *pointer ) */ static void android_glNormalPointerBounds__IILjava_nio_Buffer_2I (JNIEnv *_env, jobject _this, jint type, jint stride, jobject pointer_buf, jint remaining) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *pointer = (GLvoid *) 0; if (pointer_buf) { pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); if ( ! pointer ) { return; } } glNormalPointerBounds( (GLenum)type, (GLsizei)stride, (GLvoid *)pointer, (GLsizei)remaining ); } /* void glOrthof ( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar ) */ static void android_glOrthof__FFFFFF (JNIEnv *_env, jobject _this, jfloat left, jfloat right, jfloat bottom, jfloat top, jfloat zNear, jfloat zFar) { glOrthof( (GLfloat)left, (GLfloat)right, (GLfloat)bottom, (GLfloat)top, (GLfloat)zNear, (GLfloat)zFar ); } /* void glOrthox ( GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar ) */ static void android_glOrthox__IIIIII (JNIEnv *_env, jobject _this, jint left, jint right, jint bottom, jint top, jint zNear, jint zFar) { glOrthox( (GLfixed)left, (GLfixed)right, (GLfixed)bottom, (GLfixed)top, (GLfixed)zNear, (GLfixed)zFar ); } /* void glPixelStorei ( GLenum pname, GLint param ) */ static void android_glPixelStorei__II (JNIEnv *_env, jobject _this, jint pname, jint param) { glPixelStorei( (GLenum)pname, (GLint)param ); } /* void glPointSize ( GLfloat size ) */ static void android_glPointSize__F (JNIEnv *_env, jobject _this, jfloat size) { glPointSize( (GLfloat)size ); } /* void glPointSizex ( GLfixed size ) */ static void android_glPointSizex__I (JNIEnv *_env, jobject _this, jint size) { glPointSizex( (GLfixed)size ); } /* void glPolygonOffset ( GLfloat factor, GLfloat units ) */ static void android_glPolygonOffset__FF (JNIEnv *_env, jobject _this, jfloat factor, jfloat units) { glPolygonOffset( (GLfloat)factor, (GLfloat)units ); } /* void glPolygonOffsetx ( GLfixed factor, GLfixed units ) */ static void android_glPolygonOffsetx__II (JNIEnv *_env, jobject _this, jint factor, jint units) { glPolygonOffsetx( (GLfixed)factor, (GLfixed)units ); } /* void glPopMatrix ( void ) */ static void android_glPopMatrix__ (JNIEnv *_env, jobject _this) { glPopMatrix(); } /* void glPushMatrix ( void ) */ static void android_glPushMatrix__ (JNIEnv *_env, jobject _this) { glPushMatrix(); } /* void glReadPixels ( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels ) */ static void android_glReadPixels__IIIIIILjava_nio_Buffer_2 (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height, jint format, jint type, jobject pixels_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *pixels = (GLvoid *) 0; pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset); if (pixels == NULL) { char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); pixels = (GLvoid *) (_pixelsBase + _bufferOffset); } glReadPixels( (GLint)x, (GLint)y, (GLsizei)width, (GLsizei)height, (GLenum)format, (GLenum)type, (GLvoid *)pixels ); if (_array) { releasePointer(_env, _array, pixels, JNI_TRUE); } } /* void glRotatef ( GLfloat angle, GLfloat x, GLfloat y, GLfloat z ) */ static void android_glRotatef__FFFF (JNIEnv *_env, jobject _this, jfloat angle, jfloat x, jfloat y, jfloat z) { glRotatef( (GLfloat)angle, (GLfloat)x, (GLfloat)y, (GLfloat)z ); } /* void glRotatex ( GLfixed angle, GLfixed x, GLfixed y, GLfixed z ) */ static void android_glRotatex__IIII (JNIEnv *_env, jobject _this, jint angle, jint x, jint y, jint z) { glRotatex( (GLfixed)angle, (GLfixed)x, (GLfixed)y, (GLfixed)z ); } /* void glSampleCoverage ( GLclampf value, GLboolean invert ) */ static void android_glSampleCoverage__FZ (JNIEnv *_env, jobject _this, jfloat value, jboolean invert) { glSampleCoverage( (GLclampf)value, (GLboolean)invert ); } /* void glSampleCoveragex ( GLclampx value, GLboolean invert ) */ static void android_glSampleCoveragex__IZ (JNIEnv *_env, jobject _this, jint value, jboolean invert) { glSampleCoveragex( (GLclampx)value, (GLboolean)invert ); } /* void glScalef ( GLfloat x, GLfloat y, GLfloat z ) */ static void android_glScalef__FFF (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { glScalef( (GLfloat)x, (GLfloat)y, (GLfloat)z ); } /* void glScalex ( GLfixed x, GLfixed y, GLfixed z ) */ static void android_glScalex__III (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { glScalex( (GLfixed)x, (GLfixed)y, (GLfixed)z ); } /* void glScissor ( GLint x, GLint y, GLsizei width, GLsizei height ) */ static void android_glScissor__IIII (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { glScissor( (GLint)x, (GLint)y, (GLsizei)width, (GLsizei)height ); } /* void glShadeModel ( GLenum mode ) */ static void android_glShadeModel__I (JNIEnv *_env, jobject _this, jint mode) { glShadeModel( (GLenum)mode ); } /* void glStencilFunc ( GLenum func, GLint ref, GLuint mask ) */ static void android_glStencilFunc__III (JNIEnv *_env, jobject _this, jint func, jint ref, jint mask) { glStencilFunc( (GLenum)func, (GLint)ref, (GLuint)mask ); } /* void glStencilMask ( GLuint mask ) */ static void android_glStencilMask__I (JNIEnv *_env, jobject _this, jint mask) { glStencilMask( (GLuint)mask ); } /* void glStencilOp ( GLenum fail, GLenum zfail, GLenum zpass ) */ static void android_glStencilOp__III (JNIEnv *_env, jobject _this, jint fail, jint zfail, jint zpass) { glStencilOp( (GLenum)fail, (GLenum)zfail, (GLenum)zpass ); } /* void glTexCoordPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ static void android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *pointer = (GLvoid *) 0; if (pointer_buf) { pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); if ( ! pointer ) { return; } } glTexCoordPointerBounds( (GLint)size, (GLenum)type, (GLsizei)stride, (GLvoid *)pointer, (GLsizei)remaining ); } /* void glTexEnvf ( GLenum target, GLenum pname, GLfloat param ) */ static void android_glTexEnvf__IIF (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { glTexEnvf( (GLenum)target, (GLenum)pname, (GLfloat)param ); } /* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ static void android_glTexEnvfv__II_3FI (JNIEnv *_env, jobject _this, jint target, jint pname, jfloatArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfloat *params_base = (GLfloat *) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_MODE) case GL_TEXTURE_ENV_MODE: #endif // defined(GL_TEXTURE_ENV_MODE) #if defined(GL_COMBINE_RGB) case GL_COMBINE_RGB: #endif // defined(GL_COMBINE_RGB) #if defined(GL_COMBINE_ALPHA) case GL_COMBINE_ALPHA: #endif // defined(GL_COMBINE_ALPHA) _needed = 1; break; #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfloat *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glTexEnvfv( (GLenum)target, (GLenum)pname, (GLfloat *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexEnvfv ( GLenum target, GLenum pname, const GLfloat *params ) */ static void android_glTexEnvfv__IILjava_nio_FloatBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfloat *params = (GLfloat *) 0; params = (GLfloat *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_MODE) case GL_TEXTURE_ENV_MODE: #endif // defined(GL_TEXTURE_ENV_MODE) #if defined(GL_COMBINE_RGB) case GL_COMBINE_RGB: #endif // defined(GL_COMBINE_RGB) #if defined(GL_COMBINE_ALPHA) case GL_COMBINE_ALPHA: #endif // defined(GL_COMBINE_ALPHA) _needed = 1; break; #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfloat *) (_paramsBase + _bufferOffset); } glTexEnvfv( (GLenum)target, (GLenum)pname, (GLfloat *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexEnvx ( GLenum target, GLenum pname, GLfixed param ) */ static void android_glTexEnvx__III (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { glTexEnvx( (GLenum)target, (GLenum)pname, (GLfixed)param ); } /* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ static void android_glTexEnvxv__II_3II (JNIEnv *_env, jobject _this, jint target, jint pname, jintArray params_ref, jint offset) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; GLfixed *params_base = (GLfixed *) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; if (!params_ref) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "params == null"; goto exit; } if (offset < 0) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "offset < 0"; goto exit; } _remaining = _env->GetArrayLength(params_ref) - offset; int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_MODE) case GL_TEXTURE_ENV_MODE: #endif // defined(GL_TEXTURE_ENV_MODE) #if defined(GL_COMBINE_RGB) case GL_COMBINE_RGB: #endif // defined(GL_COMBINE_RGB) #if defined(GL_COMBINE_ALPHA) case GL_COMBINE_ALPHA: #endif // defined(GL_COMBINE_ALPHA) _needed = 1; break; #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "length - offset < needed"; goto exit; } params_base = (GLfixed *) _env->GetPrimitiveArrayCritical(params_ref, (jboolean *)0); params = params_base + offset; glTexEnvxv( (GLenum)target, (GLenum)pname, (GLfixed *)params ); exit: if (params_base) { _env->ReleasePrimitiveArrayCritical(params_ref, params_base, JNI_ABORT); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexEnvxv ( GLenum target, GLenum pname, const GLfixed *params ) */ static void android_glTexEnvxv__IILjava_nio_IntBuffer_2 (JNIEnv *_env, jobject _this, jint target, jint pname, jobject params_buf) { jint _exception = 0; const char * _exceptionType; const char * _exceptionMessage; jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLfixed *params = (GLfixed *) 0; params = (GLfixed *)getPointer(_env, params_buf, &_array, &_remaining, &_bufferOffset); int _needed; switch (pname) { #if defined(GL_TEXTURE_ENV_MODE) case GL_TEXTURE_ENV_MODE: #endif // defined(GL_TEXTURE_ENV_MODE) #if defined(GL_COMBINE_RGB) case GL_COMBINE_RGB: #endif // defined(GL_COMBINE_RGB) #if defined(GL_COMBINE_ALPHA) case GL_COMBINE_ALPHA: #endif // defined(GL_COMBINE_ALPHA) _needed = 1; break; #if defined(GL_TEXTURE_ENV_COLOR) case GL_TEXTURE_ENV_COLOR: #endif // defined(GL_TEXTURE_ENV_COLOR) _needed = 4; break; default: _needed = 0; break; } if (_remaining < _needed) { _exception = 1; _exceptionType = "java/lang/IllegalArgumentException"; _exceptionMessage = "remaining() < needed"; goto exit; } if (params == NULL) { char * _paramsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); params = (GLfixed *) (_paramsBase + _bufferOffset); } glTexEnvxv( (GLenum)target, (GLenum)pname, (GLfixed *)params ); exit: if (_array) { releasePointer(_env, _array, params, JNI_FALSE); } if (_exception) { jniThrowException(_env, _exceptionType, _exceptionMessage); } } /* void glTexImage2D ( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) */ static void android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 (JNIEnv *_env, jobject _this, jint target, jint level, jint internalformat, jint width, jint height, jint border, jint format, jint type, jobject pixels_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *pixels = (GLvoid *) 0; if (pixels_buf) { pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset); } if (pixels_buf && pixels == NULL) { char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); pixels = (GLvoid *) (_pixelsBase + _bufferOffset); } glTexImage2D( (GLenum)target, (GLint)level, (GLint)internalformat, (GLsizei)width, (GLsizei)height, (GLint)border, (GLenum)format, (GLenum)type, (GLvoid *)pixels ); if (_array) { releasePointer(_env, _array, pixels, JNI_FALSE); } } /* void glTexParameterf ( GLenum target, GLenum pname, GLfloat param ) */ static void android_glTexParameterf__IIF (JNIEnv *_env, jobject _this, jint target, jint pname, jfloat param) { glTexParameterf( (GLenum)target, (GLenum)pname, (GLfloat)param ); } /* void glTexParameterx ( GLenum target, GLenum pname, GLfixed param ) */ static void android_glTexParameterx__III (JNIEnv *_env, jobject _this, jint target, jint pname, jint param) { glTexParameterx( (GLenum)target, (GLenum)pname, (GLfixed)param ); } /* void glTexSubImage2D ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) */ static void android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 (JNIEnv *_env, jobject _this, jint target, jint level, jint xoffset, jint yoffset, jint width, jint height, jint format, jint type, jobject pixels_buf) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *pixels = (GLvoid *) 0; if (pixels_buf) { pixels = (GLvoid *)getPointer(_env, pixels_buf, &_array, &_remaining, &_bufferOffset); } if (pixels_buf && pixels == NULL) { char * _pixelsBase = (char *)_env->GetPrimitiveArrayCritical(_array, (jboolean *) 0); pixels = (GLvoid *) (_pixelsBase + _bufferOffset); } glTexSubImage2D( (GLenum)target, (GLint)level, (GLint)xoffset, (GLint)yoffset, (GLsizei)width, (GLsizei)height, (GLenum)format, (GLenum)type, (GLvoid *)pixels ); if (_array) { releasePointer(_env, _array, pixels, JNI_FALSE); } } /* void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) */ static void android_glTranslatef__FFF (JNIEnv *_env, jobject _this, jfloat x, jfloat y, jfloat z) { glTranslatef( (GLfloat)x, (GLfloat)y, (GLfloat)z ); } /* void glTranslatex ( GLfixed x, GLfixed y, GLfixed z ) */ static void android_glTranslatex__III (JNIEnv *_env, jobject _this, jint x, jint y, jint z) { glTranslatex( (GLfixed)x, (GLfixed)y, (GLfixed)z ); } /* void glVertexPointer ( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer ) */ static void android_glVertexPointerBounds__IIILjava_nio_Buffer_2I (JNIEnv *_env, jobject _this, jint size, jint type, jint stride, jobject pointer_buf, jint remaining) { jarray _array = (jarray) 0; jint _bufferOffset = (jint) 0; jint _remaining; GLvoid *pointer = (GLvoid *) 0; if (pointer_buf) { pointer = (GLvoid *) getDirectBufferPointer(_env, pointer_buf); if ( ! pointer ) { return; } } glVertexPointerBounds( (GLint)size, (GLenum)type, (GLsizei)stride, (GLvoid *)pointer, (GLsizei)remaining ); } /* void glViewport ( GLint x, GLint y, GLsizei width, GLsizei height ) */ static void android_glViewport__IIII (JNIEnv *_env, jobject _this, jint x, jint y, jint width, jint height) { glViewport( (GLint)x, (GLint)y, (GLsizei)width, (GLsizei)height ); } static const char *classPathName = "android/opengl/GLES10"; static JNINativeMethod methods[] = { {"_nativeClassInit", "()V", (void*)nativeClassInit }, {"glActiveTexture", "(I)V", (void *) android_glActiveTexture__I }, {"glAlphaFunc", "(IF)V", (void *) android_glAlphaFunc__IF }, {"glAlphaFuncx", "(II)V", (void *) android_glAlphaFuncx__II }, {"glBindTexture", "(II)V", (void *) android_glBindTexture__II }, {"glBlendFunc", "(II)V", (void *) android_glBlendFunc__II }, {"glClear", "(I)V", (void *) android_glClear__I }, {"glClearColor", "(FFFF)V", (void *) android_glClearColor__FFFF }, {"glClearColorx", "(IIII)V", (void *) android_glClearColorx__IIII }, {"glClearDepthf", "(F)V", (void *) android_glClearDepthf__F }, {"glClearDepthx", "(I)V", (void *) android_glClearDepthx__I }, {"glClearStencil", "(I)V", (void *) android_glClearStencil__I }, {"glClientActiveTexture", "(I)V", (void *) android_glClientActiveTexture__I }, {"glColor4f", "(FFFF)V", (void *) android_glColor4f__FFFF }, {"glColor4x", "(IIII)V", (void *) android_glColor4x__IIII }, {"glColorMask", "(ZZZZ)V", (void *) android_glColorMask__ZZZZ }, {"glColorPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glColorPointerBounds__IIILjava_nio_Buffer_2I }, {"glCompressedTexImage2D", "(IIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexImage2D__IIIIIIILjava_nio_Buffer_2 }, {"glCompressedTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glCompressedTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, {"glCopyTexImage2D", "(IIIIIIII)V", (void *) android_glCopyTexImage2D__IIIIIIII }, {"glCopyTexSubImage2D", "(IIIIIIII)V", (void *) android_glCopyTexSubImage2D__IIIIIIII }, {"glCullFace", "(I)V", (void *) android_glCullFace__I }, {"glDeleteTextures", "(I[II)V", (void *) android_glDeleteTextures__I_3II }, {"glDeleteTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glDeleteTextures__ILjava_nio_IntBuffer_2 }, {"glDepthFunc", "(I)V", (void *) android_glDepthFunc__I }, {"glDepthMask", "(Z)V", (void *) android_glDepthMask__Z }, {"glDepthRangef", "(FF)V", (void *) android_glDepthRangef__FF }, {"glDepthRangex", "(II)V", (void *) android_glDepthRangex__II }, {"glDisable", "(I)V", (void *) android_glDisable__I }, {"glDisableClientState", "(I)V", (void *) android_glDisableClientState__I }, {"glDrawArrays", "(III)V", (void *) android_glDrawArrays__III }, {"glDrawElements", "(IIILjava/nio/Buffer;)V", (void *) android_glDrawElements__IIILjava_nio_Buffer_2 }, {"glEnable", "(I)V", (void *) android_glEnable__I }, {"glEnableClientState", "(I)V", (void *) android_glEnableClientState__I }, {"glFinish", "()V", (void *) android_glFinish__ }, {"glFlush", "()V", (void *) android_glFlush__ }, {"glFogf", "(IF)V", (void *) android_glFogf__IF }, {"glFogfv", "(I[FI)V", (void *) android_glFogfv__I_3FI }, {"glFogfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glFogfv__ILjava_nio_FloatBuffer_2 }, {"glFogx", "(II)V", (void *) android_glFogx__II }, {"glFogxv", "(I[II)V", (void *) android_glFogxv__I_3II }, {"glFogxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glFogxv__ILjava_nio_IntBuffer_2 }, {"glFrontFace", "(I)V", (void *) android_glFrontFace__I }, {"glFrustumf", "(FFFFFF)V", (void *) android_glFrustumf__FFFFFF }, {"glFrustumx", "(IIIIII)V", (void *) android_glFrustumx__IIIIII }, {"glGenTextures", "(I[II)V", (void *) android_glGenTextures__I_3II }, {"glGenTextures", "(ILjava/nio/IntBuffer;)V", (void *) android_glGenTextures__ILjava_nio_IntBuffer_2 }, {"glGetError", "()I", (void *) android_glGetError__ }, {"glGetIntegerv", "(I[II)V", (void *) android_glGetIntegerv__I_3II }, {"glGetIntegerv", "(ILjava/nio/IntBuffer;)V", (void *) android_glGetIntegerv__ILjava_nio_IntBuffer_2 }, {"glGetString", "(I)Ljava/lang/String;", (void *) android_glGetString }, {"glHint", "(II)V", (void *) android_glHint__II }, {"glLightModelf", "(IF)V", (void *) android_glLightModelf__IF }, {"glLightModelfv", "(I[FI)V", (void *) android_glLightModelfv__I_3FI }, {"glLightModelfv", "(ILjava/nio/FloatBuffer;)V", (void *) android_glLightModelfv__ILjava_nio_FloatBuffer_2 }, {"glLightModelx", "(II)V", (void *) android_glLightModelx__II }, {"glLightModelxv", "(I[II)V", (void *) android_glLightModelxv__I_3II }, {"glLightModelxv", "(ILjava/nio/IntBuffer;)V", (void *) android_glLightModelxv__ILjava_nio_IntBuffer_2 }, {"glLightf", "(IIF)V", (void *) android_glLightf__IIF }, {"glLightfv", "(II[FI)V", (void *) android_glLightfv__II_3FI }, {"glLightfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glLightfv__IILjava_nio_FloatBuffer_2 }, {"glLightx", "(III)V", (void *) android_glLightx__III }, {"glLightxv", "(II[II)V", (void *) android_glLightxv__II_3II }, {"glLightxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glLightxv__IILjava_nio_IntBuffer_2 }, {"glLineWidth", "(F)V", (void *) android_glLineWidth__F }, {"glLineWidthx", "(I)V", (void *) android_glLineWidthx__I }, {"glLoadIdentity", "()V", (void *) android_glLoadIdentity__ }, {"glLoadMatrixf", "([FI)V", (void *) android_glLoadMatrixf___3FI }, {"glLoadMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glLoadMatrixf__Ljava_nio_FloatBuffer_2 }, {"glLoadMatrixx", "([II)V", (void *) android_glLoadMatrixx___3II }, {"glLoadMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glLoadMatrixx__Ljava_nio_IntBuffer_2 }, {"glLogicOp", "(I)V", (void *) android_glLogicOp__I }, {"glMaterialf", "(IIF)V", (void *) android_glMaterialf__IIF }, {"glMaterialfv", "(II[FI)V", (void *) android_glMaterialfv__II_3FI }, {"glMaterialfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glMaterialfv__IILjava_nio_FloatBuffer_2 }, {"glMaterialx", "(III)V", (void *) android_glMaterialx__III }, {"glMaterialxv", "(II[II)V", (void *) android_glMaterialxv__II_3II }, {"glMaterialxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glMaterialxv__IILjava_nio_IntBuffer_2 }, {"glMatrixMode", "(I)V", (void *) android_glMatrixMode__I }, {"glMultMatrixf", "([FI)V", (void *) android_glMultMatrixf___3FI }, {"glMultMatrixf", "(Ljava/nio/FloatBuffer;)V", (void *) android_glMultMatrixf__Ljava_nio_FloatBuffer_2 }, {"glMultMatrixx", "([II)V", (void *) android_glMultMatrixx___3II }, {"glMultMatrixx", "(Ljava/nio/IntBuffer;)V", (void *) android_glMultMatrixx__Ljava_nio_IntBuffer_2 }, {"glMultiTexCoord4f", "(IFFFF)V", (void *) android_glMultiTexCoord4f__IFFFF }, {"glMultiTexCoord4x", "(IIIII)V", (void *) android_glMultiTexCoord4x__IIIII }, {"glNormal3f", "(FFF)V", (void *) android_glNormal3f__FFF }, {"glNormal3x", "(III)V", (void *) android_glNormal3x__III }, {"glNormalPointerBounds", "(IILjava/nio/Buffer;I)V", (void *) android_glNormalPointerBounds__IILjava_nio_Buffer_2I }, {"glOrthof", "(FFFFFF)V", (void *) android_glOrthof__FFFFFF }, {"glOrthox", "(IIIIII)V", (void *) android_glOrthox__IIIIII }, {"glPixelStorei", "(II)V", (void *) android_glPixelStorei__II }, {"glPointSize", "(F)V", (void *) android_glPointSize__F }, {"glPointSizex", "(I)V", (void *) android_glPointSizex__I }, {"glPolygonOffset", "(FF)V", (void *) android_glPolygonOffset__FF }, {"glPolygonOffsetx", "(II)V", (void *) android_glPolygonOffsetx__II }, {"glPopMatrix", "()V", (void *) android_glPopMatrix__ }, {"glPushMatrix", "()V", (void *) android_glPushMatrix__ }, {"glReadPixels", "(IIIIIILjava/nio/Buffer;)V", (void *) android_glReadPixels__IIIIIILjava_nio_Buffer_2 }, {"glRotatef", "(FFFF)V", (void *) android_glRotatef__FFFF }, {"glRotatex", "(IIII)V", (void *) android_glRotatex__IIII }, {"glSampleCoverage", "(FZ)V", (void *) android_glSampleCoverage__FZ }, {"glSampleCoveragex", "(IZ)V", (void *) android_glSampleCoveragex__IZ }, {"glScalef", "(FFF)V", (void *) android_glScalef__FFF }, {"glScalex", "(III)V", (void *) android_glScalex__III }, {"glScissor", "(IIII)V", (void *) android_glScissor__IIII }, {"glShadeModel", "(I)V", (void *) android_glShadeModel__I }, {"glStencilFunc", "(III)V", (void *) android_glStencilFunc__III }, {"glStencilMask", "(I)V", (void *) android_glStencilMask__I }, {"glStencilOp", "(III)V", (void *) android_glStencilOp__III }, {"glTexCoordPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glTexCoordPointerBounds__IIILjava_nio_Buffer_2I }, {"glTexEnvf", "(IIF)V", (void *) android_glTexEnvf__IIF }, {"glTexEnvfv", "(II[FI)V", (void *) android_glTexEnvfv__II_3FI }, {"glTexEnvfv", "(IILjava/nio/FloatBuffer;)V", (void *) android_glTexEnvfv__IILjava_nio_FloatBuffer_2 }, {"glTexEnvx", "(III)V", (void *) android_glTexEnvx__III }, {"glTexEnvxv", "(II[II)V", (void *) android_glTexEnvxv__II_3II }, {"glTexEnvxv", "(IILjava/nio/IntBuffer;)V", (void *) android_glTexEnvxv__IILjava_nio_IntBuffer_2 }, {"glTexImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexImage2D__IIIIIIIILjava_nio_Buffer_2 }, {"glTexParameterf", "(IIF)V", (void *) android_glTexParameterf__IIF }, {"glTexParameterx", "(III)V", (void *) android_glTexParameterx__III }, {"glTexSubImage2D", "(IIIIIIIILjava/nio/Buffer;)V", (void *) android_glTexSubImage2D__IIIIIIIILjava_nio_Buffer_2 }, {"glTranslatef", "(FFF)V", (void *) android_glTranslatef__FFF }, {"glTranslatex", "(III)V", (void *) android_glTranslatex__III }, {"glVertexPointerBounds", "(IIILjava/nio/Buffer;I)V", (void *) android_glVertexPointerBounds__IIILjava_nio_Buffer_2I }, {"glViewport", "(IIII)V", (void *) android_glViewport__IIII }, }; int register_android_opengl_jni_GLES10(JNIEnv *_env) { int err; err = android::AndroidRuntime::registerNativeMethods(_env, classPathName, methods, NELEM(methods)); return err; }