[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gfx jni/GzzGL-jni.cxx librenderables/render...
From: |
Asko Soukka |
Subject: |
[Gzz-commits] gzz/gfx jni/GzzGL-jni.cxx librenderables/render... |
Date: |
Mon, 07 Oct 2002 10:23:11 -0400 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Asko Soukka <address@hidden> 02/10/07 10:23:11
Modified files:
gfx/jni : GzzGL-jni.cxx
gfx/librenderables: renderables.py
Log message:
Fixed JNI-code to use std::string conversions. Everything still worked
at least on me. Benja: please, test for the 'null-string-bug'.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/jni/GzzGL-jni.cxx.diff?tr1=1.47&tr2=1.48&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/renderables.py.diff?tr1=1.101&tr2=1.102&r1=text&r2=text
Patches:
Index: gzz/gfx/jni/GzzGL-jni.cxx
diff -c gzz/gfx/jni/GzzGL-jni.cxx:1.47 gzz/gfx/jni/GzzGL-jni.cxx:1.48
*** gzz/gfx/jni/GzzGL-jni.cxx:1.47 Mon Oct 7 05:40:12 2002
--- gzz/gfx/jni/GzzGL-jni.cxx Mon Oct 7 10:23:11 2002
***************
*** 381,389 ****
JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_createImageImpl
(JNIEnv *env, jclass, jstring filename) {
! const char *utf = env->GetStringUTFChars(filename, 0);
! Image *img = ws->loadImageFile(utf);
! env->ReleaseStringUTFChars(filename, utf);
return images.add(img);
}
--- 381,388 ----
JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_createImageImpl
(JNIEnv *env, jclass, jstring filename) {
! std::string utf = jstr2stdstr(env, filename);
! Image *img = ws->loadImageFile(utf.c_str());
return images.add(img);
}
***************
*** 469,477 ****
}
GLenum tokenFromJstring(JNIEnv *env, jstring token) {
! const char *str = env->GetStringUTFChars(token, 0);
! GLenum ret = CallGL::getTokenValue(str);
! env->ReleaseStringUTFChars(token, str);
return ret;
}
--- 468,475 ----
}
GLenum tokenFromJstring(JNIEnv *env, jstring token) {
! std::string str = jstr2stdstr(env, token);
! GLenum ret = CallGL::getTokenValue(str.c_str());
return ret;
}
***************
*** 542,552 ****
setWindow();
DBG(dbg)<<"Shade into "<<id<<"\n";
! const char *name_utf = env->GetStringUTFChars(name, 0);
! Texture::Texture *s = Texture::Texture::getTexture(name_utf);
!
! env->ReleaseStringUTFChars(name, name_utf);
if(!s) {
return 0;
--- 540,548 ----
setWindow();
DBG(dbg)<<"Shade into "<<id<<"\n";
! std::string name_utf = jstr2stdstr(env, name);
! Texture::Texture *s = Texture::Texture::getTexture(name_utf.c_str());
if(!s) {
return 0;
***************
*** 555,565 ****
Texture::TextureParam p;
for(int i=0; i<env->GetArrayLength(params)-1; i+=2) {
! const char *k =
env->GetStringUTFChars((jstring)(env->GetObjectArrayElement(params, i)), 0);
! const char *v =
env->GetStringUTFChars((jstring)(env->GetObjectArrayElement(params, i+1)), 0);
! p.setParam(k, v);
!
env->ReleaseStringUTFChars((jstring)(env->GetObjectArrayElement(params, i)), k);
!
env->ReleaseStringUTFChars((jstring)(env->GetObjectArrayElement(params, i+1)),
v);
}
float *value = new float[w * h * (d==0?1:d) * comp];
--- 551,559 ----
Texture::TextureParam p;
for(int i=0; i<env->GetArrayLength(params)-1; i+=2) {
! std::string k = jstr2stdstr(env,
(jstring)(env->GetObjectArrayElement(params, i)));
! std::string v = jstr2stdstr(env,
(jstring)(env->GetObjectArrayElement(params, i+1)));
! p.setParam(k.c_str(), v.c_str());
}
float *value = new float[w * h * (d==0?1:d) * comp];
***************
*** 638,648 ****
(JNIEnv *env, jclass, jint id, jstring prog) {
#ifdef GL_VERTEX_PROGRAM_NV
setWindow();
! const char *prog_utf = env->GetStringUTFChars(prog, 0);
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, id,
! strlen(prog_utf), (const GLubyte *)prog_utf);
GLERR
- env->ReleaseStringUTFChars(prog, prog_utf);
releaseWindow();
#endif
return 1;
--- 632,641 ----
(JNIEnv *env, jclass, jint id, jstring prog) {
#ifdef GL_VERTEX_PROGRAM_NV
setWindow();
! std::string prog_utf = jstr2stdstr(env, prog);
glLoadProgramNV(GL_VERTEX_PROGRAM_NV, id,
! strlen(prog_utf.c_str()), (const GLubyte *)prog_utf.c_str());
GLERR
releaseWindow();
#endif
return 1;
***************
*** 655,665 ****
(JNIEnv *env, jclass, jstring file, jint pt) {
DBG(dbg) << "creatFontImpl\n";
setWindow();
! const char *utf = env->GetStringUTFChars(file, 0);
! Text::Font *gf0 = ws->loadFont(utf, pt);
Text::Font *gf = new Text::Font_Bordered(
gf0, 10);
- env->ReleaseStringUTFChars(file, utf);
RealFont *f = new RealFont(gf);
releaseWindow();
return fonts.add(f);
--- 648,657 ----
(JNIEnv *env, jclass, jstring file, jint pt) {
DBG(dbg) << "creatFontImpl\n";
setWindow();
! std::string utf = jstr2stdstr(env, file);
! Text::Font *gf0 = ws->loadFont(utf.c_str(), pt);
Text::Font *gf = new Text::Font_Bordered(
gf0, 10);
RealFont *f = new RealFont(gf);
releaseWindow();
return fonts.add(f);
***************
*** 733,744 ****
DBG(dbg) << "Start callgl\n";
setWindow();
DBG(dbg) << "set win\n";
! const char *utf = env->GetStringUTFChars(s, 0);
DBG(dbg) << "got str\n";
! CallGL::callGL(utf, l);
DBG(dbg) << "called\n";
- env->ReleaseStringUTFChars(s, utf);
- DBG(dbg) << "released str\n";
releaseWindow();
DBG(dbg) << "released window\n";
}
--- 725,734 ----
DBG(dbg) << "Start callgl\n";
setWindow();
DBG(dbg) << "set win\n";
! std::string utf = jstr2stdstr(env, s);
DBG(dbg) << "got str\n";
! CallGL::callGL(utf.c_str(), l);
DBG(dbg) << "called\n";
releaseWindow();
DBG(dbg) << "released window\n";
}
***************
*** 1020,1035 ****
JNIEXPORT void JNICALL Java_gzz_gfx_gl_GL_setDebugVar
(JNIEnv *env, jclass, jstring name, jint value) {
! const char *utf = env->GetStringUTFChars(name, 0);
! Debug::var(utf) = value;
! env->ReleaseStringUTFChars(name, utf);
}
JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_getDebugVar
(JNIEnv *env, jclass, jstring name) {
! const char *utf = env->GetStringUTFChars(name, 0);
! int value = Debug::var(utf) ;
! env->ReleaseStringUTFChars(name, utf);
return value;
}
--- 1010,1023 ----
JNIEXPORT void JNICALL Java_gzz_gfx_gl_GL_setDebugVar
(JNIEnv *env, jclass, jstring name, jint value) {
! std::string utf = jstr2stdstr(env, name);
! Debug::var(utf.c_str()) = value;
}
JNIEXPORT jint JNICALL Java_gzz_gfx_gl_GL_getDebugVar
(JNIEnv *env, jclass, jstring name) {
! std::string utf = jstr2stdstr(env, name);
! int value = Debug::var(utf.c_str()) ;
return value;
}
***************
*** 1048,1064 ****
JNIEXPORT jstring JNICALL Java_gzz_gfx_gl_GL_getGLString
(JNIEnv *env, jclass, jstring name) {
! const char *utf = env->GetStringUTFChars(name, 0);
! const char *value = CallGL::getString(utf) ;
! env->ReleaseStringUTFChars(name, utf);
return env->NewStringUTF(value);
}
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLFloat
(JNIEnv *env, jclass, jstring name) {
! const char *utf = env->GetStringUTFChars(name, 0);
! vector<float> vec = CallGL::getFloat(utf) ;
! env->ReleaseStringUTFChars(name, utf);
jfloatArray result = env->NewFloatArray(vec.size());
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]);
return result;
--- 1036,1050 ----
JNIEXPORT jstring JNICALL Java_gzz_gfx_gl_GL_getGLString
(JNIEnv *env, jclass, jstring name) {
! std::string utf = jstr2stdstr(env, name);
! const char *value = CallGL::getString(utf.c_str()) ;
return env->NewStringUTF(value);
}
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLFloat
(JNIEnv *env, jclass, jstring name) {
! std::string utf = jstr2stdstr(env, name);
! vector<float> vec = CallGL::getFloat(utf.c_str()) ;
jfloatArray result = env->NewFloatArray(vec.size());
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]);
return result;
***************
*** 1066,1076 ****
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLTexParameterFloat
(JNIEnv *env, jclass, jstring target, jint tex, jstring name) {
! const char *utf_target = env->GetStringUTFChars(target, 0);
! const char *utf = env->GetStringUTFChars(name, 0);
! vector<float> vec = CallGL::getTexParameterFloat(utf_target, tex, utf) ;
! env->ReleaseStringUTFChars(name, utf);
! env->ReleaseStringUTFChars(target, utf_target);
jfloatArray result = env->NewFloatArray(vec.size());
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]);
return result;
--- 1052,1060 ----
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLTexParameterFloat
(JNIEnv *env, jclass, jstring target, jint tex, jstring name) {
! std::string utf_target = jstr2stdstr(env, target);
! std::string utf = jstr2stdstr(env, name);
! vector<float> vec = CallGL::getTexParameterFloat(utf_target.c_str(),
tex, utf.c_str());
jfloatArray result = env->NewFloatArray(vec.size());
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]);
return result;
***************
*** 1078,1088 ****
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLTexLevelParameterFloat
(JNIEnv *env, jclass, jstring target, jint tex, jint level, jstring name) {
! const char *utf_target = env->GetStringUTFChars(target, 0);
! const char *utf = env->GetStringUTFChars(name, 0);
! vector<float> vec = CallGL::getTexLevelParameterFloat(utf_target, tex,
level, utf) ;
! env->ReleaseStringUTFChars(name, utf);
! env->ReleaseStringUTFChars(target, utf_target);
jfloatArray result = env->NewFloatArray(vec.size());
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]);
return result;
--- 1062,1070 ----
JNIEXPORT jfloatArray JNICALL Java_gzz_gfx_gl_GL_getGLTexLevelParameterFloat
(JNIEnv *env, jclass, jstring target, jint tex, jint level, jstring name) {
! std::string utf_target = jstr2stdstr(env, target);
! std::string utf = jstr2stdstr(env, name);
! vector<float> vec =
CallGL::getTexLevelParameterFloat(utf_target.c_str(), tex, level, utf.c_str()) ;
jfloatArray result = env->NewFloatArray(vec.size());
env->SetFloatArrayRegion(result, 0, vec.size(), &vec[0]);
return result;
Index: gzz/gfx/librenderables/renderables.py
diff -c gzz/gfx/librenderables/renderables.py:1.101
gzz/gfx/librenderables/renderables.py:1.102
*** gzz/gfx/librenderables/renderables.py:1.101 Mon Oct 7 10:18:51 2002
--- gzz/gfx/librenderables/renderables.py Mon Oct 7 10:23:11 2002
***************
*** 27,36 ****
"String" : {
"JNI" : "jstring",
"CXX" : "unicodecharvector",
! "pre" : (lambda v, p : "const jchar *jc_"+p\
! +" = env->GetStringChars("+p \
! +", 0); unicodecharvector "+v+"(jc_"+p+", jc_"+p+" +
env->GetStringLength("+p+")); \
! env->ReleaseStringChars("+p+", jc_"+p+");\n"),
},
"Font" : {
"JNI" : "jint",
--- 27,34 ----
"String" : {
"JNI" : "jstring",
"CXX" : "unicodecharvector",
! "pre" : (lambda v, p : "unicodecharvector "\
! +v+" = jstr2unistr(env, "+p+");\n"),
},
"Font" : {
"JNI" : "jint",
- [Gzz-commits] gzz/gfx jni/GzzGL-jni.cxx librenderables/render...,
Asko Soukka <=