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

Print this page




 106 
 107     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 108         AWT_ASSERT_APPKIT_THREAD;
 109 
 110         NSCursor *cursor = [[NSCursor alloc] initWithImage:image
 111                                                    hotSpot:(NSPoint){ x, y }];
 112         setCursorOnAppKitThread(cursor);
 113         [cursor release];
 114     }];
 115 
 116 JNF_COCOA_EXIT(env);
 117 }
 118 
 119 JNIEXPORT jobject JNICALL
 120 Java_sun_lwawt_macosx_CCursorManager_nativeGetCursorPosition
 121 (JNIEnv *env, jclass class)
 122 {
 123     jobject jpt = NULL;
 124 
 125 JNF_COCOA_ENTER(env);
 126 AWT_ASSERT_NOT_APPKIT_THREAD;
 127 
 128     __block NSPoint pt = NSZeroPoint;
 129     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){

 130         AWT_ASSERT_APPKIT_THREAD;
 131 
 132         pt = ConvertNSScreenPoint(env, [NSEvent mouseLocation]);
 133     }];

 134     jpt = NSToJavaPoint(env, pt);
 135 
 136 JNF_COCOA_EXIT(env);
 137 
 138     return jpt;
 139 }
 140 
 141 
 142 JNIEXPORT void JNICALL
 143 Java_sun_lwawt_macosx_CCursorManager_nativeSetAllowsCursorSetInBackground
 144 (JNIEnv *env, jclass class, jboolean allows)
 145 {
 146 
 147 JNF_COCOA_ENTER(env);
 148 AWT_ASSERT_NOT_APPKIT_THREAD;
 149 
 150     SEL allowsSetInBackground_SEL = @selector(javaSetAllowsCursorSetInBackground:);
 151     if ([[NSCursor class] respondsToSelector:allowsSetInBackground_SEL]) {
 152         [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 153             NSMethodSignature *allowsSetInBackground_sig =


 106 
 107     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
 108         AWT_ASSERT_APPKIT_THREAD;
 109 
 110         NSCursor *cursor = [[NSCursor alloc] initWithImage:image
 111                                                    hotSpot:(NSPoint){ x, y }];
 112         setCursorOnAppKitThread(cursor);
 113         [cursor release];
 114     }];
 115 
 116 JNF_COCOA_EXIT(env);
 117 }
 118 
 119 JNIEXPORT jobject JNICALL
 120 Java_sun_lwawt_macosx_CCursorManager_nativeGetCursorPosition
 121 (JNIEnv *env, jclass class)
 122 {
 123     jobject jpt = NULL;
 124 
 125 JNF_COCOA_ENTER(env);

 126 
 127     __block NSPoint pt = NSZeroPoint;
 128     
 129     [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
 130             AWT_ASSERT_APPKIT_THREAD;
 131         
 132             pt = ConvertNSScreenPoint(env, [NSEvent mouseLocation]);
 133     }];
 134     
 135     jpt = NSToJavaPoint(env, pt);
 136 
 137 JNF_COCOA_EXIT(env);
 138 
 139     return jpt;
 140 }
 141 
 142 
 143 JNIEXPORT void JNICALL
 144 Java_sun_lwawt_macosx_CCursorManager_nativeSetAllowsCursorSetInBackground
 145 (JNIEnv *env, jclass class, jboolean allows)
 146 {
 147 
 148 JNF_COCOA_ENTER(env);
 149 AWT_ASSERT_NOT_APPKIT_THREAD;
 150 
 151     SEL allowsSetInBackground_SEL = @selector(javaSetAllowsCursorSetInBackground:);
 152     if ([[NSCursor class] respondsToSelector:allowsSetInBackground_SEL]) {
 153         [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
 154             NSMethodSignature *allowsSetInBackground_sig =