634 */ 635 JNIEXPORT jlong JNICALL 636 Java_sun_lwawt_macosx_CWrapper_00024NSView_window 637 (JNIEnv *env, jclass cls, jlong viewPtr) 638 { 639 __block jlong windowPtr = 0L; 640 641 JNF_COCOA_ENTER(env); 642 643 NSView *view = (NSView *)jlong_to_ptr(viewPtr); 644 [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ 645 windowPtr = ptr_to_jlong([view window]); 646 }]; 647 648 JNF_COCOA_EXIT(env); 649 650 return windowPtr; 651 } 652 653 /* 654 * Class: sun_lwawt_macosx_CWrapper$NSScreen 655 * Method: frame 656 * Signature: (J)Ljava/awt/Rectangle; 657 */ 658 JNIEXPORT jobject JNICALL 659 Java_sun_lwawt_macosx_CWrapper_00024NSScreen_frame 660 (JNIEnv *env, jclass cls, jlong screenPtr) 661 { 662 jobject jRect = NULL; 663 664 JNF_COCOA_ENTER(env); 665 666 __block NSRect rect = NSZeroRect; 667 668 NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); 669 [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ 670 rect = [screen frame]; 671 }]; 672 673 jRect = NSToJavaRect(env, rect); | 634 */ 635 JNIEXPORT jlong JNICALL 636 Java_sun_lwawt_macosx_CWrapper_00024NSView_window 637 (JNIEnv *env, jclass cls, jlong viewPtr) 638 { 639 __block jlong windowPtr = 0L; 640 641 JNF_COCOA_ENTER(env); 642 643 NSView *view = (NSView *)jlong_to_ptr(viewPtr); 644 [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ 645 windowPtr = ptr_to_jlong([view window]); 646 }]; 647 648 JNF_COCOA_EXIT(env); 649 650 return windowPtr; 651 } 652 653 /* 654 * Class: sun_lwawt_macosx_CWrapper$NSView 655 * Method: setHidden 656 * Signature: (JZ)V 657 */ 658 JNIEXPORT jlong JNICALL 659 Java_sun_lwawt_macosx_CWrapper_00024NSView_setHidden 660 (JNIEnv *env, jclass cls, jlong viewPtr, jboolean toHide) 661 { 662 JNF_COCOA_ENTER(env); 663 664 NSView *view = (NSView *)jlong_to_ptr(viewPtr); 665 [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){ 666 [view setHidden:(BOOL)toHide]; 667 }]; 668 669 JNF_COCOA_EXIT(env); 670 } 671 672 673 /* 674 * Class: sun_lwawt_macosx_CWrapper$NSScreen 675 * Method: frame 676 * Signature: (J)Ljava/awt/Rectangle; 677 */ 678 JNIEXPORT jobject JNICALL 679 Java_sun_lwawt_macosx_CWrapper_00024NSScreen_frame 680 (JNIEnv *env, jclass cls, jlong screenPtr) 681 { 682 jobject jRect = NULL; 683 684 JNF_COCOA_ENTER(env); 685 686 __block NSRect rect = NSZeroRect; 687 688 NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); 689 [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){ 690 rect = [screen frame]; 691 }]; 692 693 jRect = NSToJavaRect(env, rect); |