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 }
|