src/macosx/native/sun/awt/CWrapper.m

Print this page




 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;