diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c | 304 |
1 files changed, 304 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c new file mode 100644 index 0000000000..0006bf458e --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/library/os_custom.c @@ -0,0 +1,304 @@ +/******************************************************************************* + * Copyright (c) 2000, 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +#include "swt.h" +#include "os_structs.h" +#include "os_stats.h" + +#define OS_NATIVE(func) Java_org_eclipse_swt_internal_carbon_OS_##func + +#ifndef NO_NewGlobalRef +JNIEXPORT jint JNICALL OS_NATIVE(NewGlobalRef) + (JNIEnv *env, jclass that, jobject arg0) +{ + jint rc = 0; + OS_NATIVE_ENTER(env, that, NewGlobalRef_FUNC); + rc = (jint)(*env)->NewGlobalRef(env, arg0); + OS_NATIVE_EXIT(env, that, NewGlobalRef_FUNC); + return rc; +} +#endif + +#ifndef NO_DeleteGlobalRef +JNIEXPORT void JNICALL OS_NATIVE(DeleteGlobalRef) + (JNIEnv *env, jclass that, jint arg0) +{ + OS_NATIVE_ENTER(env, that, DeleteGlobalRef_FUNC); + (*env)->DeleteGlobalRef(env, (jobject)arg0); + OS_NATIVE_EXIT(env, that, DeleteGlobalRef_FUNC); +} +#endif + +#ifndef NO_JNIGetObject +JNIEXPORT jobject JNICALL OS_NATIVE(JNIGetObject) + (JNIEnv *env, jclass that, jint arg0) +{ + jobject rc = 0; + OS_NATIVE_ENTER(env, that, JNIGetObject_FUNC); + rc = (jobject)arg0; + OS_NATIVE_EXIT(env, that, JNIGetObject_FUNC); + return rc; +} +#endif + +#ifndef NO_CGAffineTransformConcat +JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformConcat) + (JNIEnv *env, jclass that, jfloatArray arg0, jfloatArray arg1, jfloatArray arg2) +{ + jfloat *lparg0=NULL; + jfloat *lparg1=NULL; + jfloat *lparg2=NULL; + OS_NATIVE_ENTER(env, that, CGAffineTransformConcat_FUNC); + if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail; + if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail; + if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail; + *(CGAffineTransform *)lparg2 = CGAffineTransformConcat(*(CGAffineTransform *)lparg0, *(CGAffineTransform *)lparg1); +fail: + if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0); + if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, JNI_ABORT); + if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT); + OS_NATIVE_EXIT(env, that, CGAffineTransformConcat_FUNC); +} +#endif + +#ifndef NO_CGAffineTransformInvert +JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformInvert) + (JNIEnv *env, jclass that, jfloatArray arg0, jfloatArray arg1) +{ + jfloat *lparg0=NULL; + jfloat *lparg1=NULL; + OS_NATIVE_ENTER(env, that, CGAffineTransformInvert_FUNC); + if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail; + if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail; + *(CGAffineTransform *)lparg1 = CGAffineTransformInvert(*(CGAffineTransform *)lparg0); +fail: + if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0); + if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT); + OS_NATIVE_EXIT(env, that, CGAffineTransformInvert_FUNC); +} +#endif + +#ifndef NO_CGAffineTransformMake +JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformMake) + (JNIEnv *env, jclass that, jfloat arg0, jfloat arg1, jfloat arg2, jfloat arg3, jfloat arg4, jfloat arg5, jfloatArray arg6) +{ + jfloat *lparg6=NULL; + OS_NATIVE_ENTER(env, that, CGAffineTransformMake_FUNC); + if (arg6) if ((lparg6 = (*env)->GetFloatArrayElements(env, arg6, NULL)) == NULL) goto fail; + *(CGAffineTransform *)lparg6 = CGAffineTransformMake(arg0, arg1, arg2, arg3, arg4, arg5); +fail: + if (arg6 && lparg6) (*env)->ReleaseFloatArrayElements(env, arg6, lparg6, 0); + OS_NATIVE_EXIT(env, that, CGAffineTransformMake_FUNC); +} +#endif + +#ifndef NO_CGAffineTransformRotate +JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformRotate) + (JNIEnv *env, jclass that, jfloatArray arg0, jfloat arg1, jfloatArray arg2) +{ + jfloat *lparg0=NULL; + jfloat *lparg2=NULL; + OS_NATIVE_ENTER(env, that, CGAffineTransformRotate_FUNC); + if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail; + if (arg2) if ((lparg2 = (*env)->GetFloatArrayElements(env, arg2, NULL)) == NULL) goto fail; + *(CGAffineTransform *)lparg2 = CGAffineTransformRotate(*(CGAffineTransform *)lparg0, arg1); +fail: + if (arg2 && lparg2) (*env)->ReleaseFloatArrayElements(env, arg2, lparg2, 0); + if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT); + OS_NATIVE_EXIT(env, that, CGAffineTransformRotate_FUNC); +} +#endif + +#ifndef NO_CGAffineTransformScale +JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformScale) + (JNIEnv *env, jclass that, jfloatArray arg0, jfloat arg1, jfloat arg2, jfloatArray arg3) +{ + jfloat *lparg0=NULL; + jfloat *lparg3=NULL; + OS_NATIVE_ENTER(env, that, CGAffineTransformScale_FUNC); + if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail; + if (arg3) if ((lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL)) == NULL) goto fail; + *(CGAffineTransform *)lparg3 = CGAffineTransformScale(*(CGAffineTransform *)lparg0, arg1, arg2); +fail: + if (arg3 && lparg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0); + if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT); + OS_NATIVE_EXIT(env, that, CGAffineTransformScale_FUNC); +} +#endif + +#ifndef NO_CGAffineTransformTranslate +JNIEXPORT void JNICALL OS_NATIVE(CGAffineTransformTranslate) + (JNIEnv *env, jclass that, jfloatArray arg0, jfloat arg1, jfloat arg2, jfloatArray arg3) +{ + jfloat *lparg0=NULL; + jfloat *lparg3=NULL; + OS_NATIVE_ENTER(env, that, CGAffineTransformTranslate_FUNC); + if (arg0) if ((lparg0 = (*env)->GetFloatArrayElements(env, arg0, NULL)) == NULL) goto fail; + if (arg3) if ((lparg3 = (*env)->GetFloatArrayElements(env, arg3, NULL)) == NULL) goto fail; + *(CGAffineTransform *)lparg3 = CGAffineTransformTranslate(*(CGAffineTransform *)lparg0, arg1, arg2); +fail: + if (arg3 && lparg3) (*env)->ReleaseFloatArrayElements(env, arg3, lparg3, 0); + if (arg0 && lparg0) (*env)->ReleaseFloatArrayElements(env, arg0, lparg0, JNI_ABORT); + OS_NATIVE_EXIT(env, that, CGAffineTransformTranslate_FUNC); +} +#endif + +#ifndef NO_CGContextGetCTM +JNIEXPORT void JNICALL OS_NATIVE(CGContextGetCTM) + (JNIEnv *env, jclass that, jint arg0, jfloatArray arg1) +{ + jfloat *lparg1=NULL; + OS_NATIVE_ENTER(env, that, CGContextGetCTM_FUNC); + if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail; + *(CGAffineTransform *)lparg1 = CGContextGetCTM((CGContextRef)arg0); +fail: + if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0); + OS_NATIVE_EXIT(env, that, CGContextGetCTM_FUNC); +} +#endif + +#ifndef NO_CGContextGetPathBoundingBox +JNIEXPORT void JNICALL OS_NATIVE(CGContextGetPathBoundingBox) + (JNIEnv *env, jclass that, jint arg0, jobject arg1) +{ + CGRect _arg1, *lparg1=NULL; + OS_NATIVE_ENTER(env, that, CGContextGetPathBoundingBox_FUNC); + if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail; + *lparg1 = CGContextGetPathBoundingBox((CGContextRef)arg0); +fail: + if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1); + OS_NATIVE_EXIT(env, that, CGContextGetPathBoundingBox_FUNC); +} +#endif + +#ifndef NO_CGContextGetTextPosition +JNIEXPORT void JNICALL OS_NATIVE(CGContextGetTextPosition) + (JNIEnv *env, jclass that, jint arg0, jobject arg1) +{ + CGPoint _arg1, *lparg1=NULL; + OS_NATIVE_ENTER(env, that, CGContextGetTextPosition_FUNC) + if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto failTag; + *lparg1 = CGContextGetTextPosition((CGContextRef)arg0); +failTag: + if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1); + OS_NATIVE_EXIT(env, that, CGContextGetTextPosition_FUNC) +} +#endif + +#ifndef NO_CGDisplayBounds +JNIEXPORT void JNICALL OS_NATIVE(CGDisplayBounds) + (JNIEnv *env, jclass that, jint arg0, jobject arg1) +{ + CGRect _arg1, *lparg1=NULL; + OS_NATIVE_ENTER(env, that, CGDisplayBounds_FUNC); + if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail; + *lparg1 = CGDisplayBounds((CGDirectDisplayID)arg0); +fail: + if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1); + OS_NATIVE_EXIT(env, that, CGDisplayBounds_FUNC); +} +#endif + +#ifndef NO_CGPathGetBoundingBox +JNIEXPORT void JNICALL OS_NATIVE(CGPathGetBoundingBox) + (JNIEnv *env, jclass that, jint arg0, jobject arg1) +{ + CGRect _arg1, *lparg1=NULL; + OS_NATIVE_ENTER(env, that, CGPathGetBoundingBox_FUNC); + if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail; + *lparg1 = CGPathGetBoundingBox((CGPathRef)arg0); +fail: + if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1); + OS_NATIVE_EXIT(env, that, CGPathGetBoundingBox_FUNC); +} +#endif + +#ifndef NO_CGPathGetCurrentPoint +JNIEXPORT void JNICALL OS_NATIVE(CGPathGetCurrentPoint) + (JNIEnv *env, jclass that, jint arg0, jobject arg1) +{ + CGPoint _arg1, *lparg1=NULL; + OS_NATIVE_ENTER(env, that, CGPathGetCurrentPoint_FUNC); + if (arg1) if ((lparg1 = getCGPointFields(env, arg1, &_arg1)) == NULL) goto fail; + *lparg1 = CGPathGetCurrentPoint((CGPathRef)arg0); +fail: + if (arg1 && lparg1) setCGPointFields(env, arg1, lparg1); + OS_NATIVE_EXIT(env, that, CGPathGetCurrentPoint_FUNC); +} +#endif + +#ifndef NO_CGPointApplyAffineTransform +JNIEXPORT void JNICALL OS_NATIVE(CGPointApplyAffineTransform) + (JNIEnv *env, jclass that, jobject arg0, jfloatArray arg1, jobject arg2) +{ + CGPoint _arg0, *lparg0=NULL; + jfloat *lparg1=NULL; + CGPoint _arg2, *lparg2=NULL; + OS_NATIVE_ENTER(env, that, CGPointApplyAffineTransform_FUNC); + if (arg0) if ((lparg0 = getCGPointFields(env, arg0, &_arg0)) == NULL) goto fail; + if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail; + if (arg2) if ((lparg2 = getCGPointFields(env, arg2, &_arg2)) == NULL) goto fail; + *(CGPoint *)lparg2 = CGPointApplyAffineTransform(*(CGPoint *)lparg0, *(CGAffineTransform *)lparg1); +fail: + if (arg2 && lparg2) setCGPointFields(env, arg2, lparg2); + if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, JNI_ABORT); + OS_NATIVE_EXIT(env, that, CGPointApplyAffineTransform_FUNC); +} +#endif + +#ifndef NO_CGSizeApplyAffineTransform +JNIEXPORT void JNICALL OS_NATIVE(CGSizeApplyAffineTransform) + (JNIEnv *env, jclass that, jobject arg0, jfloatArray arg1, jobject arg2) +{ + CGSize _arg0, *lparg0=NULL; + jfloat *lparg1=NULL; + CGSize _arg2, *lparg2=NULL; + OS_NATIVE_ENTER(env, that, CGSizeApplyAffineTransform_FUNC); + if (arg0) if ((lparg0 = getCGSizeFields(env, arg0, &_arg0)) == NULL) goto fail; + if (arg1) if ((lparg1 = (*env)->GetFloatArrayElements(env, arg1, NULL)) == NULL) goto fail; + if (arg2) if ((lparg2 = getCGSizeFields(env, arg2, &_arg2)) == NULL) goto fail; + *(CGSize *)lparg2 = CGSizeApplyAffineTransform(*(CGSize *)lparg0, *(CGAffineTransform *)lparg1); +fail: + if (arg2 && lparg2) setCGSizeFields(env, arg2, lparg2); + if (arg1 && lparg1) (*env)->ReleaseFloatArrayElements(env, arg1, lparg1, 0); + OS_NATIVE_EXIT(env, that, CGSizeApplyAffineTransform_FUNC); +} +#endif + +#ifndef NO__1_1BIG_1ENDIAN_1_1 +JNIEXPORT jboolean JNICALL OS_NATIVE(_1_1BIG_1ENDIAN_1_1) + (JNIEnv *env, jclass that) +{ + jboolean rc; + OS_NATIVE_ENTER(env, that, _1_1BIG_1ENDIAN_1_1_FUNC) +#ifdef __BIG_ENDIAN__ + rc = (jboolean)TRUE; +#else + rc = (jboolean)FALSE; +#endif + OS_NATIVE_EXIT(env, that, _1_1BIG_1ENDIAN_1_1_FUNC) + return rc; +} +#endif + +#ifndef QDPictGetBounds +JNIEXPORT void JNICALL OS_NATIVE(QDPictGetBounds) + (JNIEnv *env, jclass that, jint arg0, jobject arg1) +{ + CGRect _arg1, *lparg1=NULL; + OS_NATIVE_ENTER(env, that, QDPictGetBounds_FUNC); + if (arg1) if ((lparg1 = getCGRectFields(env, arg1, &_arg1)) == NULL) goto fail; + *lparg1 = QDPictGetBounds((QDPictRef)arg0); +fail: + if (arg1 && lparg1) setCGRectFields(env, arg1, lparg1); + OS_NATIVE_EXIT(env, that, QDPictGetBounds_FUNC); +} +#endif
\ No newline at end of file |