381 |
|
|
382 |
JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_createImageImpl |
JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_createImageImpl |
383 |
(JNIEnv *env, jclass, jstring filename) { |
(JNIEnv *env, jclass, jstring filename) { |
384 |
const char *utf = env->GetStringUTFChars(filename, 0); |
std::string utf = jstr2stdstr(env, filename); |
385 |
Image *img = ws->loadImageFile(utf); |
Image *img = ws->loadImageFile(utf.c_str()); |
|
env->ReleaseStringUTFChars(filename, utf); |
|
386 |
return images.add(img); |
return images.add(img); |
387 |
} |
} |
388 |
|
|
468 |
} |
} |
469 |
|
|
470 |
GLenum tokenFromJstring(JNIEnv *env, jstring token) { |
GLenum tokenFromJstring(JNIEnv *env, jstring token) { |
471 |
const char *str = env->GetStringUTFChars(token, 0); |
std::string str = jstr2stdstr(env, token); |
472 |
GLenum ret = CallGL::getTokenValue(str); |
GLenum ret = CallGL::getTokenValue(str.c_str()); |
|
env->ReleaseStringUTFChars(token, str); |
|
473 |
return ret; |
return ret; |
474 |
} |
} |
475 |
|
|
540 |
setWindow(); |
setWindow(); |
541 |
DBG(dbg)<<"Shade into "<<id<<"\n"; |
DBG(dbg)<<"Shade into "<<id<<"\n"; |
542 |
|
|
543 |
const char *name_utf = env->GetStringUTFChars(name, 0); |
std::string name_utf = jstr2stdstr(env, name); |
544 |
|
|
545 |
Texture::Texture *s = Texture::Texture::getTexture(name_utf); |
Texture::Texture *s = Texture::Texture::getTexture(name_utf.c_str()); |
|
|
|
|
env->ReleaseStringUTFChars(name, name_utf); |
|
546 |
|
|
547 |
if(!s) { |
if(!s) { |
548 |
return 0; |
return 0; |
551 |
Texture::TextureParam p; |
Texture::TextureParam p; |
552 |
|
|
553 |
for(int i=0; i<env->GetArrayLength(params)-1; i+=2) { |
for(int i=0; i<env->GetArrayLength(params)-1; i+=2) { |
554 |
const char *k = env->GetStringUTFChars((jstring)(env->GetObjectArrayElement(params, i)), 0); |
std::string k = jstr2stdstr(env, (jstring)(env->GetObjectArrayElement(params, i))); |
555 |
const char *v = env->GetStringUTFChars((jstring)(env->GetObjectArrayElement(params, i+1)), 0); |
std::string v = jstr2stdstr(env, (jstring)(env->GetObjectArrayElement(params, i+1))); |
556 |
p.setParam(k, v); |
p.setParam(k.c_str(), v.c_str()); |
|
env->ReleaseStringUTFChars((jstring)(env->GetObjectArrayElement(params, i)), k); |
|
|
env->ReleaseStringUTFChars((jstring)(env->GetObjectArrayElement(params, i+1)), v); |
|
557 |
} |
} |
558 |
|
|
559 |
float *value = new float[w * h * (d==0?1:d) * comp]; |
float *value = new float[w * h * (d==0?1:d) * comp]; |
632 |
(JNIEnv *env, jclass, jint id, jstring prog) { |
(JNIEnv *env, jclass, jint id, jstring prog) { |
633 |
#ifdef GL_VERTEX_PROGRAM_NV |
#ifdef GL_VERTEX_PROGRAM_NV |
634 |
setWindow(); |
setWindow(); |
635 |
const char *prog_utf = env->GetStringUTFChars(prog, 0); |
std::string prog_utf = jstr2stdstr(env, prog); |
636 |
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, id, |
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, id, |
637 |
strlen(prog_utf), (const GLubyte *)prog_utf); |
strlen(prog_utf.c_str()), (const GLubyte *)prog_utf.c_str()); |
638 |
GLERR |
GLERR |
|
env->ReleaseStringUTFChars(prog, prog_utf); |
|
639 |
releaseWindow(); |
releaseWindow(); |
640 |
#endif |
#endif |
641 |
return 1; |
return 1; |
648 |
(JNIEnv *env, jclass, jstring file, jint pt) { |
(JNIEnv *env, jclass, jstring file, jint pt) { |
649 |
DBG(dbg) << "creatFontImpl\n"; |
DBG(dbg) << "creatFontImpl\n"; |
650 |
setWindow(); |
setWindow(); |
651 |
const char *utf = env->GetStringUTFChars(file, 0); |
std::string utf = jstr2stdstr(env, file); |
652 |
Text::Font *gf0 = ws->loadFont(utf, pt); |
Text::Font *gf0 = ws->loadFont(utf.c_str(), pt); |
653 |
Text::Font *gf = new Text::Font_Bordered( |
Text::Font *gf = new Text::Font_Bordered( |
654 |
gf0, 10); |
gf0, 10); |
|
env->ReleaseStringUTFChars(file, utf); |
|
655 |
RealFont *f = new RealFont(gf); |
RealFont *f = new RealFont(gf); |
656 |
releaseWindow(); |
releaseWindow(); |
657 |
return fonts.add(f); |
return fonts.add(f); |
725 |
DBG(dbg) << "Start callgl\n"; |
DBG(dbg) << "Start callgl\n"; |
726 |
setWindow(); |
setWindow(); |
727 |
DBG(dbg) << "set win\n"; |
DBG(dbg) << "set win\n"; |
728 |
const char *utf = env->GetStringUTFChars(s, 0); |
std::string utf = jstr2stdstr(env, s); |
729 |
DBG(dbg) << "got str\n"; |
DBG(dbg) << "got str\n"; |
730 |
CallGL::callGL(utf, l); |
CallGL::callGL(utf.c_str(), l); |
731 |
DBG(dbg) << "called\n"; |
DBG(dbg) << "called\n"; |
|
env->ReleaseStringUTFChars(s, utf); |
|
|
DBG(dbg) << "released str\n"; |
|
732 |
releaseWindow(); |
releaseWindow(); |
733 |
DBG(dbg) << "released window\n"; |
DBG(dbg) << "released window\n"; |
734 |
} |
} |
1010 |
|
|
1011 |
JNIEXPORT void JNICALL Java_gzz_gfx_gl_GL_setDebugVar |
JNIEXPORT void JNICALL Java_gzz_gfx_gl_GL_setDebugVar |
1012 |
(JNIEnv *env, jclass, jstring name, jint value) { |
(JNIEnv *env, jclass, jstring name, jint value) { |
1013 |
const char *utf = env->GetStringUTFChars(name, 0); |
std::string utf = jstr2stdstr(env, name); |
1014 |
Debug::var(utf) = value; |
Debug::var(utf.c_str()) = value; |
|
env->ReleaseStringUTFChars(name, utf); |
|
1015 |
} |
} |
1016 |
|
|
1017 |
JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_getDebugVar |
JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_getDebugVar |
1018 |
(JNIEnv *env, jclass, jstring name) { |
(JNIEnv *env, jclass, jstring name) { |
1019 |
const char *utf = env->GetStringUTFChars(name, 0); |
std::string utf = jstr2stdstr(env, name); |
1020 |
int value = Debug::var(utf) ; |
int value = Debug::var(utf.c_str()) ; |
|
env->ReleaseStringUTFChars(name, utf); |
|
1021 |
return value; |
return value; |
1022 |
} |
} |
1023 |
|
|
1036 |
|
|
1037 |
JNIEXPORT jstring JNICALL Java_gzz_gfx_gl_GL_getGLString |
JNIEXPORT jstring JNICALL Java_gzz_gfx_gl_GL_getGLString |
1038 |
(JNIEnv *env, jclass, jstring name) { |
(JNIEnv *env, jclass, jstring name) { |
1039 |
const char *utf = env->GetStringUTFChars(name, 0); |
std::string utf = jstr2stdstr(env, name); |
1040 |
const char *value = CallGL::getString(utf) ; |
const char *value = CallGL::getString(utf.c_str()) ; |
|
env->ReleaseStringUTFChars(name, utf); |
|
1041 |
return env->NewStringUTF(value); |
return env->NewStringUTF(value); |
1042 |
} |
} |
1043 |
|
|
1044 |
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLFloat |
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLFloat |
1045 |
(JNIEnv *env, jclass, jstring name) { |
(JNIEnv *env, jclass, jstring name) { |
1046 |
const char *utf = env->GetStringUTFChars(name, 0); |
std::string utf = jstr2stdstr(env, name); |
1047 |
vector<float> vec = CallGL::getFloat(utf) ; |
vector<float> vec = CallGL::getFloat(utf.c_str()) ; |
|
env->ReleaseStringUTFChars(name, utf); |
|
1048 |
jfloatArray result = env->NewFloatArray(vec.size()); |
jfloatArray result = env->NewFloatArray(vec.size()); |
1049 |
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]); |
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]); |
1050 |
return result; |
return result; |
1052 |
|
|
1053 |
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLTexParameterFloat |
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLTexParameterFloat |
1054 |
(JNIEnv *env, jclass, jstring target, jint tex, jstring name) { |
(JNIEnv *env, jclass, jstring target, jint tex, jstring name) { |
1055 |
const char *utf_target = env->GetStringUTFChars(target, 0); |
std::string utf_target = jstr2stdstr(env, target); |
1056 |
const char *utf = env->GetStringUTFChars(name, 0); |
std::string utf = jstr2stdstr(env, name); |
1057 |
vector<float> vec = CallGL::getTexParameterFloat(utf_target, tex, utf) ; |
vector<float> vec = CallGL::getTexParameterFloat(utf_target.c_str(), tex, utf.c_str()); |
|
env->ReleaseStringUTFChars(name, utf); |
|
|
env->ReleaseStringUTFChars(target, utf_target); |
|
1058 |
jfloatArray result = env->NewFloatArray(vec.size()); |
jfloatArray result = env->NewFloatArray(vec.size()); |
1059 |
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]); |
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]); |
1060 |
return result; |
return result; |
1062 |
|
|
1063 |
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLTexLevelParameterFloat |
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLTexLevelParameterFloat |
1064 |
(JNIEnv *env, jclass, jstring target, jint tex, jint level, jstring name) { |
(JNIEnv *env, jclass, jstring target, jint tex, jint level, jstring name) { |
1065 |
const char *utf_target = env->GetStringUTFChars(target, 0); |
std::string utf_target = jstr2stdstr(env, target); |
1066 |
const char *utf = env->GetStringUTFChars(name, 0); |
std::string utf = jstr2stdstr(env, name); |
1067 |
vector<float> vec = CallGL::getTexLevelParameterFloat(utf_target, tex, level, utf) ; |
vector<float> vec = CallGL::getTexLevelParameterFloat(utf_target.c_str(), tex, level, utf.c_str()) ; |
|
env->ReleaseStringUTFChars(name, utf); |
|
|
env->ReleaseStringUTFChars(target, utf_target); |
|
1068 |
jfloatArray result = env->NewFloatArray(vec.size()); |
jfloatArray result = env->NewFloatArray(vec.size()); |
1069 |
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]); |
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]); |
1070 |
return result; |
return result; |