--- old/src/macosx/native/sun/awt/CWrapper.m 2012-02-29 18:46:59.000000000 +0400 +++ new/src/macosx/native/sun/awt/CWrapper.m 2012-02-29 18:46:59.000000000 +0400 @@ -482,6 +482,27 @@ } /* + * 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 @@ -569,46 +590,6 @@ /* * 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 */ @@ -716,6 +697,46 @@ } /* + * 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