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

Print this page




 286 }
 287 
 288 - (void) otherMouseDragged:(NSEvent *)event {
 289     [trayIcon deliverJavaMouseEvent: event];
 290 }
 291 
 292 
 293 @end //AWTTrayIconView
 294 //================================================
 295 
 296 /*
 297  * Class:     sun_lwawt_macosx_CTrayIcon
 298  * Method:    nativeCreate
 299  * Signature: ()J
 300  */
 301 JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CTrayIcon_nativeCreate
 302 (JNIEnv *env, jobject peer) {
 303     __block AWTTrayIcon *trayIcon = nil;
 304 
 305 JNF_COCOA_ENTER(env);
 306 AWT_ASSERT_NOT_APPKIT_THREAD;
 307 
 308     jobject thePeer = JNFNewGlobalRef(env, peer);
 309     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 310         trayIcon = [[AWTTrayIcon alloc] initWithPeer:thePeer];
 311     }];
 312 
 313 JNF_COCOA_EXIT(env);
 314 
 315     return ptr_to_jlong(trayIcon);
 316 }
 317 
 318 
 319 /*
 320  * Class: java_awt_TrayIcon
 321  * Method: initIDs
 322  * Signature: ()V
 323  */
 324 JNIEXPORT void JNICALL Java_java_awt_TrayIcon_initIDs
 325 (JNIEnv *env, jclass cls) {
 326     //Do nothing.
 327 }
 328 
 329 /*
 330  * Class:     sun_lwawt_macosx_CTrayIcon
 331  * Method:    nativeSetToolTip
 332  * Signature: (JLjava/lang/String;)V
 333  */
 334 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CTrayIcon_nativeSetToolTip
 335 (JNIEnv *env, jobject self, jlong model, jstring jtooltip) {
 336 JNF_COCOA_ENTER(env);
 337 AWT_ASSERT_NOT_APPKIT_THREAD;
 338 
 339     AWTTrayIcon *icon = jlong_to_ptr(model);
 340     NSString *tooltip = JNFJavaToNSString(env, jtooltip);
 341     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 342         [icon setTooltip:tooltip];
 343     }];
 344 
 345 JNF_COCOA_EXIT(env);
 346 }
 347 
 348 /*
 349  * Class:     sun_lwawt_macosx_CTrayIcon
 350  * Method:    setNativeImage
 351  * Signature: (JJZ)V
 352  */
 353 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CTrayIcon_setNativeImage
 354 (JNIEnv *env, jobject self, jlong model, jlong imagePtr, jboolean autosize) {
 355 JNF_COCOA_ENTER(env);
 356 AWT_ASSERT_NOT_APPKIT_THREAD;
 357 
 358     AWTTrayIcon *icon = jlong_to_ptr(model);
 359     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 360         [icon setImage:jlong_to_ptr(imagePtr) sizing:autosize];
 361     }];
 362 
 363 JNF_COCOA_EXIT(env);
 364 }
 365 
 366 JNIEXPORT jobject JNICALL
 367 Java_sun_lwawt_macosx_CTrayIcon_nativeGetIconLocation
 368 (JNIEnv *env, jobject self, jlong model) {
 369     jobject jpt = NULL;
 370 
 371 JNF_COCOA_ENTER(env);
 372 AWT_ASSERT_NOT_APPKIT_THREAD;
 373 
 374     __block NSPoint pt = NSZeroPoint;
 375     AWTTrayIcon *icon = jlong_to_ptr(model);
 376     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 377         AWT_ASSERT_APPKIT_THREAD;
 378 
 379         NSPoint loc = [icon getLocationOnScreen];
 380         pt = ConvertNSScreenPoint(env, loc);
 381     }];
 382 
 383     jpt = NSToJavaPoint(env, pt);
 384 
 385 JNF_COCOA_EXIT(env);
 386 
 387     return jpt;
 388 }


 286 }
 287 
 288 - (void) otherMouseDragged:(NSEvent *)event {
 289     [trayIcon deliverJavaMouseEvent: event];
 290 }
 291 
 292 
 293 @end //AWTTrayIconView
 294 //================================================
 295 
 296 /*
 297  * Class:     sun_lwawt_macosx_CTrayIcon
 298  * Method:    nativeCreate
 299  * Signature: ()J
 300  */
 301 JNIEXPORT jlong JNICALL Java_sun_lwawt_macosx_CTrayIcon_nativeCreate
 302 (JNIEnv *env, jobject peer) {
 303     __block AWTTrayIcon *trayIcon = nil;
 304 
 305 JNF_COCOA_ENTER(env);

 306 
 307     jobject thePeer = JNFNewGlobalRef(env, peer);
 308     [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
 309         trayIcon = [[AWTTrayIcon alloc] initWithPeer:thePeer];
 310     }];
 311 
 312 JNF_COCOA_EXIT(env);
 313 
 314     return ptr_to_jlong(trayIcon);
 315 }
 316 
 317 
 318 /*
 319  * Class: java_awt_TrayIcon
 320  * Method: initIDs
 321  * Signature: ()V
 322  */
 323 JNIEXPORT void JNICALL Java_java_awt_TrayIcon_initIDs
 324 (JNIEnv *env, jclass cls) {
 325     //Do nothing.
 326 }
 327 
 328 /*
 329  * Class:     sun_lwawt_macosx_CTrayIcon
 330  * Method:    nativeSetToolTip
 331  * Signature: (JLjava/lang/String;)V
 332  */
 333 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CTrayIcon_nativeSetToolTip
 334 (JNIEnv *env, jobject self, jlong model, jstring jtooltip) {
 335 JNF_COCOA_ENTER(env);

 336 
 337     AWTTrayIcon *icon = jlong_to_ptr(model);
 338     NSString *tooltip = JNFJavaToNSString(env, jtooltip);
 339     [ThreadUtilities performOnMainThreadWaiting:NO block:^(){
 340         [icon setTooltip:tooltip];
 341     }];
 342 
 343 JNF_COCOA_EXIT(env);
 344 }
 345 
 346 /*
 347  * Class:     sun_lwawt_macosx_CTrayIcon
 348  * Method:    setNativeImage
 349  * Signature: (JJZ)V
 350  */
 351 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CTrayIcon_setNativeImage
 352 (JNIEnv *env, jobject self, jlong model, jlong imagePtr, jboolean autosize) {
 353 JNF_COCOA_ENTER(env);

 354 
 355     AWTTrayIcon *icon = jlong_to_ptr(model);
 356     [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
 357         [icon setImage:jlong_to_ptr(imagePtr) sizing:autosize];
 358     }];
 359 
 360 JNF_COCOA_EXIT(env);
 361 }
 362 
 363 JNIEXPORT jobject JNICALL
 364 Java_sun_lwawt_macosx_CTrayIcon_nativeGetIconLocation
 365 (JNIEnv *env, jobject self, jlong model) {
 366     jobject jpt = NULL;
 367 
 368 JNF_COCOA_ENTER(env);

 369 
 370     __block NSPoint pt = NSZeroPoint;
 371     AWTTrayIcon *icon = jlong_to_ptr(model);
 372     [ThreadUtilities performOnMainThreadWaiting:YES block:^(){


 373         NSPoint loc = [icon getLocationOnScreen];
 374         pt = ConvertNSScreenPoint(env, loc);
 375     }];
 376 
 377     jpt = NSToJavaPoint(env, pt);
 378 
 379 JNF_COCOA_EXIT(env);
 380 
 381     return jpt;
 382 }