< prev index next >

src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m

Print this page




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


< prev index next >