380 * Class: sun_lwawt_macosx_CWrapper$NSWindow 381 * Method: setBackgroundColor 382 * Signature: (J)V 383 */ 384 JNIEXPORT void JNICALL 385 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setBackgroundColor 386 (JNIEnv *env, jclass cls, jlong windowPtr, jlong colorPtr) 387 { 388 JNF_COCOA_ENTER(env); 389 390 AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); 391 NSColor *color = (NSColor *)jlong_to_ptr(colorPtr); 392 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 393 [window setBackgroundColor:color]; 394 }]; 395 396 JNF_COCOA_EXIT(env); 397 } 398 399 /* 400 * Class: sun_lwawt_macosx_CWrapper$NSWindow 401 * Method: screen 402 * Signature: (J)J 403 */ 404 JNIEXPORT jlong JNICALL 405 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_screen 406 (JNIEnv *env, jclass cls, jlong windowPtr) 407 { 408 __block jlong screenPtr = 0L; 409 410 JNF_COCOA_ENTER(env); 411 412 AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); 413 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 414 const NSScreen *screen = [window screen]; 415 CFRetain(screen); // GC 416 screenPtr = ptr_to_jlong(screen); 417 }]; 418 419 JNF_COCOA_EXIT(env); 420 421 return screenPtr; 422 } 423 424 /* 425 * Method: miniaturize 426 * Signature: (J)V 427 */ 428 JNIEXPORT void JNICALL 429 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_miniaturize 430 (JNIEnv *env, jclass cls, jlong windowPtr) 431 { 432 JNF_COCOA_ENTER(env); 433 434 NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); 435 [ThreadUtilities performOnMainThread:@selector(miniaturize:) 436 on:window 437 withObject:nil 438 waitUntilDone:NO]; 439 440 JNF_COCOA_EXIT(env); 441 } 442 443 /* 444 * Class: sun_lwawt_macosx_CWrapper$NSWindow 652 653 /* 654 * Class: sun_lwawt_macosx_CWrapper$NSView 655 * Method: setHidden 656 * Signature: (JZ)V 657 */ 658 JNIEXPORT void 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 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 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 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 690 rect = [screen frame]; 691 }]; 692 693 jRect = NSToJavaRect(env, rect); 694 695 JNF_COCOA_EXIT(env); 696 697 return jRect; 698 } 699 700 /* 701 * Class: sun_lwawt_macosx_CWrapper_NSScreen 702 * Method: visibleFrame 703 * Signature: (J)Ljava/awt/geom/Rectangle2D; 704 */ 705 JNIEXPORT jobject JNICALL 706 Java_sun_lwawt_macosx_CWrapper_00024NSScreen_visibleFrame 707 (JNIEnv *env, jclass cls, jlong screenPtr) 708 { 709 jobject jRect = NULL; 710 711 JNF_COCOA_ENTER(env); 712 713 __block NSRect rect = NSZeroRect; 714 715 NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); 716 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 717 rect = [screen visibleFrame]; 718 }]; 719 720 jRect = NSToJavaRect(env, rect); 721 722 JNF_COCOA_EXIT(env); 723 724 return jRect; 725 } 726 727 /* 728 * Class: sun_lwawt_macosx_CWrapper_NSScreen 729 * Method: screenByDisplayId 730 * Signature: (J)J 731 */ 732 JNIEXPORT jlong JNICALL 733 Java_sun_lwawt_macosx_CWrapper_00024NSScreen_screenByDisplayId 734 (JNIEnv *env, jclass cls, jint displayID) 735 { 736 __block jlong screenPtr = 0L; 737 738 JNF_COCOA_ENTER(env); 739 740 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 741 NSArray *screens = [NSScreen screens]; 742 for (NSScreen *screen in screens) { 743 NSDictionary *screenInfo = [screen deviceDescription]; 744 NSNumber *screenID = [screenInfo objectForKey:@"NSScreenNumber"]; 745 if ([screenID intValue] == displayID){ 746 CFRetain(screen); // GC 747 screenPtr = ptr_to_jlong(screen); 748 break; 749 } 750 } 751 }]; 752 753 JNF_COCOA_EXIT(env); 754 755 return screenPtr; 756 } 757 758 /* 759 * Class: sun_lwawt_macosx_CWrapper$NSColor 760 * Method: clearColor 761 * Signature: ()J 762 */ 763 JNIEXPORT jlong JNICALL 764 Java_sun_lwawt_macosx_CWrapper_00024NSColor_clearColor 765 (JNIEnv *env, jclass cls) 766 { 767 __block jlong clearColorPtr = 0L; 768 769 JNF_COCOA_ENTER(env); 770 771 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 772 clearColorPtr = ptr_to_jlong([NSColor clearColor]); 773 }]; 774 775 JNF_COCOA_EXIT(env); 776 777 return clearColorPtr; | 380 * Class: sun_lwawt_macosx_CWrapper$NSWindow 381 * Method: setBackgroundColor 382 * Signature: (J)V 383 */ 384 JNIEXPORT void JNICALL 385 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setBackgroundColor 386 (JNIEnv *env, jclass cls, jlong windowPtr, jlong colorPtr) 387 { 388 JNF_COCOA_ENTER(env); 389 390 AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); 391 NSColor *color = (NSColor *)jlong_to_ptr(colorPtr); 392 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 393 [window setBackgroundColor:color]; 394 }]; 395 396 JNF_COCOA_EXIT(env); 397 } 398 399 /* 400 * Method: miniaturize 401 * Signature: (J)V 402 */ 403 JNIEXPORT void JNICALL 404 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_miniaturize 405 (JNIEnv *env, jclass cls, jlong windowPtr) 406 { 407 JNF_COCOA_ENTER(env); 408 409 NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr); 410 [ThreadUtilities performOnMainThread:@selector(miniaturize:) 411 on:window 412 withObject:nil 413 waitUntilDone:NO]; 414 415 JNF_COCOA_EXIT(env); 416 } 417 418 /* 419 * Class: sun_lwawt_macosx_CWrapper$NSWindow 627 628 /* 629 * Class: sun_lwawt_macosx_CWrapper$NSView 630 * Method: setHidden 631 * Signature: (JZ)V 632 */ 633 JNIEXPORT void JNICALL 634 Java_sun_lwawt_macosx_CWrapper_00024NSView_setHidden 635 (JNIEnv *env, jclass cls, jlong viewPtr, jboolean toHide) 636 { 637 JNF_COCOA_ENTER(env); 638 639 NSView *view = (NSView *)jlong_to_ptr(viewPtr); 640 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 641 [view setHidden:(BOOL)toHide]; 642 }]; 643 644 JNF_COCOA_EXIT(env); 645 } 646 647 /* 648 * Class: sun_lwawt_macosx_CWrapper$NSColor 649 * Method: clearColor 650 * Signature: ()J 651 */ 652 JNIEXPORT jlong JNICALL 653 Java_sun_lwawt_macosx_CWrapper_00024NSColor_clearColor 654 (JNIEnv *env, jclass cls) 655 { 656 __block jlong clearColorPtr = 0L; 657 658 JNF_COCOA_ENTER(env); 659 660 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 661 clearColorPtr = ptr_to_jlong([NSColor clearColor]); 662 }]; 663 664 JNF_COCOA_EXIT(env); 665 666 return clearColorPtr; |