210 |
} |
} |
211 |
}; |
}; |
212 |
|
|
|
/* |
|
|
struct GZZJNIIdler : public Gzz::AbstractWin::IdleTasks { |
|
|
jobject globalRef; |
|
|
jclass globalclass; // must keep for mid to remain valid |
|
|
jmethodID mid_tick; |
|
|
GZZJNIIdler(JNIEnv *env, jobject globalRef) : globalRef(globalRef) { |
|
|
jclass cls = env->GetObjectClass(globalRef); |
|
|
globalclass = (jclass)env->NewGlobalRef(cls); |
|
|
mid_tick = env->GetMethodID(globalclass, |
|
|
"tick", "()Z"); |
|
|
} |
|
|
~GZZJNIIdler() { |
|
|
} |
|
|
bool tick() { |
|
|
// cout << "Starting to call tick\n"; |
|
|
// cout << "Calling tick "<<mid<<"\n"; |
|
|
bool ret = jnienv_eventloop->CallBooleanMethod(globalRef, mid_tick); |
|
|
// cout << "Finished: \n" << ret; |
|
|
return ret; |
|
|
} |
|
|
}; |
|
|
*/ |
|
|
|
|
213 |
extern "C" { |
extern "C" { |
214 |
|
|
215 |
int inited = 0; |
int inited = 0; |
292 |
windows.remove(id); |
windows.remove(id); |
293 |
} |
} |
294 |
|
|
|
JNIEXPORT void JNICALL Java_gzz_gfx_gl_GL_repaintWindow |
|
|
(JNIEnv *env, jclass, jint id) { |
|
|
DBG(dbg_event) << "RepaintWindow called\n"; |
|
|
Os::Window *w = (Os::Window *)windows.get(id); |
|
|
w->repaint(); |
|
|
} |
|
|
|
|
295 |
JNIEXPORT void JNICALL Java_gzz_gfx_gl_GL_getWindowSize |
JNIEXPORT void JNICALL Java_gzz_gfx_gl_GL_getWindowSize |
296 |
(JNIEnv *env, jclass, jint id, jobject rect) { |
(JNIEnv *env, jclass, jint id, jobject rect) { |
297 |
Os::RenderingSurface *win = windows.get(id); |
Os::RenderingSurface *win = windows.get(id); |
993 |
} catch(JavaException e) { |
} catch(JavaException e) { |
994 |
cerr << "CAUGHT JAVA EXCEPTION\n"; |
cerr << "CAUGHT JAVA EXCEPTION\n"; |
995 |
} |
} |
|
/* |
|
|
ticker = env->NewGlobalRef(ticker); |
|
|
ws->addIdle(new GZZJNIIdler(env, ticker)); |
|
|
ws->eventLoop(); |
|
|
*/ |
|
996 |
} |
} |
997 |
|
|
998 |
|
JNIEXPORT void JNICALL Java_gzz_gfx_gl_GL_interruptEventloop |
999 |
|
(JNIEnv *env, jclass) { |
1000 |
|
DBG(dbg) << "Interrupting C++ eventloop"; |
1001 |
|
ws->interrupt(); |
1002 |
|
DBG(dbg) << "Done interrupting - should wake soon"; |
1003 |
|
} |
1004 |
|
|
1005 |
|
|
1006 |
#include <sys/time.h> |
#include <sys/time.h> |
1007 |
double getTime() { |
double getTime() { |
1008 |
struct timeval t; |
struct timeval t; |