jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.m
changeset 14753 a56a685d137f
parent 13544 bd136eb2a932
child 15322 3638f33225ec
equal deleted inserted replaced
14659:cda39b3e7f15 14753:a56a685d137f
    97 (JNIEnv *env, jobject obj, jlong windowLayerPtr)
    97 (JNIEnv *env, jobject obj, jlong windowLayerPtr)
    98 {
    98 {
    99   __block AWTSurfaceLayers *surfaceLayers = nil;
    99   __block AWTSurfaceLayers *surfaceLayers = nil;
   100 
   100 
   101 JNF_COCOA_ENTER(env);
   101 JNF_COCOA_ENTER(env);
   102 AWT_ASSERT_NOT_APPKIT_THREAD;
       
   103 
   102 
   104   [JNFRunLoop performOnMainThreadWaiting:YES withBlock:^(){
   103     [ThreadUtilities performOnMainThreadWaiting:YES block:^(){
   105       AWT_ASSERT_APPKIT_THREAD;
   104         AWT_ASSERT_APPKIT_THREAD;
   106 
   105         
   107       CALayer *windowLayer = jlong_to_ptr(windowLayerPtr);
   106         CALayer *windowLayer = jlong_to_ptr(windowLayerPtr);
   108       surfaceLayers = [[AWTSurfaceLayers alloc] initWithWindowLayer: windowLayer];
   107         surfaceLayers = [[AWTSurfaceLayers alloc] initWithWindowLayer: windowLayer];
   109       CFRetain(surfaceLayers);
   108         CFRetain(surfaceLayers);
   110       [surfaceLayers release];
   109         [surfaceLayers release];
   111     }];
   110     }];
   112 
   111     
   113 JNF_COCOA_EXIT(env);
   112 JNF_COCOA_EXIT(env);
   114 
   113 
   115   return ptr_to_jlong(surfaceLayers);
   114   return ptr_to_jlong(surfaceLayers);
   116 }
   115 }
   117 
   116 
   124 (JNIEnv *env, jclass clazz, jlong surfaceLayersPtr, jint x, jint y, jint width, jint height)
   123 (JNIEnv *env, jclass clazz, jlong surfaceLayersPtr, jint x, jint y, jint width, jint height)
   125 {
   124 {
   126 JNF_COCOA_ENTER(env);
   125 JNF_COCOA_ENTER(env);
   127 
   126 
   128   AWTSurfaceLayers *surfaceLayers = OBJC(surfaceLayersPtr);
   127   AWTSurfaceLayers *surfaceLayers = OBJC(surfaceLayersPtr);
   129   [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^(){
   128     
       
   129   [ThreadUtilities performOnMainThreadWaiting:NO block:^(){
   130       AWT_ASSERT_APPKIT_THREAD;
   130       AWT_ASSERT_APPKIT_THREAD;
   131 
   131 
   132       CGRect rect = CGRectMake(x, y, width, height);
   132       CGRect rect = CGRectMake(x, y, width, height);
   133       [surfaceLayers setBounds: rect];
   133       [surfaceLayers setBounds: rect];
   134     }];
   134   }];
   135 
   135 
   136 JNF_COCOA_EXIT(env);
   136 JNF_COCOA_EXIT(env);
   137 }
   137 }