< prev index next >

src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m

Print this page




 110 /*
 111  * Post the display reconfiguration event.
 112  */
 113 static void displaycb_handle
 114 (CGDirectDisplayID display, CGDisplayChangeSummaryFlags flags, void *userInfo)
 115 {
 116     if (flags == kCGDisplayBeginConfigurationFlag) return;
 117 
 118     [ThreadUtilities performOnMainThreadWaiting:NO block:^() {
 119 
 120         JNFPerformEnvBlock(JNFThreadDetachImmediately, ^(JNIEnv *env) {
 121             JNFWeakJObjectWrapper *wrapper = (JNFWeakJObjectWrapper *)userInfo;
 122 
 123             jobject graphicsEnv = [wrapper jObjectWithEnv:env];
 124             if (graphicsEnv == NULL) return; // ref already GC'd
 125             static JNF_CLASS_CACHE(jc_CGraphicsEnvironment, "sun/awt/CGraphicsEnvironment");
 126             static JNF_MEMBER_CACHE(jm_displayReconfiguration,
 127                     jc_CGraphicsEnvironment, "_displayReconfiguration","(IZ)V");
 128             JNFCallVoidMethod(env, graphicsEnv, jm_displayReconfiguration,
 129                     (jint) display, (jboolean) flags & kCGDisplayRemoveFlag);

 130         });
 131     }];
 132 }
 133 
 134 /*
 135  * Class:     sun_awt_CGraphicsEnvironment
 136  * Method:    registerDisplayReconfiguration
 137  * Signature: ()J
 138  */
 139 JNIEXPORT jlong JNICALL
 140 Java_sun_awt_CGraphicsEnvironment_registerDisplayReconfiguration
 141 (JNIEnv *env, jobject this)
 142 {
 143     jlong ret = 0L;
 144 
 145 JNF_COCOA_ENTER(env);
 146 
 147     JNFWeakJObjectWrapper *wrapper = [[JNFWeakJObjectWrapper wrapperWithJObject:this withEnv:env] retain];
 148 
 149     /* Register the callback */




 110 /*
 111  * Post the display reconfiguration event.
 112  */
 113 static void displaycb_handle
 114 (CGDirectDisplayID display, CGDisplayChangeSummaryFlags flags, void *userInfo)
 115 {
 116     if (flags == kCGDisplayBeginConfigurationFlag) return;
 117 
 118     [ThreadUtilities performOnMainThreadWaiting:NO block:^() {
 119 
 120         JNFPerformEnvBlock(JNFThreadDetachImmediately, ^(JNIEnv *env) {
 121             JNFWeakJObjectWrapper *wrapper = (JNFWeakJObjectWrapper *)userInfo;
 122 
 123             jobject graphicsEnv = [wrapper jObjectWithEnv:env];
 124             if (graphicsEnv == NULL) return; // ref already GC'd
 125             static JNF_CLASS_CACHE(jc_CGraphicsEnvironment, "sun/awt/CGraphicsEnvironment");
 126             static JNF_MEMBER_CACHE(jm_displayReconfiguration,
 127                     jc_CGraphicsEnvironment, "_displayReconfiguration","(IZ)V");
 128             JNFCallVoidMethod(env, graphicsEnv, jm_displayReconfiguration,
 129                     (jint) display, (jboolean) flags & kCGDisplayRemoveFlag);
 130             (*env)->DeleteLocalRef(env, graphicsEnv);
 131         });
 132     }];
 133 }
 134 
 135 /*
 136  * Class:     sun_awt_CGraphicsEnvironment
 137  * Method:    registerDisplayReconfiguration
 138  * Signature: ()J
 139  */
 140 JNIEXPORT jlong JNICALL
 141 Java_sun_awt_CGraphicsEnvironment_registerDisplayReconfiguration
 142 (JNIEnv *env, jobject this)
 143 {
 144     jlong ret = 0L;
 145 
 146 JNF_COCOA_ENTER(env);
 147 
 148     JNFWeakJObjectWrapper *wrapper = [[JNFWeakJObjectWrapper wrapperWithJObject:this withEnv:env] retain];
 149 
 150     /* Register the callback */


< prev index next >