JNIEXPORT jint JNICALL Java_at_jta_JNIHandler_getWindowHandle
(JNIEnv * env, jclass cl, jobject window)
{
JAWT awt;
awt.version = JAWT_VERSION_1_4;
jboolean result = JAWT_GetAWT(env, &awt);
if (result == JNI_FALSE)
return 0;
JAWT_DrawingSurface* ds = awt.GetDrawingSurface(env, window);
if (ds == 0)
return 0;
jint lock = ds->Lock(ds);
if ((lock & JAWT_LOCK_ERROR) != 0)
return 0;
JAWT_DrawingSurfaceInfo* dsi = ds->GetDrawingSurfaceInfo(ds);
if (dsi == 0)
return 0;
JAWT_Win32DrawingSurfaceInfo* dsiwin = (JAWT_Win32DrawingSurfaceInfo*) dsi->platformInfo;
jint ret = reinterpret_cast<jint>(dsiwin->hwnd);
ds->FreeDrawingSurfaceInfo(dsi);
ds->Unlock(ds);
awt.FreeDrawingSurface(ds);
return ret;
}