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

Print this page




 342  * Method:    setOpaque
 343  * Signature: (Z)V
 344  */
 345 JNIEXPORT void JNICALL
 346 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setOpaque
 347 (JNIEnv *env, jclass cls, jlong windowPtr, jboolean opaque)
 348 {
 349 JNF_COCOA_ENTER(env);
 350 
 351     AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);
 352     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 353         [window setOpaque:(BOOL)opaque];
 354     }];
 355 
 356 JNF_COCOA_EXIT(env);
 357 }
 358 
 359 /*
 360  * Class:     sun_lwawt_macosx_CWrapper$NSWindow
 361  * Method:    setBackgroundColor
 362  * Signature: (J)V
 363  */
 364 JNIEXPORT void JNICALL
 365 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setBackgroundColor
 366 (JNIEnv *env, jclass cls, jlong windowPtr, jlong colorPtr)

 367 {
 368 JNF_COCOA_ENTER(env);
 369 
 370     AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);
 371     NSColor *color = (NSColor *)jlong_to_ptr(colorPtr);
 372     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){




 373         [window setBackgroundColor:color];
 374     }];
 375 
 376 JNF_COCOA_EXIT(env);
 377 }
 378 
 379 /*
 380  * Class:     sun_lwawt_macosx_CWrapper$NSWindow
 381  * Method:    screen
 382  * Signature: (J)J
 383  */
 384 JNIEXPORT jlong JNICALL
 385 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_screen
 386 (JNIEnv *env, jclass cls, jlong windowPtr)
 387 {
 388     __block jlong screenPtr = 0L;
 389 
 390 JNF_COCOA_ENTER(env);
 391 
 392     AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);


 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);
 736 
 737     return clearColorPtr;
 738 }
 739 


 342  * Method:    setOpaque
 343  * Signature: (Z)V
 344  */
 345 JNIEXPORT void JNICALL
 346 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setOpaque
 347 (JNIEnv *env, jclass cls, jlong windowPtr, jboolean opaque)
 348 {
 349 JNF_COCOA_ENTER(env);
 350 
 351     AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);
 352     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 353         [window setOpaque:(BOOL)opaque];
 354     }];
 355 
 356 JNF_COCOA_EXIT(env);
 357 }
 358 
 359 /*
 360  * Class:     sun_lwawt_macosx_CWrapper$NSWindow
 361  * Method:    setBackgroundColor
 362  * Signature: (JFFFF)V
 363  */
 364 JNIEXPORT void JNICALL
 365 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setBackgroundColor
 366 (JNIEnv *env, jclass cls, jlong windowPtr,
 367  jfloat red, jfloat green, jfloat blue, jfloat alpha)
 368 {
 369 JNF_COCOA_ENTER(env);
 370 
 371     AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);

 372     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 373         NSColor *color = [NSColor colorWithCalibratedRed:(CGFloat)red
 374                                                    green:(CGFloat)green
 375                                                     blue:(CGFloat)blue
 376                                                    alpha:(CGFloat)alpha];
 377         [window setBackgroundColor:color];
 378     }];
 379 
 380 JNF_COCOA_EXIT(env);
 381 }
 382 
 383 /*
 384  * Class:     sun_lwawt_macosx_CWrapper$NSWindow
 385  * Method:    screen
 386  * Signature: (J)J
 387  */
 388 JNIEXPORT jlong JNICALL
 389 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_screen
 390 (JNIEnv *env, jclass cls, jlong windowPtr)
 391 {
 392     __block jlong screenPtr = 0L;
 393 
 394 JNF_COCOA_ENTER(env);
 395 
 396     AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr);


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