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

Print this page




 465  * Method:    makeFirstResponder
 466  * Signature: (JJ)V
 467  */
 468 JNIEXPORT void JNICALL
 469 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_makeFirstResponder
 470 (JNIEnv *env, jclass cls, jlong windowPtr, jlong responderPtr)
 471 {
 472 JNF_COCOA_ENTER(env);
 473 
 474     NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
 475     NSResponder *responder = (NSResponder *)jlong_to_ptr(responderPtr);
 476     [JNFRunLoop performOnMainThread:@selector(makeFirstResponder:)
 477                                  on:window
 478                          withObject:responder
 479                       waitUntilDone:NO];
 480 
 481 JNF_COCOA_EXIT(env);
 482 }
 483 
 484 /*





















 485  * Class:     sun_lwawt_macosx_CWrapper$NSView
 486  * Method:    addSubview
 487  * Signature: (JJ)V
 488  */
 489 JNIEXPORT void JNICALL
 490 Java_sun_lwawt_macosx_CWrapper_00024NSView_addSubview
 491 (JNIEnv *env, jclass cls, jlong viewPtr, jlong subviewPtr)
 492 {
 493 JNF_COCOA_ENTER(env);
 494 
 495     NSView *view = (NSView *)jlong_to_ptr(viewPtr);
 496     NSView *subview = (NSView *)jlong_to_ptr(subviewPtr);
 497     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 498         [view addSubview:subview];
 499     }];
 500 
 501 JNF_COCOA_EXIT(env);
 502 }
 503 
 504 /*


 552     jobject jRect = NULL;
 553 
 554 JNF_COCOA_ENTER(env);
 555 
 556     __block NSRect rect = NSZeroRect;
 557 
 558     NSView *view = (NSView *)jlong_to_ptr(viewPtr);
 559     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 560         rect = [view frame];
 561     }];
 562 
 563     jRect = NSToJavaRect(env, rect);
 564 
 565 JNF_COCOA_EXIT(env);
 566 
 567     return jRect;
 568 }
 569 
 570 /*
 571  * Class:     sun_lwawt_macosx_CWrapper$NSView
 572  * Method:    enterFullScreenMode
 573  * Signature: (J)V
 574  */
 575 JNIEXPORT void JNICALL
 576 Java_sun_lwawt_macosx_CWrapper_00024NSView_enterFullScreenMode
 577 (JNIEnv *env, jclass cls, jlong viewPtr)
 578 {
 579 JNF_COCOA_ENTER(env);
 580 
 581     NSView *view = (NSView *)jlong_to_ptr(viewPtr);
 582     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 583         NSScreen *screen = [[view window] screen];
 584         NSDictionary *opts = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], NSFullScreenModeAllScreens, nil];
 585         [view enterFullScreenMode:screen withOptions:opts];
 586     }];
 587 
 588 JNF_COCOA_EXIT(env);
 589 }
 590 
 591 /*
 592  * Class:     sun_lwawt_macosx_CWrapper$NSView
 593  * Method:    exitFullScreenMode
 594  * Signature: (J)V
 595  */
 596 JNIEXPORT void JNICALL
 597 Java_sun_lwawt_macosx_CWrapper_00024NSView_exitFullScreenMode
 598 (JNIEnv *env, jclass cls, jlong viewPtr)
 599 {
 600 JNF_COCOA_ENTER(env);
 601 
 602     NSView *view = (NSView *)jlong_to_ptr(viewPtr);
 603     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 604         [view exitFullScreenModeWithOptions:nil];
 605     }];
 606 
 607 JNF_COCOA_EXIT(env);
 608 }
 609 
 610 /*
 611  * Class:     sun_lwawt_macosx_CWrapper$NSView
 612  * Method:    window
 613  * Signature: (J)J
 614  */
 615 JNIEXPORT jlong JNICALL
 616 Java_sun_lwawt_macosx_CWrapper_00024NSView_window
 617 (JNIEnv *env, jclass cls, jlong viewPtr)
 618 {
 619     __block jlong windowPtr = 0L;
 620 
 621 JNF_COCOA_ENTER(env);
 622 
 623     NSView *view = (NSView *)jlong_to_ptr(viewPtr);
 624     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 625         windowPtr = ptr_to_jlong([view window]);
 626     }];
 627 
 628 JNF_COCOA_EXIT(env);
 629 
 630     return windowPtr;
 631 }


 696     __block jlong screenPtr = 0L;
 697 
 698 JNF_COCOA_ENTER(env);
 699 
 700     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 701         NSArray *screens = [NSScreen screens];
 702         for (NSScreen *screen in screens) {
 703             NSDictionary *screenInfo = [screen deviceDescription];
 704             NSNumber *screenID = [screenInfo objectForKey:@"NSScreenNumber"];
 705             if ([screenID intValue] == displayID){
 706                 CFRetain(screen); // GC
 707                 screenPtr = ptr_to_jlong(screen);
 708                 break;
 709             }
 710         }
 711     }];
 712 
 713 JNF_COCOA_EXIT(env);
 714 
 715     return screenPtr;








































 716 }
 717 
 718 /*
 719  * Class:     sun_lwawt_macosx_CWrapper$NSColor
 720  * Method:    clearColor
 721  * Signature: ()J
 722  */
 723 JNIEXPORT jlong JNICALL
 724 Java_sun_lwawt_macosx_CWrapper_00024NSColor_clearColor
 725 (JNIEnv *env, jclass cls)
 726 {
 727     __block jlong clearColorPtr = 0L;
 728 
 729 JNF_COCOA_ENTER(env);
 730 
 731     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 732         clearColorPtr = ptr_to_jlong([NSColor clearColor]);
 733     }];
 734 
 735 JNF_COCOA_EXIT(env);


 465  * Method:    makeFirstResponder
 466  * Signature: (JJ)V
 467  */
 468 JNIEXPORT void JNICALL
 469 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_makeFirstResponder
 470 (JNIEnv *env, jclass cls, jlong windowPtr, jlong responderPtr)
 471 {
 472 JNF_COCOA_ENTER(env);
 473 
 474     NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
 475     NSResponder *responder = (NSResponder *)jlong_to_ptr(responderPtr);
 476     [JNFRunLoop performOnMainThread:@selector(makeFirstResponder:)
 477                                  on:window
 478                          withObject:responder
 479                       waitUntilDone:NO];
 480 
 481 JNF_COCOA_EXIT(env);
 482 }
 483 
 484 /*
 485  * Class:     sun_lwawt_macosx_CWrapper$NSWindow
 486  * Method:    toggleFullScreen
 487  * Signature: (JJ)V
 488  */
 489 JNIEXPORT void JNICALL
 490 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_toggleFullScreen
 491 (JNIEnv *env, jclass cls, jlong windowPtr, jlong senderPtr)
 492 {
 493 JNF_COCOA_ENTER(env);
 494 
 495     NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
 496     id sender = (id)jlong_to_ptr(senderPtr);
 497     [JNFRunLoop performOnMainThread:@selector(toggleFullScreen:)
 498                                  on:window
 499                          withObject:sender
 500                       waitUntilDone:NO];
 501 
 502 JNF_COCOA_EXIT(env);
 503 }
 504 
 505 /*
 506  * Class:     sun_lwawt_macosx_CWrapper$NSView
 507  * Method:    addSubview
 508  * Signature: (JJ)V
 509  */
 510 JNIEXPORT void JNICALL
 511 Java_sun_lwawt_macosx_CWrapper_00024NSView_addSubview
 512 (JNIEnv *env, jclass cls, jlong viewPtr, jlong subviewPtr)
 513 {
 514 JNF_COCOA_ENTER(env);
 515 
 516     NSView *view = (NSView *)jlong_to_ptr(viewPtr);
 517     NSView *subview = (NSView *)jlong_to_ptr(subviewPtr);
 518     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 519         [view addSubview:subview];
 520     }];
 521 
 522 JNF_COCOA_EXIT(env);
 523 }
 524 
 525 /*


 573     jobject jRect = NULL;
 574 
 575 JNF_COCOA_ENTER(env);
 576 
 577     __block NSRect rect = NSZeroRect;
 578 
 579     NSView *view = (NSView *)jlong_to_ptr(viewPtr);
 580     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 581         rect = [view frame];
 582     }];
 583 
 584     jRect = NSToJavaRect(env, rect);
 585 
 586 JNF_COCOA_EXIT(env);
 587 
 588     return jRect;
 589 }
 590 
 591 /*
 592  * Class:     sun_lwawt_macosx_CWrapper$NSView








































 593  * Method:    window
 594  * Signature: (J)J
 595  */
 596 JNIEXPORT jlong JNICALL
 597 Java_sun_lwawt_macosx_CWrapper_00024NSView_window
 598 (JNIEnv *env, jclass cls, jlong viewPtr)
 599 {
 600     __block jlong windowPtr = 0L;
 601 
 602 JNF_COCOA_ENTER(env);
 603 
 604     NSView *view = (NSView *)jlong_to_ptr(viewPtr);
 605     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 606         windowPtr = ptr_to_jlong([view window]);
 607     }];
 608 
 609 JNF_COCOA_EXIT(env);
 610 
 611     return windowPtr;
 612 }


 677     __block jlong screenPtr = 0L;
 678 
 679 JNF_COCOA_ENTER(env);
 680 
 681     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 682         NSArray *screens = [NSScreen screens];
 683         for (NSScreen *screen in screens) {
 684             NSDictionary *screenInfo = [screen deviceDescription];
 685             NSNumber *screenID = [screenInfo objectForKey:@"NSScreenNumber"];
 686             if ([screenID intValue] == displayID){
 687                 CFRetain(screen); // GC
 688                 screenPtr = ptr_to_jlong(screen);
 689                 break;
 690             }
 691         }
 692     }];
 693 
 694 JNF_COCOA_EXIT(env);
 695 
 696     return screenPtr;
 697 }
 698 
 699 /*
 700  * Class:     sun_lwawt_macosx_CWrapper$NSScreen
 701  * Method:    screens_0
 702  * Signature: ()J
 703  */
 704 JNIEXPORT jlong JNICALL
 705 Java_sun_lwawt_macosx_CWrapper_00024NSScreen_screens_10
 706 (JNIEnv *env, jclass cls)
 707 {
 708     __block jlong screenPtr = 0L;
 709 
 710 JNF_COCOA_ENTER(env);
 711 
 712     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 713         screenPtr = ptr_to_jlong([[[NSScreen screens] objectAtIndex:0] retain]);
 714     }];
 715 
 716 JNF_COCOA_EXIT(env);
 717 
 718     return screenPtr;
 719 }
 720 
 721 /*
 722  * Class:     sun_lwawt_macosx_CWrapper$NSMenu
 723  * Method:    setMenuBarVisible
 724  * Signature: (Z)V
 725  */
 726 JNIEXPORT jlong JNICALL
 727 Java_sun_lwawt_macosx_CWrapper_00024NSMenu_setMenuBarVisible
 728 (JNIEnv *env, jclass cls, jboolean visible)
 729 {
 730 JNF_COCOA_ENTER(env);
 731 
 732     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 733         [NSMenu setMenuBarVisible: visible];
 734     }];
 735 
 736 JNF_COCOA_EXIT(env);
 737 }
 738 
 739 /*
 740  * Class:     sun_lwawt_macosx_CWrapper$NSColor
 741  * Method:    clearColor
 742  * Signature: ()J
 743  */
 744 JNIEXPORT jlong JNICALL
 745 Java_sun_lwawt_macosx_CWrapper_00024NSColor_clearColor
 746 (JNIEnv *env, jclass cls)
 747 {
 748     __block jlong clearColorPtr = 0L;
 749 
 750 JNF_COCOA_ENTER(env);
 751 
 752     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 753         clearColorPtr = ptr_to_jlong([NSColor clearColor]);
 754     }];
 755 
 756 JNF_COCOA_EXIT(env);