jdk/src/macosx/native/sun/awt/CWrapper.m
changeset 25196 48d9cfe3f138
parent 23255 ebd69e3d93c5
equal deleted inserted replaced
25195:9de77f5b0df2 25196:48d9cfe3f138
   335  * Method:    setBackgroundColor
   335  * Method:    setBackgroundColor
   336  * Signature: (J)V
   336  * Signature: (J)V
   337  */
   337  */
   338 JNIEXPORT void JNICALL
   338 JNIEXPORT void JNICALL
   339 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setBackgroundColor
   339 Java_sun_lwawt_macosx_CWrapper_00024NSWindow_setBackgroundColor
   340 (JNIEnv *env, jclass cls, jlong windowPtr, jlong colorPtr)
   340 (JNIEnv *env, jclass cls, jlong windowPtr, jint rgb)
   341 {
   341 {
   342 JNF_COCOA_ENTER(env);
   342 JNF_COCOA_ENTER(env);
   343 
   343 
   344     NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
   344     NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
   345     NSColor *color = (NSColor *)jlong_to_ptr(colorPtr);
   345     CGFloat alpha = (((rgb >> 24) & 0xff) / 255.0);
       
   346     CGFloat red   = (((rgb >> 16) & 0xff) / 255.0);
       
   347     CGFloat green = (((rgb >>  8) & 0xff) / 255.0);
       
   348     CGFloat blue  = (((rgb >>  0) & 0xff) / 255.0);
       
   349     NSColor *color = [NSColor colorWithCalibratedRed:red green:green blue:blue
       
   350                                                alpha:alpha];
   346     [ThreadUtilities performOnMainThreadWaiting:NO block:^(){
   351     [ThreadUtilities performOnMainThreadWaiting:NO block:^(){
   347         [window setBackgroundColor:color];
   352         [window setBackgroundColor:color];
   348     }];
   353     }];
   349 
   354 
   350 JNF_COCOA_EXIT(env);
   355 JNF_COCOA_EXIT(env);
   573         [view setToolTip: s];
   578         [view setToolTip: s];
   574     }];
   579     }];
   575 
   580 
   576 JNF_COCOA_EXIT(env);
   581 JNF_COCOA_EXIT(env);
   577 }
   582 }
   578 
       
   579 /*
       
   580  * Class:     sun_lwawt_macosx_CWrapper$NSColor
       
   581  * Method:    clearColor
       
   582  * Signature: ()J
       
   583  */
       
   584 JNIEXPORT jlong JNICALL
       
   585 Java_sun_lwawt_macosx_CWrapper_00024NSColor_clearColor
       
   586 (JNIEnv *env, jclass cls)
       
   587 {
       
   588     __block jlong clearColorPtr = 0L;
       
   589 
       
   590 JNF_COCOA_ENTER(env);
       
   591 
       
   592     [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
       
   593         clearColorPtr = ptr_to_jlong([NSColor clearColor]);
       
   594     }];
       
   595 
       
   596 JNF_COCOA_EXIT(env);
       
   597 
       
   598     return clearColorPtr;
       
   599 }
       
   600