< prev index next >

src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m

Print this page


   1 /*
   2  * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 393 JNIEXPORT jobject JNICALL
 394 Java_sun_lwawt_macosx_CTrayIcon_nativeGetIconLocation
 395 (JNIEnv *env, jobject self, jlong model) {
 396     jobject jpt = NULL;
 397 
 398 JNF_COCOA_ENTER(env);
 399 
 400     __block NSPoint pt = NSZeroPoint;
 401     AWTTrayIcon *icon = jlong_to_ptr(model);
 402     [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
 403         NSPoint loc = [icon getLocationOnScreen];
 404         pt = ConvertNSScreenPoint(env, loc);
 405     }];
 406 
 407     jpt = NSToJavaPoint(env, pt);
 408 
 409 JNF_COCOA_EXIT(env);
 410 
 411     return jpt;
 412 }

























   1 /*
   2  * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 393 JNIEXPORT jobject JNICALL
 394 Java_sun_lwawt_macosx_CTrayIcon_nativeGetIconLocation
 395 (JNIEnv *env, jobject self, jlong model) {
 396     jobject jpt = NULL;
 397 
 398 JNF_COCOA_ENTER(env);
 399 
 400     __block NSPoint pt = NSZeroPoint;
 401     AWTTrayIcon *icon = jlong_to_ptr(model);
 402     [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
 403         NSPoint loc = [icon getLocationOnScreen];
 404         pt = ConvertNSScreenPoint(env, loc);
 405     }];
 406 
 407     jpt = NSToJavaPoint(env, pt);
 408 
 409 JNF_COCOA_EXIT(env);
 410 
 411     return jpt;
 412 }
 413 
 414 JNIEXPORT void JNICALL
 415 Java_sun_lwawt_macosx_CTrayIcon_nativeShowNotification
 416 (JNIEnv *env, jobject self, jlong model, jobject jcaption, jobject jtext,
 417               long nsimage) {
 418 JNF_COCOA_ENTER(env);
 419 
 420     AWTTrayIcon *icon = jlong_to_ptr(model);
 421     NSString *caption = JNFJavaToNSString(env, jcaption);
 422     NSString *text = JNFJavaToNSString(env, jtext);
 423     NSImage * contentImage = jlong_to_ptr(nsimage);
 424 
 425     [ThreadUtilities performOnMainThreadWaiting:NO block:^(){
 426         NSUserNotification *notification = [[NSUserNotification alloc] init];
 427         notification.title = caption;
 428         notification.informativeText = text;
 429         notification.contentImage = contentImage;
 430         notification.soundName = NSUserNotificationDefaultSoundName;
 431 
 432         [[NSUserNotificationCenter defaultUserNotificationCenter]
 433             deliverNotification:notification];
 434     }];
 435 
 436 JNF_COCOA_EXIT(env);
 437 }
< prev index next >