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

Print this page

        

@@ -480,10 +480,31 @@
 
 JNF_COCOA_EXIT(env);
 }
 
 /*
+ * Class:     sun_lwawt_macosx_CWrapper$NSWindow
+ * Method:    toggleFullScreen
+ * Signature: (JJ)V
+ */
+JNIEXPORT void JNICALL
+Java_sun_lwawt_macosx_CWrapper_00024NSWindow_toggleFullScreen
+(JNIEnv *env, jclass cls, jlong windowPtr, jlong senderPtr)
+{
+JNF_COCOA_ENTER(env);
+
+    NSWindow *window = (NSWindow *)jlong_to_ptr(windowPtr);
+    id sender = (id)jlong_to_ptr(senderPtr);
+    [JNFRunLoop performOnMainThread:@selector(toggleFullScreen:)
+                                 on:window
+                         withObject:sender
+                      waitUntilDone:NO];
+
+JNF_COCOA_EXIT(env);
+}
+
+/*
  * Class:     sun_lwawt_macosx_CWrapper$NSView
  * Method:    addSubview
  * Signature: (JJ)V
  */
 JNIEXPORT void JNICALL

@@ -567,50 +588,10 @@
     return jRect;
 }
 
 /*
  * Class:     sun_lwawt_macosx_CWrapper$NSView
- * Method:    enterFullScreenMode
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL
-Java_sun_lwawt_macosx_CWrapper_00024NSView_enterFullScreenMode
-(JNIEnv *env, jclass cls, jlong viewPtr)
-{
-JNF_COCOA_ENTER(env);
-
-    NSView *view = (NSView *)jlong_to_ptr(viewPtr);
-    [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
-        NSScreen *screen = [[view window] screen];
-        NSDictionary *opts = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO], NSFullScreenModeAllScreens, nil];
-        [view enterFullScreenMode:screen withOptions:opts];
-    }];
-
-JNF_COCOA_EXIT(env);
-}
-
-/*
- * Class:     sun_lwawt_macosx_CWrapper$NSView
- * Method:    exitFullScreenMode
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL
-Java_sun_lwawt_macosx_CWrapper_00024NSView_exitFullScreenMode
-(JNIEnv *env, jclass cls, jlong viewPtr)
-{
-JNF_COCOA_ENTER(env);
-
-    NSView *view = (NSView *)jlong_to_ptr(viewPtr);
-    [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
-        [view exitFullScreenModeWithOptions:nil];
-    }];
-
-JNF_COCOA_EXIT(env);
-}
-
-/*
- * Class:     sun_lwawt_macosx_CWrapper$NSView
  * Method:    window
  * Signature: (J)J
  */
 JNIEXPORT jlong JNICALL
 Java_sun_lwawt_macosx_CWrapper_00024NSView_window

@@ -714,10 +695,50 @@
 
     return screenPtr;
 }
 
 /*
+ * Class:     sun_lwawt_macosx_CWrapper$NSScreen
+ * Method:    screens_0
+ * Signature: ()J
+ */
+JNIEXPORT jlong JNICALL
+Java_sun_lwawt_macosx_CWrapper_00024NSScreen_screens_10
+(JNIEnv *env, jclass cls)
+{
+    __block jlong screenPtr = 0L;
+
+JNF_COCOA_ENTER(env);
+
+    [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
+        screenPtr = ptr_to_jlong([[[NSScreen screens] objectAtIndex:0] retain]);
+    }];
+
+JNF_COCOA_EXIT(env);
+
+    return screenPtr;
+}
+
+/*
+ * Class:     sun_lwawt_macosx_CWrapper$NSMenu
+ * Method:    setMenuBarVisible
+ * Signature: (Z)V
+ */
+JNIEXPORT jlong JNICALL
+Java_sun_lwawt_macosx_CWrapper_00024NSMenu_setMenuBarVisible
+(JNIEnv *env, jclass cls, jboolean visible)
+{
+JNF_COCOA_ENTER(env);
+
+    [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
+        [NSMenu setMenuBarVisible: visible];
+    }];
+
+JNF_COCOA_EXIT(env);
+}
+
+/*
  * Class:     sun_lwawt_macosx_CWrapper$NSColor
  * Method:    clearColor
  * Signature: ()J
  */
 JNIEXPORT jlong JNICALL