src/macosx/native/sun/awt/CWrapper.m
Print this page
*** 480,489 ****
--- 480,515 ----
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);
+ SEL toggleFullScreenSelector = @selector(toggleFullScreen:);
+
+ if ([window respondsToSelector:toggleFullScreenSelector]) {
+ id sender = (id)jlong_to_ptr(senderPtr);
+
+ [JNFRunLoop performOnMainThread:toggleFullScreenSelector
+ 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,616 ****
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
--- 593,602 ----
*** 714,723 ****
--- 700,749 ----
return screenPtr;
}
/*
+ * Class: sun_lwawt_macosx_CWrapper$NSScreen
+ * Method: screens
+ * Signature: (I)J
+ */
+ JNIEXPORT jlong JNICALL
+ Java_sun_lwawt_macosx_CWrapper_00024NSScreen_screens
+ (JNIEnv *env, jclass cls, jint i)
+ {
+ __block jlong screenPtr = 0L;
+
+ JNF_COCOA_ENTER(env);
+
+ [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
+ screenPtr = ptr_to_jlong([[[NSScreen screens] objectAtIndex:i] 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