jdk/src/macosx/native/sun/awt/AWTWindow.m
changeset 14753 a56a685d137f
parent 14651 f032406c1e48
child 15322 3638f33225ec
equal deleted inserted replaced
14659:cda39b3e7f15 14753:a56a685d137f
  1154     JNF_COCOA_EXIT(env);
  1154     JNF_COCOA_EXIT(env);
  1155 }
  1155 }
  1156 
  1156 
  1157 /*
  1157 /*
  1158  * Class:     sun_lwawt_macosx_CPlatformWindow
  1158  * Class:     sun_lwawt_macosx_CPlatformWindow
  1159  * Method:    nativeGetDisplayID_AppKitThread
       
  1160  * Signature: (J)I
       
  1161  */
       
  1162 JNIEXPORT jint JNICALL
       
  1163 Java_sun_lwawt_macosx_CPlatformWindow_nativeGetNSWindowDisplayID
       
  1164 (JNIEnv *env, jclass clazz, jlong windowPtr)
       
  1165 {
       
  1166     __block jint ret; // CGDirectDisplayID
       
  1167 
       
  1168 JNF_COCOA_ENTER(env);
       
  1169 
       
  1170     NSWindow *window = OBJC(windowPtr);
       
  1171 
       
  1172     if ([NSThread isMainThread]) {
       
  1173         ret = (jint)[[AWTWindow getNSWindowDisplayID_AppKitThread: window] intValue];
       
  1174     } else {
       
  1175         [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
       
  1176             ret = (jint)[[AWTWindow getNSWindowDisplayID_AppKitThread: window] intValue];
       
  1177         }];
       
  1178     }
       
  1179 
       
  1180 JNF_COCOA_EXIT(env);
       
  1181 
       
  1182     return ret;
       
  1183 }
       
  1184 
       
  1185 /*
       
  1186  * Class:     sun_lwawt_macosx_CPlatformWindow
       
  1187  * Method:    _toggleFullScreenMode
  1159  * Method:    _toggleFullScreenMode
  1188  * Signature: (J)V
  1160  * Signature: (J)V
  1189  */
  1161  */
  1190 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow__1toggleFullScreenMode
  1162 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow__1toggleFullScreenMode
  1191 (JNIEnv *env, jobject peer, jlong windowPtr)
  1163 (JNIEnv *env, jobject peer, jlong windowPtr)
  1199     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
  1171     [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
  1200         [nsWindow performSelector:toggleFullScreenSelector withObject:nil];
  1172         [nsWindow performSelector:toggleFullScreenSelector withObject:nil];
  1201     }];
  1173     }];
  1202 
  1174 
  1203 JNF_COCOA_EXIT(env);
  1175 JNF_COCOA_EXIT(env);
  1204 }
       
  1205 
       
  1206 JNIEXPORT jboolean JNICALL Java_sun_lwawt_macosx_CMouseInfoPeer_nativeIsWindowUnderMouse
       
  1207 (JNIEnv *env, jclass clazz, jlong windowPtr)
       
  1208 {
       
  1209     __block jboolean underMouse = JNI_FALSE;
       
  1210 
       
  1211 JNF_COCOA_ENTER(env);
       
  1212 AWT_ASSERT_NOT_APPKIT_THREAD;
       
  1213 
       
  1214     NSWindow *nsWindow = OBJC(windowPtr);
       
  1215     [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^() {
       
  1216         AWT_ASSERT_APPKIT_THREAD;
       
  1217 
       
  1218         NSPoint pt = [nsWindow mouseLocationOutsideOfEventStream];
       
  1219         underMouse = [[nsWindow contentView] hitTest:pt] != nil;
       
  1220     }];
       
  1221 
       
  1222 JNF_COCOA_EXIT(env);
       
  1223 
       
  1224     return underMouse;
       
  1225 }
  1176 }
  1226 
  1177 
  1227 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSetEnabled
  1178 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformWindow_nativeSetEnabled
  1228 (JNIEnv *env, jclass clazz, jlong windowPtr, jboolean isEnabled)
  1179 (JNIEnv *env, jclass clazz, jlong windowPtr, jboolean isEnabled)
  1229 {
  1180 {