1411 * Method: nativeGetLocationOnScreen 1412 * Signature: (J)Ljava/awt/Rectangle; 1413 */ 1414 1415 JNIEXPORT jobject JNICALL 1416 Java_sun_lwawt_macosx_CPlatformView_nativeGetLocationOnScreen 1417 (JNIEnv *env, jclass cls, jlong viewPtr) 1418 { 1419 jobject jRect = NULL; 1420 1421 JNF_COCOA_ENTER(env); 1422 1423 __block NSRect rect = NSZeroRect; 1424 1425 NSView *view = (NSView *)jlong_to_ptr(viewPtr); 1426 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 1427 1428 NSRect viewBounds = [view bounds]; 1429 NSRect frameInWindow = [view convertRect:viewBounds toView:nil]; 1430 rect = [[view window] convertRectToScreen:frameInWindow]; 1431 NSRect screenRect = [[NSScreen mainScreen] frame]; 1432 //Convert coordinates to top-left corner origin 1433 rect.origin.y = screenRect.size.height - rect.origin.y - viewBounds.size.height; 1434 }]; 1435 jRect = NSToJavaRect(env, rect); 1436 1437 JNF_COCOA_EXIT(env); 1438 1439 return jRect; 1440 } 1441 1442 /* 1443 * Class: sun_lwawt_macosx_CPlatformView 1444 * Method: nativeIsViewUnderMouse 1445 * Signature: (J)Z; 1446 */ 1447 1448 JNIEXPORT jboolean JNICALL Java_sun_lwawt_macosx_CPlatformView_nativeIsViewUnderMouse 1449 (JNIEnv *env, jclass clazz, jlong viewPtr) 1450 { 1451 __block jboolean underMouse = JNI_FALSE; 1452 1453 JNF_COCOA_ENTER(env); | 1411 * Method: nativeGetLocationOnScreen 1412 * Signature: (J)Ljava/awt/Rectangle; 1413 */ 1414 1415 JNIEXPORT jobject JNICALL 1416 Java_sun_lwawt_macosx_CPlatformView_nativeGetLocationOnScreen 1417 (JNIEnv *env, jclass cls, jlong viewPtr) 1418 { 1419 jobject jRect = NULL; 1420 1421 JNF_COCOA_ENTER(env); 1422 1423 __block NSRect rect = NSZeroRect; 1424 1425 NSView *view = (NSView *)jlong_to_ptr(viewPtr); 1426 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 1427 1428 NSRect viewBounds = [view bounds]; 1429 NSRect frameInWindow = [view convertRect:viewBounds toView:nil]; 1430 rect = [[view window] convertRectToScreen:frameInWindow]; 1431 //Convert coordinates to top-left corner origin 1432 rect = ConvertNSScreenRect(NULL, rect); 1433 1434 }]; 1435 jRect = NSToJavaRect(env, rect); 1436 1437 JNF_COCOA_EXIT(env); 1438 1439 return jRect; 1440 } 1441 1442 /* 1443 * Class: sun_lwawt_macosx_CPlatformView 1444 * Method: nativeIsViewUnderMouse 1445 * Signature: (J)Z; 1446 */ 1447 1448 JNIEXPORT jboolean JNICALL Java_sun_lwawt_macosx_CPlatformView_nativeIsViewUnderMouse 1449 (JNIEnv *env, jclass clazz, jlong viewPtr) 1450 { 1451 __block jboolean underMouse = JNI_FALSE; 1452 1453 JNF_COCOA_ENTER(env); |