1316 { 1317 __block jobject topmostWindowUnderMouse = nil; 1318 1319 JNF_COCOA_ENTER(env); 1320 1321 [ThreadUtilities performOnMainThreadWaiting:YES block:^{ 1322 AWTWindow *awtWindow = [AWTWindow getTopmostWindowUnderMouse]; 1323 if (awtWindow != nil) { 1324 topmostWindowUnderMouse = [awtWindow.javaPlatformWindow jObject]; 1325 } 1326 }]; 1327 1328 JNF_COCOA_EXIT(env); 1329 1330 return topmostWindowUnderMouse; 1331 } 1332 1333 /* 1334 * Class: sun_lwawt_macosx_CPlatformWindow 1335 * Method: nativeSynthesizeMouseEnteredExitedEvents 1336 * Signature: (J)V 1337 */ 1338 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSynthesizeMouseEnteredExitedEvents 1339 (JNIEnv *env, jclass clazz) 1340 { 1341 JNF_COCOA_ENTER(env); 1342 1343 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 1344 [AWTWindow synthesizeMouseEnteredExitedEventsForAllWindows]; 1345 }]; 1346 1347 JNF_COCOA_EXIT(env); 1348 } 1349 1350 /* 1351 * Class: sun_lwawt_macosx_CPlatformWindow 1352 * Method: _toggleFullScreenMode 1353 * Signature: (J)V 1354 */ 1355 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow__1toggleFullScreenMode 1356 (JNIEnv *env, jobject peer, jlong windowPtr) 1357 { 1358 JNF_COCOA_ENTER(env); 1359 1360 NSWindow *nsWindow = OBJC(windowPtr); 1361 SEL toggleFullScreenSelector = @selector(toggleFullScreen:); 1362 if (![nsWindow respondsToSelector:toggleFullScreenSelector]) return; 1363 1364 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 1365 [nsWindow performSelector:toggleFullScreenSelector withObject:nil]; 1366 }]; 1367 1368 JNF_COCOA_EXIT(env); 1369 } 1370 1371 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSetEnabled | 1316 { 1317 __block jobject topmostWindowUnderMouse = nil; 1318 1319 JNF_COCOA_ENTER(env); 1320 1321 [ThreadUtilities performOnMainThreadWaiting:YES block:^{ 1322 AWTWindow *awtWindow = [AWTWindow getTopmostWindowUnderMouse]; 1323 if (awtWindow != nil) { 1324 topmostWindowUnderMouse = [awtWindow.javaPlatformWindow jObject]; 1325 } 1326 }]; 1327 1328 JNF_COCOA_EXIT(env); 1329 1330 return topmostWindowUnderMouse; 1331 } 1332 1333 /* 1334 * Class: sun_lwawt_macosx_CPlatformWindow 1335 * Method: nativeSynthesizeMouseEnteredExitedEvents 1336 * Signature: ()V 1337 */ 1338 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSynthesizeMouseEnteredExitedEvents__ 1339 (JNIEnv *env, jclass clazz) 1340 { 1341 JNF_COCOA_ENTER(env); 1342 1343 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 1344 [AWTWindow synthesizeMouseEnteredExitedEventsForAllWindows]; 1345 }]; 1346 1347 JNF_COCOA_EXIT(env); 1348 } 1349 1350 /* 1351 * Class: sun_lwawt_macosx_CPlatformWindow 1352 * Method: nativeSynthesizeMouseEnteredExitedEvents 1353 * Signature: (JI)V 1354 */ 1355 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSynthesizeMouseEnteredExitedEvents__JI 1356 (JNIEnv *env, jclass clazz, jlong windowPtr, jint eventType) 1357 { 1358 JNF_COCOA_ENTER(env); 1359 1360 if (eventType == NSMouseEntered || eventType == NSMouseExited) { 1361 NSWindow *nsWindow = OBJC(windowPtr); 1362 1363 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 1364 [AWTWindow synthesizeMouseEnteredExitedEvents:nsWindow withType:eventType]; 1365 }]; 1366 } else { 1367 [JNFException raise:env as:kIllegalArgumentException reason:"unknown event type"]; 1368 } 1369 1370 JNF_COCOA_EXIT(env); 1371 } 1372 1373 /* 1374 * Class: sun_lwawt_macosx_CPlatformWindow 1375 * Method: _toggleFullScreenMode 1376 * Signature: (J)V 1377 */ 1378 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow__1toggleFullScreenMode 1379 (JNIEnv *env, jobject peer, jlong windowPtr) 1380 { 1381 JNF_COCOA_ENTER(env); 1382 1383 NSWindow *nsWindow = OBJC(windowPtr); 1384 SEL toggleFullScreenSelector = @selector(toggleFullScreen:); 1385 if (![nsWindow respondsToSelector:toggleFullScreenSelector]) return; 1386 1387 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 1388 [nsWindow performSelector:toggleFullScreenSelector withObject:nil]; 1389 }]; 1390 1391 JNF_COCOA_EXIT(env); 1392 } 1393 1394 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSetEnabled |