91 @end 92 93 /* 94 * Class: sun_lwawt_macosx_CPlatformComponent 95 * Method: nativeCreateLayer 96 * Signature: ()J 97 */ 98 JNIEXPORT jlong JNICALL 99 Java_sun_lwawt_macosx_CPlatformComponent_nativeCreateComponent 100 (JNIEnv *env, jobject obj, jlong windowLayerPtr) 101 { 102 __block AWTSurfaceLayers *surfaceLayers = nil; 103 104 JNF_COCOA_ENTER(env); 105 106 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 107 108 CALayer *windowLayer = jlong_to_ptr(windowLayerPtr); 109 surfaceLayers = [[AWTSurfaceLayers alloc] initWithWindowLayer: windowLayer]; 110 }]; 111 112 JNF_COCOA_EXIT(env); 113 114 return ptr_to_jlong(surfaceLayers); 115 } 116 117 /* 118 * Class: sun_lwawt_macosx_CPlatformComponent 119 * Method: nativeSetBounds 120 * Signature: (JIIII)V 121 */ 122 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformComponent_nativeSetBounds 123 (JNIEnv *env, jclass clazz, jlong surfaceLayersPtr, jint x, jint y, jint width, jint height) 124 { 125 JNF_COCOA_ENTER(env); 126 127 AWTSurfaceLayers *surfaceLayers = OBJC(surfaceLayersPtr); 128 129 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 130 131 CGRect rect = CGRectMake(x, y, width, height); 132 [surfaceLayers setBounds: rect]; 133 }]; 134 135 JNF_COCOA_EXIT(env); 136 } | 91 @end 92 93 /* 94 * Class: sun_lwawt_macosx_CPlatformComponent 95 * Method: nativeCreateLayer 96 * Signature: ()J 97 */ 98 JNIEXPORT jlong JNICALL 99 Java_sun_lwawt_macosx_CPlatformComponent_nativeCreateComponent 100 (JNIEnv *env, jobject obj, jlong windowLayerPtr) 101 { 102 __block AWTSurfaceLayers *surfaceLayers = nil; 103 104 JNF_COCOA_ENTER(env); 105 106 [ThreadUtilities performOnMainThreadWaiting:YES block:^(){ 107 108 CALayer *windowLayer = jlong_to_ptr(windowLayerPtr); 109 surfaceLayers = [[AWTSurfaceLayers alloc] initWithWindowLayer: windowLayer]; 110 }]; 111 112 JNF_COCOA_EXIT(env); 113 114 return ptr_to_jlong(surfaceLayers); 115 } 116 117 /* 118 * Class: sun_lwawt_macosx_CPlatformComponent 119 * Method: nativeSetBounds 120 * Signature: (JIIII)V 121 */ 122 JNIEXPORT void JNICALL Java_sun_lwawt_macosx_CPlatformComponent_nativeSetBounds 123 (JNIEnv *env, jclass clazz, jlong surfaceLayersPtr, jint x, jint y, jint width, jint height) 124 { 125 JNF_COCOA_ENTER(env); 126 127 AWTSurfaceLayers *surfaceLayers = OBJC(surfaceLayersPtr); 128 129 [ThreadUtilities performOnMainThreadWaiting:NO block:^(){ 130 131 CGRect rect = CGRectMake(x, y, width, height); 132 [surfaceLayers setBounds: rect]; 133 }]; 134 135 JNF_COCOA_EXIT(env); 136 } |