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

Print this page

        

*** 395,429 **** JNF_COCOA_EXIT(env); } /* - * Class: sun_lwawt_macosx_CWrapper$NSWindow - * Method: screen - * Signature: (J)J - */ - JNIEXPORT jlong JNICALL - Java_sun_lwawt_macosx_CWrapper_00024NSWindow_screen - (JNIEnv *env, jclass cls, jlong windowPtr) - { - __block jlong screenPtr = 0L; - - JNF_COCOA_ENTER(env); - - AWTWindow *window = (AWTWindow *)jlong_to_ptr(windowPtr); - [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ - const NSScreen *screen = [window screen]; - CFRetain(screen); // GC - screenPtr = ptr_to_jlong(screen); - }]; - - JNF_COCOA_EXIT(env); - - return screenPtr; - } - - /* * Method: miniaturize * Signature: (J)V */ JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CWrapper_00024NSWindow_miniaturize --- 395,404 ----
*** 667,762 **** }]; JNF_COCOA_EXIT(env); } - - /* - * Class: sun_lwawt_macosx_CWrapper$NSScreen - * Method: frame - * Signature: (J)Ljava/awt/Rectangle; - */ - JNIEXPORT jobject JNICALL - Java_sun_lwawt_macosx_CWrapper_00024NSScreen_frame - (JNIEnv *env, jclass cls, jlong screenPtr) - { - jobject jRect = NULL; - - JNF_COCOA_ENTER(env); - - __block NSRect rect = NSZeroRect; - - NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); - [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ - rect = [screen frame]; - }]; - - jRect = NSToJavaRect(env, rect); - - JNF_COCOA_EXIT(env); - - return jRect; - } - - /* - * Class: sun_lwawt_macosx_CWrapper_NSScreen - * Method: visibleFrame - * Signature: (J)Ljava/awt/geom/Rectangle2D; - */ - JNIEXPORT jobject JNICALL - Java_sun_lwawt_macosx_CWrapper_00024NSScreen_visibleFrame - (JNIEnv *env, jclass cls, jlong screenPtr) - { - jobject jRect = NULL; - - JNF_COCOA_ENTER(env); - - __block NSRect rect = NSZeroRect; - - NSScreen *screen = (NSScreen *)jlong_to_ptr(screenPtr); - [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ - rect = [screen visibleFrame]; - }]; - - jRect = NSToJavaRect(env, rect); - - JNF_COCOA_EXIT(env); - - return jRect; - } - - /* - * Class: sun_lwawt_macosx_CWrapper_NSScreen - * Method: screenByDisplayId - * Signature: (J)J - */ - JNIEXPORT jlong JNICALL - Java_sun_lwawt_macosx_CWrapper_00024NSScreen_screenByDisplayId - (JNIEnv *env, jclass cls, jint displayID) - { - __block jlong screenPtr = 0L; - - JNF_COCOA_ENTER(env); - - [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ - NSArray *screens = [NSScreen screens]; - for (NSScreen *screen in screens) { - NSDictionary *screenInfo = [screen deviceDescription]; - NSNumber *screenID = [screenInfo objectForKey:@"NSScreenNumber"]; - if ([screenID intValue] == displayID){ - CFRetain(screen); // GC - screenPtr = ptr_to_jlong(screen); - break; - } - } - }]; - - JNF_COCOA_EXIT(env); - - return screenPtr; - } - /* * Class: sun_lwawt_macosx_CWrapper$NSColor * Method: clearColor * Signature: ()J */ --- 642,651 ----