diff options
author | Edwin Groothuis <edwin@FreeBSD.org> | 2006-01-04 09:39:36 +0000 |
---|---|---|
committer | Edwin Groothuis <edwin@FreeBSD.org> | 2006-01-04 09:39:36 +0000 |
commit | b6e4f5c348effb4ad9637f14690e10d1075d4550 (patch) | |
tree | d76582dbe7832835749dd0c1a3e04b932cfd8b30 /x11-toolkits | |
parent | 356b573191c8478e0d86e9896217bd8cc70bcb13 (diff) | |
download | ports-b6e4f5c348effb4ad9637f14690e10d1075d4550.tar.gz ports-b6e4f5c348effb4ad9637f14690e10d1075d4550.zip |
Notes
Diffstat (limited to 'x11-toolkits')
-rw-r--r-- | x11-toolkits/Makefile | 1 | ||||
-rw-r--r-- | x11-toolkits/swt31/Makefile | 110 | ||||
-rw-r--r-- | x11-toolkits/swt31/distinfo | 6 | ||||
-rw-r--r-- | x11-toolkits/swt31/files/manualpatch-cairo | 2432 | ||||
-rw-r--r-- | x11-toolkits/swt31/files/patch-build.sh | 42 | ||||
-rw-r--r-- | x11-toolkits/swt31/files/patch-make_freebsd.mak | 60 | ||||
-rw-r--r-- | x11-toolkits/swt31/pkg-descr | 7 |
7 files changed, 2658 insertions, 0 deletions
diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile index 20938723c19b..5dab1c9c9c7b 100644 --- a/x11-toolkits/Makefile +++ b/x11-toolkits/Makefile @@ -183,6 +183,7 @@ SUBDIR += sdl_gui SUBDIR += slingshot SUBDIR += soqt + SUBDIR += swt31 SUBDIR += tix SUBDIR += tk80 SUBDIR += tk82 diff --git a/x11-toolkits/swt31/Makefile b/x11-toolkits/swt31/Makefile new file mode 100644 index 000000000000..06d27b680b90 --- /dev/null +++ b/x11-toolkits/swt31/Makefile @@ -0,0 +1,110 @@ +# New ports collection makefile for: swt +# Date created: 2005-12-15 +# Whom: past@ebs.gr +# +# $FreeBSD$ +# + +PORTNAME= swt +PORTVERSION= 3.1 +CATEGORIES= x11-toolkits devel java +MASTER_SITES= ${MASTER_SITE_ECLIPSE} +MASTER_SITE_SUBDIR= R-${PORTVERSION}-200506271435 + +MAINTAINER= freebsd-eclipse@freebsd.org +COMMENT= Standard Widget Toolkit for Java + +SWT_VERSION= 3138 +NO_WRKSUBDIR= yes +# Someone with amd64 hardware must finish the amd64 support before it +# is enabled +ONLY_FOR_ARCHS= i386 +USE_GMAKE= yes +USE_ZIP= yes +MAKEFILE= make_freebsd.mak +INSTALLS_SHLIB= yes +PLIST_SUB= BUILD=${SWT_VERSION} +PLIST_FILES= %%JAVAJARDIR%%/swt.jar \ + lib/libswt-atk-gtk-%%BUILD%%.so \ + lib/libswt-awt-gtk-%%BUILD%%.so \ + lib/libswt-gtk-%%BUILD%%.so \ + lib/libswt-pi-gtk-%%BUILD%%.so + +USE_JAVA= yes +JAVA_VERSION= 1.4+ +JAVA_OS= native + +.if !defined(WITHOUT_MOZILLA) +PLIST_FILES+= lib/libswt-mozilla-gtk-%%BUILD%%.so +MAKE_MOZILLA= make_mozilla +.if defined(WITH_MOZILLA) && ${WITH_MOZILLA} != "mozilla" +BROWSER= ${WITH_MOZILLA} +BUILD_DEPENDS+= ${BROWSER}:${PORTSDIR}/www/${BROWSER} +.else +BUILD_DEPENDS+= mozilla:${PORTSDIR}/www/mozilla +BROWSER= mozilla +.endif +.else +BROWSER= +MAKE_MOZILLA= +.endif + +.if defined(WITHOUT_CAIRO) +MAKE_CAIRO= +.else +LIB_DEPENDS= cairo.2:${PORTSDIR}/graphics/cairo +MAKE_CAIRO= make_cairo +PLIST_FILES+= lib/libswt-cairo-gtk-%%BUILD%%.so +.endif + +.if defined(WITHOUT_GNOMEVFS) +MAKE_GNOME= +USE_GNOME= gtk20 pkgconfig +.else +MAKE_GNOME= make_gnome +USE_GNOME= gtk20 gnomevfs2 libgnome libgnomeui pkgconfig +PLIST_FILES+= lib/libswt-gnome-gtk-%%BUILD%%.so +.endif + +.include <bsd.port.pre.mk> + +.if (${ARCH} == "amd64") +DISTNAME= swt-${PORTVERSION}-gtk-linux-x86_64 +.else +DISTNAME= swt-${PORTVERSION}-gtk-linux-x86 +.endif + +MAKE_ENV+= BROWSER="${BROWSER}" \ + JAVA_HOME="${JAVA_HOME}" \ + MAKE_GNOME=${MAKE_GNOME} \ + MAKE_MOZILLA=${MAKE_MOZILLA} \ + MAKE_CAIRO=${MAKE_CAIRO} \ + MACHINE_ARCH=${MACHINE_ARCH} + +post-extract: + @(cd ${WRKSRC} && ${UNZIP_CMD} -qo "*.zip") + @${CP} ${WRKSRC}/make_linux.mak ${WRKSRC}/make_freebsd.mak + +post-patch: + @${RM} ${WRKSRC}/lib*.so +.if (${ARCH} != "amd64") + @${PATCH} ${PATCH_DIST_ARGS} \ + "cairo.c" \ + ${FILESDIR}/manualpatch-cairo \ + + "cairo.h" \ + + "cairo_custom.c" \ + + "cairo_stats.c" \ + + "cairo_stats.h" \ + + "cairo_structs.c" \ + + "cairo_structs.h" +.endif + +do-build: + @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SH} build.sh) + +do-install: + ${MKDIR} ${JAVAJARDIR} + ${INSTALL_PROGRAM} ${WRKSRC}/libswt-*.so ${PREFIX}/lib + ${INSTALL_DATA} ${WRKSRC}/swt.jar ${JAVAJARDIR}/ + +.include <bsd.port.post.mk> diff --git a/x11-toolkits/swt31/distinfo b/x11-toolkits/swt31/distinfo new file mode 100644 index 000000000000..575a95687199 --- /dev/null +++ b/x11-toolkits/swt31/distinfo @@ -0,0 +1,6 @@ +MD5 (swt-3.1-gtk-linux-x86_64.zip) = 37907f265059d9853911fc9538743280 +SHA256 (swt-3.1-gtk-linux-x86_64.zip) = 5314bd993327ea6e6646a437dde034d574d2e4c66e96ca6a12815fca807458ce +SIZE (swt-3.1-gtk-linux-x86_64.zip) = 2702033 +MD5 (swt-3.1-gtk-linux-x86.zip) = a7d5f5f593e423f9aec7713c548f3817 +SHA256 (swt-3.1-gtk-linux-x86.zip) = 9a12c6e0377836c277e0268b94d66b8f1a6dd46c5a51720353ec209a2956c25f +SIZE (swt-3.1-gtk-linux-x86.zip) = 2643472 diff --git a/x11-toolkits/swt31/files/manualpatch-cairo b/x11-toolkits/swt31/files/manualpatch-cairo new file mode 100644 index 000000000000..b36c760e9516 --- /dev/null +++ b/x11-toolkits/swt31/files/manualpatch-cairo @@ -0,0 +1,2432 @@ +diff -uN cairo.c.orig cairo.c +--- cairo.c.orig Thu Aug 18 12:34:57 2005 ++++ cairo.c Thu Aug 18 12:35:19 2005 +@@ -25,6 +25,16 @@ + + #define Cairo_NATIVE(func) Java_org_eclipse_swt_internal_cairo_Cairo_##func + ++#ifndef NO_cairo_1append_1path ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1append_1path) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1append_1path_FUNC); ++ cairo_append_path((cairo_t *)arg0, (cairo_path_t *)arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1append_1path_FUNC); ++} ++#endif ++ + #ifndef NO_cairo_1arc + JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1arc) + (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5) +@@ -55,6 +65,16 @@ + } + #endif + ++#ifndef NO_cairo_1clip_1preserve ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1clip_1preserve) ++ (JNIEnv *env, jclass that, jint arg0) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1clip_1preserve_FUNC); ++ cairo_clip_preserve((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1clip_1preserve_FUNC); ++} ++#endif ++ + #ifndef NO_cairo_1close_1path + JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1close_1path) + (JNIEnv *env, jclass that, jint arg0) +@@ -65,353 +85,403 @@ + } + #endif + +-#ifndef NO_cairo_1concat_1matrix +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1concat_1matrix) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_cairo_1copy_1page ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1copy_1page) ++ (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1concat_1matrix_FUNC); +- cairo_concat_matrix((cairo_t *)arg0, (cairo_matrix_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1concat_1matrix_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1copy_1page_FUNC); ++ cairo_copy_page((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1copy_1page_FUNC); + } + #endif + +-#ifndef NO_cairo_1copy +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1copy) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_cairo_1copy_1path ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1copy_1path) ++ (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1copy_FUNC); +- cairo_copy((cairo_t *)arg0, (cairo_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1copy_FUNC); ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1copy_1path_FUNC); ++ rc = (jint)cairo_copy_path((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1copy_1path_FUNC); ++ return rc; + } + #endif + +-#ifndef NO_cairo_1copy_1page +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1copy_1page) ++#ifndef NO_cairo_1copy_1path_1flat ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1copy_1path_1flat) + (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1copy_1page_FUNC); +- cairo_copy_page((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1copy_1page_FUNC); ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1copy_1path_1flat_FUNC); ++ rc = (jint)cairo_copy_path_flat((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1copy_1path_1flat_FUNC); ++ return rc; + } + #endif + + #ifndef NO_cairo_1create + JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1create) +- (JNIEnv *env, jclass that) ++ (JNIEnv *env, jclass that, jint arg0) + { + jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1create_FUNC); +- rc = (jint)cairo_create(); ++ rc = (jint)cairo_create((cairo_surface_t *)arg0); + Cairo_NATIVE_EXIT(env, that, cairo_1create_FUNC); + return rc; + } + #endif + +-#ifndef NO_cairo_1current_1alpha +-JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1current_1alpha) +- (JNIEnv *env, jclass that, jint arg0) ++#ifndef NO_cairo_1curve_1to ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1curve_1to) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6) + { +- jdouble rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1alpha_FUNC); +- rc = (jdouble)cairo_current_alpha((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1alpha_FUNC); +- return rc; ++ Cairo_NATIVE_ENTER(env, that, cairo_1curve_1to_FUNC); ++ cairo_curve_to((cairo_t *)arg0, arg1, arg2, arg3, arg4, arg5, arg6); ++ Cairo_NATIVE_EXIT(env, that, cairo_1curve_1to_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1fill_1rule +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1current_1fill_1rule) ++#ifndef NO_cairo_1destroy ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1destroy) + (JNIEnv *env, jclass that, jint arg0) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1fill_1rule_FUNC); +- rc = (jint)cairo_current_fill_rule((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1fill_1rule_FUNC); +- return rc; ++ Cairo_NATIVE_ENTER(env, that, cairo_1destroy_FUNC); ++ cairo_destroy((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1destroy_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1font +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1current_1font) +- (JNIEnv *env, jclass that, jint arg0) ++#ifndef NO_cairo_1device_1to_1user ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1device_1to_1user) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1font_FUNC); +- rc = (jint)cairo_current_font((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1font_FUNC); +- return rc; ++ jdouble *lparg1=NULL; ++ jdouble *lparg2=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1device_1to_1user_FUNC); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; ++ cairo_device_to_user((cairo_t *)arg0, lparg1, lparg2); ++fail: ++ if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1device_1to_1user_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1font_1extents +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1current_1font_1extents) +- (JNIEnv *env, jclass that, jint arg0, jobject arg1) ++#ifndef NO_cairo_1device_1to_1user_1distance ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1device_1to_1user_1distance) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) + { +- cairo_font_extents_t _arg1, *lparg1=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1font_1extents_FUNC); +- if (arg1) if ((lparg1 = getcairo_font_extents_tFields(env, arg1, &_arg1)) == NULL) goto fail; +- cairo_current_font_extents((cairo_t *)arg0, (cairo_font_extents_t *)lparg1); ++ jdouble *lparg1=NULL; ++ jdouble *lparg2=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1device_1to_1user_1distance_FUNC); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; ++ cairo_device_to_user_distance((cairo_t *)arg0, lparg1, lparg2); + fail: +- if (arg1 && lparg1) setcairo_font_extents_tFields(env, arg1, lparg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1font_1extents_FUNC); ++ if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1device_1to_1user_1distance_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1line_1cap +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1current_1line_1cap) ++#ifndef NO_cairo_1fill ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1fill) + (JNIEnv *env, jclass that, jint arg0) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1line_1cap_FUNC); +- rc = (jint)cairo_current_line_cap((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1line_1cap_FUNC); +- return rc; ++ Cairo_NATIVE_ENTER(env, that, cairo_1fill_FUNC); ++ cairo_fill((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1fill_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1line_1join +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1current_1line_1join) +- (JNIEnv *env, jclass that, jint arg0) ++#ifndef NO_cairo_1fill_1extents ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1fill_1extents) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2, jdoubleArray arg3, jdoubleArray arg4) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1line_1join_FUNC); +- rc = (jint)cairo_current_line_join((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1line_1join_FUNC); +- return rc; ++ jdouble *lparg1=NULL; ++ jdouble *lparg2=NULL; ++ jdouble *lparg3=NULL; ++ jdouble *lparg4=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1fill_1extents_FUNC); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; ++ if (arg3) if ((lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL)) == NULL) goto fail; ++ if (arg4) if ((lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL)) == NULL) goto fail; ++ cairo_fill_extents((cairo_t *)arg0, lparg1, lparg2, lparg3, lparg4); ++fail: ++ if (arg4 && lparg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0); ++ if (arg3 && lparg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0); ++ if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1fill_1extents_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1line_1width +-JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1current_1line_1width) ++#ifndef NO_cairo_1fill_1preserve ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1fill_1preserve) + (JNIEnv *env, jclass that, jint arg0) + { +- jdouble rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1line_1width_FUNC); +- rc = (jdouble)cairo_current_line_width((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1line_1width_FUNC); +- return rc; ++ Cairo_NATIVE_ENTER(env, that, cairo_1fill_1preserve_FUNC); ++ cairo_fill_preserve((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1fill_1preserve_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1matrix +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1current_1matrix) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_cairo_1font_1extents ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1extents) ++ (JNIEnv *env, jclass that, jint arg0, jobject arg1) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1matrix_FUNC); +- cairo_current_matrix((cairo_t *)arg0, (cairo_matrix_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1matrix_FUNC); ++ cairo_font_extents_t _arg1, *lparg1=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1font_1extents_FUNC); ++ if (arg1) if ((lparg1 = getcairo_font_extents_tFields(env, arg1, &_arg1)) == NULL) goto fail; ++ cairo_font_extents((cairo_t *)arg0, lparg1); ++fail: ++ if (arg1 && lparg1) setcairo_font_extents_tFields(env, arg1, lparg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1font_1extents_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1miter_1limit +-JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1current_1miter_1limit) +- (JNIEnv *env, jclass that, jint arg0) ++#ifndef NO_cairo_1font_1extents_1t_1sizeof ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1extents_1t_1sizeof) ++ (JNIEnv *env, jclass that) + { +- jdouble rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1miter_1limit_FUNC); +- rc = (jdouble)cairo_current_miter_limit((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1miter_1limit_FUNC); ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1font_1extents_1t_1sizeof_FUNC); ++ rc = (jint)cairo_font_extents_t_sizeof(); ++ Cairo_NATIVE_EXIT(env, that, cairo_1font_1extents_1t_1sizeof_FUNC); + return rc; + } + #endif + +-#ifndef NO_cairo_1current_1operator +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1current_1operator) +- (JNIEnv *env, jclass that, jint arg0) ++#ifndef NO_cairo_1font_1options_1create ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1options_1create) ++ (JNIEnv *env, jclass that) + { + jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1operator_FUNC); +- rc = (jint)cairo_current_operator((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1operator_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1font_1options_1create_FUNC); ++ rc = (jint)cairo_font_options_create(); ++ Cairo_NATIVE_EXIT(env, that, cairo_1font_1options_1create_FUNC); + return rc; + } + #endif + +-#ifndef NO_cairo_1current_1path +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1current_1path) +- (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5) ++#ifndef NO_cairo_1font_1options_1destroy ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1options_1destroy) ++ (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1path_FUNC); +- cairo_current_path((cairo_t *)arg0, (cairo_move_to_func_t *)arg1, (cairo_line_to_func_t *)arg2, (cairo_curve_to_func_t *)arg3, (cairo_close_path_func_t *)arg4, (void *)arg5); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1path_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1font_1options_1destroy_FUNC); ++ cairo_font_options_destroy((cairo_font_options_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1font_1options_1destroy_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1path_1flat +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1current_1path_1flat) +- (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4) ++#ifndef NO_cairo_1font_1options_1get_1antialias ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1options_1get_1antialias) ++ (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1path_1flat_FUNC); +- cairo_current_path_flat((cairo_t *)arg0, (cairo_move_to_func_t *)arg1, (cairo_line_to_func_t *)arg2, (cairo_close_path_func_t *)arg3, (void *)arg4); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1path_1flat_FUNC); ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1font_1options_1get_1antialias_FUNC); ++ rc = (jint)cairo_font_options_get_antialias((cairo_font_options_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1font_1options_1get_1antialias_FUNC); ++ return rc; + } + #endif + +-#ifndef NO_cairo_1current_1pattern +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1current_1pattern) ++#ifndef NO_cairo_1font_1options_1set_1antialias ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1options_1set_1antialias) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1font_1options_1set_1antialias_FUNC); ++ cairo_font_options_set_antialias((cairo_font_options_t *)arg0, arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1font_1options_1set_1antialias_FUNC); ++} ++#endif ++ ++#ifndef NO_cairo_1get_1antialias ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1antialias) + (JNIEnv *env, jclass that, jint arg0) + { + jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1pattern_FUNC); +- rc = (jint)cairo_current_pattern((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1pattern_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1antialias_FUNC); ++ rc = (jint)cairo_get_antialias((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1antialias_FUNC); + return rc; + } + #endif + +-#ifndef NO_cairo_1current_1point +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1current_1point) ++#ifndef NO_cairo_1get_1current_1point ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1current_1point) + (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) + { + jdouble *lparg1=NULL; + jdouble *lparg2=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1point_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1current_1point_FUNC); + if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; + if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- cairo_current_point((cairo_t *)arg0, lparg1, lparg2); ++ cairo_get_current_point((cairo_t *)arg0, lparg1, lparg2); + fail: + if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); + if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1point_FUNC); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1current_1point_FUNC); + } + #endif + +-#ifndef NO_cairo_1current_1rgb_1color +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1current_1rgb_1color) +- (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2, jdoubleArray arg3) ++#ifndef NO_cairo_1get_1fill_1rule ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1fill_1rule) ++ (JNIEnv *env, jclass that, jint arg0) + { +- jdouble *lparg1=NULL; +- jdouble *lparg2=NULL; +- jdouble *lparg3=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1rgb_1color_FUNC); +- if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; +- if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- if (arg3) if ((lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL)) == NULL) goto fail; +- cairo_current_rgb_color((cairo_t *)arg0, lparg1, lparg2, lparg3); +-fail: +- if (arg3 && lparg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0); +- if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); +- if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1rgb_1color_FUNC); ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1fill_1rule_FUNC); ++ rc = (jint)cairo_get_fill_rule((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1fill_1rule_FUNC); ++ return rc; + } + #endif + +-#ifndef NO_cairo_1current_1target_1surface +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1current_1target_1surface) ++#ifndef NO_cairo_1get_1font_1face ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1font_1face) + (JNIEnv *env, jclass that, jint arg0) + { + jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1target_1surface_FUNC); +- rc = (jint)cairo_current_target_surface((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1target_1surface_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1font_1face_FUNC); ++ rc = (jint)cairo_get_font_face((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1font_1face_FUNC); + return rc; + } + #endif + +-#ifndef NO_cairo_1current_1tolerance +-JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1current_1tolerance) +- (JNIEnv *env, jclass that, jint arg0) ++#ifndef NO_cairo_1get_1font_1matrix ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1font_1matrix) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1) + { +- jdouble rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1current_1tolerance_FUNC); +- rc = (jdouble)cairo_current_tolerance((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1current_1tolerance_FUNC); +- return rc; ++ jdouble *lparg1=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1font_1matrix_FUNC); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ cairo_get_font_matrix((cairo_t *)arg0, (cairo_matrix_t *)lparg1); ++fail: ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1font_1matrix_FUNC); + } + #endif + +-#ifndef NO_cairo_1curve_1to +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1curve_1to) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6) ++#ifndef NO_cairo_1get_1font_1options ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1font_1options) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1curve_1to_FUNC); +- cairo_curve_to((cairo_t *)arg0, arg1, arg2, arg3, arg4, arg5, arg6); +- Cairo_NATIVE_EXIT(env, that, cairo_1curve_1to_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1font_1options_FUNC); ++ cairo_get_font_options((cairo_t *)arg0, (cairo_font_options_t *)arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1font_1options_FUNC); + } + #endif + +-#ifndef NO_cairo_1default_1matrix +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1default_1matrix) ++#ifndef NO_cairo_1get_1line_1cap ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1line_1cap) + (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1default_1matrix_FUNC); +- cairo_default_matrix((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1default_1matrix_FUNC); ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1line_1cap_FUNC); ++ rc = (jint)cairo_get_line_cap((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1line_1cap_FUNC); ++ return rc; + } + #endif + +-#ifndef NO_cairo_1destroy +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1destroy) ++#ifndef NO_cairo_1get_1line_1join ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1line_1join) + (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1destroy_FUNC); +- cairo_destroy((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1destroy_FUNC); ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1line_1join_FUNC); ++ rc = (jint)cairo_get_line_join((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1line_1join_FUNC); ++ return rc; + } + #endif + +-#ifndef NO_cairo_1fill +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1fill) ++#ifndef NO_cairo_1get_1line_1width ++JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1get_1line_1width) + (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1fill_FUNC); +- cairo_fill((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1fill_FUNC); ++ jdouble rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1line_1width_FUNC); ++ rc = (jdouble)cairo_get_line_width((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1line_1width_FUNC); ++ return rc; + } + #endif + +-#ifndef NO_cairo_1fill_1extents +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1fill_1extents) +- (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2, jdoubleArray arg3, jdoubleArray arg4) ++#ifndef NO_cairo_1get_1matrix ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1matrix) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1) + { + jdouble *lparg1=NULL; +- jdouble *lparg2=NULL; +- jdouble *lparg3=NULL; +- jdouble *lparg4=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1fill_1extents_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1matrix_FUNC); + if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; +- if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- if (arg3) if ((lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL)) == NULL) goto fail; +- if (arg4) if ((lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL)) == NULL) goto fail; +- cairo_fill_extents((cairo_t *)arg0, lparg1, lparg2, lparg3, lparg4); ++ cairo_get_matrix((cairo_t *)arg0, (cairo_matrix_t *)lparg1); + fail: +- if (arg4 && lparg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0); +- if (arg3 && lparg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0); +- if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); + if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1fill_1extents_FUNC); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1matrix_FUNC); + } + #endif + +-#ifndef NO_cairo_1font_1destroy +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1destroy) ++#ifndef NO_cairo_1get_1miter_1limit ++JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1get_1miter_1limit) + (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1font_1destroy_FUNC); +- cairo_font_destroy((cairo_font_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1font_1destroy_FUNC); ++ jdouble rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1miter_1limit_FUNC); ++ rc = (jdouble)cairo_get_miter_limit((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1miter_1limit_FUNC); ++ return rc; + } + #endif + +-#ifndef NO_cairo_1font_1extents_1t_1sizeof +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1extents_1t_1sizeof) +- (JNIEnv *env, jclass that) ++#ifndef NO_cairo_1get_1operator ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1operator) ++ (JNIEnv *env, jclass that, jint arg0) + { + jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1font_1extents_1t_1sizeof_FUNC); +- rc = (jint)cairo_font_extents_t_sizeof(); +- Cairo_NATIVE_EXIT(env, that, cairo_1font_1extents_1t_1sizeof_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1operator_FUNC); ++ rc = (jint)cairo_get_operator((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1operator_FUNC); ++ return rc; ++} ++#endif ++ ++#ifndef NO_cairo_1get_1source ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1source) ++ (JNIEnv *env, jclass that, jint arg0) ++{ ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1source_FUNC); ++ rc = (jint)cairo_get_source((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1source_FUNC); + return rc; + } + #endif + +-#ifndef NO_cairo_1font_1reference +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1reference) ++#ifndef NO_cairo_1get_1target ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1target) + (JNIEnv *env, jclass that, jint arg0) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1font_1reference_FUNC); +- cairo_font_reference((cairo_font_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1font_1reference_FUNC); ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1target_FUNC); ++ rc = (jint)cairo_get_target((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1target_FUNC); ++ return rc; ++} ++#endif ++ ++#ifndef NO_cairo_1get_1tolerance ++JNIEXPORT jdouble JNICALL Cairo_NATIVE(cairo_1get_1tolerance) ++ (JNIEnv *env, jclass that, jint arg0) ++{ ++ jdouble rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1get_1tolerance_FUNC); ++ rc = (jdouble)cairo_get_tolerance((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1get_1tolerance_FUNC); ++ return rc; + } + #endif + +@@ -469,6 +539,30 @@ + } + #endif + ++#ifndef NO_cairo_1image_1surface_1get_1height ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1image_1surface_1get_1height) ++ (JNIEnv *env, jclass that, jint arg0) ++{ ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1image_1surface_1get_1height_FUNC); ++ rc = (jint)cairo_image_surface_get_height((cairo_surface_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1image_1surface_1get_1height_FUNC); ++ return rc; ++} ++#endif ++ ++#ifndef NO_cairo_1image_1surface_1get_1width ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1image_1surface_1get_1width) ++ (JNIEnv *env, jclass that, jint arg0) ++{ ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1image_1surface_1get_1width_FUNC); ++ rc = (jint)cairo_image_surface_get_width((cairo_surface_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1image_1surface_1get_1width_FUNC); ++ return rc; ++} ++#endif ++ + #ifndef NO_cairo_1in_1fill + JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1in_1fill) + (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2) +@@ -493,244 +587,221 @@ + } + #endif + +-#ifndef NO_cairo_1init_1clip +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1init_1clip) +- (JNIEnv *env, jclass that, jint arg0) ++#ifndef NO_cairo_1line_1to ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1line_1to) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1init_1clip_FUNC); +- cairo_init_clip((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1init_1clip_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1line_1to_FUNC); ++ cairo_line_to((cairo_t *)arg0, arg1, arg2); ++ Cairo_NATIVE_EXIT(env, that, cairo_1line_1to_FUNC); + } + #endif + +-#ifndef NO_cairo_1inverse_1transform_1distance +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1inverse_1transform_1distance) +- (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) ++#ifndef NO_cairo_1mask ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1mask) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1) + { +- jdouble *lparg1=NULL; +- jdouble *lparg2=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1inverse_1transform_1distance_FUNC); +- if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; +- if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- cairo_inverse_transform_distance((cairo_t *)arg0, lparg1, lparg2); +-fail: +- if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); +- if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1inverse_1transform_1distance_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1mask_FUNC); ++ cairo_mask((cairo_t *)arg0, (cairo_pattern_t *)arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1mask_FUNC); + } + #endif + +-#ifndef NO_cairo_1inverse_1transform_1point +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1inverse_1transform_1point) +- (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) ++#ifndef NO_cairo_1mask_1surface ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1mask_1surface) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2, jdouble arg3) + { +- jdouble *lparg1=NULL; +- jdouble *lparg2=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1inverse_1transform_1point_FUNC); +- if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; +- if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- cairo_inverse_transform_point((cairo_t *)arg0, lparg1, lparg2); +-fail: +- if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); +- if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1inverse_1transform_1point_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1mask_1surface_FUNC); ++ cairo_mask_surface((cairo_t *)arg0, (cairo_surface_t *)arg1, arg2, arg3); ++ Cairo_NATIVE_EXIT(env, that, cairo_1mask_1surface_FUNC); + } + #endif + +-#ifndef NO_cairo_1line_1to +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1line_1to) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2) ++#ifndef NO_cairo_1matrix_1init ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1line_1to_FUNC); +- cairo_line_to((cairo_t *)arg0, arg1, arg2); +- Cairo_NATIVE_EXIT(env, that, cairo_1line_1to_FUNC); ++ jdouble *lparg0=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_FUNC); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ cairo_matrix_init((cairo_matrix_t *)lparg0, arg1, arg2, arg3, arg4, arg5, arg6); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_FUNC); + } + #endif + +-#ifndef NO_cairo_1matrix_1copy +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1copy) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_cairo_1matrix_1init_1identity ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init_1identity) ++ (JNIEnv *env, jclass that, jdoubleArray arg0) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1copy_FUNC); +- rc = (jint)cairo_matrix_copy((cairo_matrix_t *)arg0, (cairo_matrix_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1copy_FUNC); +- return rc; ++ jdouble *lparg0=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_1identity_FUNC); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ cairo_matrix_init_identity((cairo_matrix_t *)lparg0); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_1identity_FUNC); + } + #endif + +-#ifndef NO_cairo_1matrix_1create +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1create) +- (JNIEnv *env, jclass that) ++#ifndef NO_cairo_1matrix_1init_1rotate ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init_1rotate) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1create_FUNC); +- rc = (jint)cairo_matrix_create(); +- Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1create_FUNC); +- return rc; ++ jdouble *lparg0=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_1rotate_FUNC); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ cairo_matrix_init_rotate((cairo_matrix_t *)lparg0, arg1); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_1rotate_FUNC); + } + #endif + +-#ifndef NO_cairo_1matrix_1destroy +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1destroy) +- (JNIEnv *env, jclass that, jint arg0) ++#ifndef NO_cairo_1matrix_1init_1scale ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init_1scale) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1destroy_FUNC); +- cairo_matrix_destroy((cairo_matrix_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1destroy_FUNC); ++ jdouble *lparg0=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_1scale_FUNC); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ cairo_matrix_init_scale((cairo_matrix_t *)lparg0, arg1, arg2); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_1scale_FUNC); + } + #endif + +-#ifndef NO_cairo_1matrix_1get_1affine +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1get_1affine) +- (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2, jdoubleArray arg3, jdoubleArray arg4, jdoubleArray arg5, jdoubleArray arg6) ++#ifndef NO_cairo_1matrix_1init_1translate ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1init_1translate) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2) + { +- jdouble *lparg1=NULL; +- jdouble *lparg2=NULL; +- jdouble *lparg3=NULL; +- jdouble *lparg4=NULL; +- jdouble *lparg5=NULL; +- jdouble *lparg6=NULL; +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1get_1affine_FUNC); +- if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; +- if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- if (arg3) if ((lparg3 = (*env)->GetDoubleArrayElements(env, arg3, NULL)) == NULL) goto fail; +- if (arg4) if ((lparg4 = (*env)->GetDoubleArrayElements(env, arg4, NULL)) == NULL) goto fail; +- if (arg5) if ((lparg5 = (*env)->GetDoubleArrayElements(env, arg5, NULL)) == NULL) goto fail; +- if (arg6) if ((lparg6 = (*env)->GetDoubleArrayElements(env, arg6, NULL)) == NULL) goto fail; +- rc = (jint)cairo_matrix_get_affine((cairo_matrix_t *)arg0, lparg1, lparg2, lparg3, lparg4, lparg5, lparg6); ++ jdouble *lparg0=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1init_1translate_FUNC); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ cairo_matrix_init_translate((cairo_matrix_t *)lparg0, arg1, arg2); + fail: +- if (arg6 && lparg6) (*env)->ReleaseDoubleArrayElements(env, arg6, lparg6, 0); +- if (arg5 && lparg5) (*env)->ReleaseDoubleArrayElements(env, arg5, lparg5, 0); +- if (arg4 && lparg4) (*env)->ReleaseDoubleArrayElements(env, arg4, lparg4, 0); +- if (arg3 && lparg3) (*env)->ReleaseDoubleArrayElements(env, arg3, lparg3, 0); +- if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); +- if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1get_1affine_FUNC); +- return rc; ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1init_1translate_FUNC); + } + #endif + + #ifndef NO_cairo_1matrix_1invert + JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1invert) +- (JNIEnv *env, jclass that, jint arg0) ++ (JNIEnv *env, jclass that, jdoubleArray arg0) + { ++ jdouble *lparg0=NULL; + jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1invert_FUNC); +- rc = (jint)cairo_matrix_invert((cairo_matrix_t *)arg0); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ rc = (jint)cairo_matrix_invert((cairo_matrix_t *)lparg0); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1invert_FUNC); + return rc; + } + #endif + + #ifndef NO_cairo_1matrix_1multiply +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1multiply) +- (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1multiply) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1, jdoubleArray arg2) + { +- jint rc = 0; ++ jdouble *lparg0=NULL; ++ jdouble *lparg1=NULL; ++ jdouble *lparg2=NULL; + Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1multiply_FUNC); +- rc = (jint)cairo_matrix_multiply((cairo_matrix_t *)arg0, (cairo_matrix_t *)arg1, (cairo_matrix_t *)arg2); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; ++ cairo_matrix_multiply((cairo_matrix_t *)lparg0, (cairo_matrix_t *)lparg1, (cairo_matrix_t *)lparg2); ++fail: ++ if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1multiply_FUNC); +- return rc; + } + #endif + + #ifndef NO_cairo_1matrix_1rotate +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1rotate) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1rotate) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1) + { +- jint rc = 0; ++ jdouble *lparg0=NULL; + Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1rotate_FUNC); +- rc = (jint)cairo_matrix_rotate((cairo_matrix_t *)arg0, arg1); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ cairo_matrix_rotate((cairo_matrix_t *)lparg0, arg1); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1rotate_FUNC); +- return rc; + } + #endif + + #ifndef NO_cairo_1matrix_1scale +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1scale) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1scale) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2) + { +- jint rc = 0; ++ jdouble *lparg0=NULL; + Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1scale_FUNC); +- rc = (jint)cairo_matrix_scale((cairo_matrix_t *)arg0, arg1, arg2); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ cairo_matrix_scale((cairo_matrix_t *)lparg0, arg1, arg2); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1scale_FUNC); +- return rc; +-} +-#endif +- +-#ifndef NO_cairo_1matrix_1set_1affine +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1set_1affine) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5, jdouble arg6) +-{ +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1set_1affine_FUNC); +- rc = (jint)cairo_matrix_set_affine((cairo_matrix_t *)arg0, arg1, arg2, arg3, arg4, arg5, arg6); +- Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1set_1affine_FUNC); +- return rc; +-} +-#endif +- +-#ifndef NO_cairo_1matrix_1set_1identity +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1set_1identity) +- (JNIEnv *env, jclass that, jint arg0) +-{ +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1set_1identity_FUNC); +- rc = (jint)cairo_matrix_set_identity((cairo_matrix_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1set_1identity_FUNC); +- return rc; + } + #endif + + #ifndef NO_cairo_1matrix_1transform_1distance +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1transform_1distance) +- (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1transform_1distance) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1, jdoubleArray arg2) + { ++ jdouble *lparg0=NULL; + jdouble *lparg1=NULL; + jdouble *lparg2=NULL; +- jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1transform_1distance_FUNC); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; + if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; + if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- rc = (jint)cairo_matrix_transform_distance((cairo_matrix_t *)arg0, lparg1, lparg2); ++ cairo_matrix_transform_distance((cairo_matrix_t *)lparg0, lparg1, lparg2); + fail: + if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); + if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1transform_1distance_FUNC); +- return rc; + } + #endif + + #ifndef NO_cairo_1matrix_1transform_1point +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1transform_1point) +- (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1transform_1point) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdoubleArray arg1, jdoubleArray arg2) + { ++ jdouble *lparg0=NULL; + jdouble *lparg1=NULL; + jdouble *lparg2=NULL; +- jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1transform_1point_FUNC); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; + if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; + if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- rc = (jint)cairo_matrix_transform_point((cairo_matrix_t *)arg0, lparg1, lparg2); ++ cairo_matrix_transform_point((cairo_matrix_t *)lparg0, lparg1, lparg2); + fail: + if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); + if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1transform_1point_FUNC); +- return rc; + } + #endif + + #ifndef NO_cairo_1matrix_1translate +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1matrix_1translate) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1matrix_1translate) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jdouble arg1, jdouble arg2) + { +- jint rc = 0; ++ jdouble *lparg0=NULL; + Cairo_NATIVE_ENTER(env, that, cairo_1matrix_1translate_FUNC); +- rc = (jint)cairo_matrix_translate((cairo_matrix_t *)arg0, arg1, arg2); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ cairo_matrix_translate((cairo_matrix_t *)lparg0, arg1, arg2); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1matrix_1translate_FUNC); +- return rc; + } + #endif + +@@ -754,18 +825,80 @@ + } + #endif + +-#ifndef NO_cairo_1pattern_1add_1color_1stop +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1add_1color_1stop) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5) ++#ifndef NO_cairo_1paint ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1paint) ++ (JNIEnv *env, jclass that, jint arg0) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1paint_FUNC); ++ cairo_paint((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1paint_FUNC); ++} ++#endif ++ ++#ifndef NO_cairo_1paint_1with_1alpha ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1paint_1with_1alpha) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1paint_1with_1alpha_FUNC); ++ cairo_paint_with_alpha((cairo_t *)arg0, arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1paint_1with_1alpha_FUNC); ++} ++#endif ++ ++#ifndef NO_cairo_1path_1data_1t_1sizeof ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1path_1data_1t_1sizeof) ++ (JNIEnv *env, jclass that) ++{ ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1path_1data_1t_1sizeof_FUNC); ++ rc = (jint)cairo_path_data_t_sizeof(); ++ Cairo_NATIVE_EXIT(env, that, cairo_1path_1data_1t_1sizeof_FUNC); ++ return rc; ++} ++#endif ++ ++#ifndef NO_cairo_1path_1destroy ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1path_1destroy) ++ (JNIEnv *env, jclass that, jint arg0) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1path_1destroy_FUNC); ++ cairo_path_destroy((cairo_path_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1path_1destroy_FUNC); ++} ++#endif ++ ++#ifndef NO_cairo_1path_1t_1sizeof ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1path_1t_1sizeof) ++ (JNIEnv *env, jclass that) + { + jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1add_1color_1stop_FUNC); +- rc = (jint)cairo_pattern_add_color_stop((cairo_pattern_t *)arg0, arg1, arg2, arg3, arg4, arg5); +- Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1add_1color_1stop_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1path_1t_1sizeof_FUNC); ++ rc = (jint)cairo_path_t_sizeof(); ++ Cairo_NATIVE_EXIT(env, that, cairo_1path_1t_1sizeof_FUNC); + return rc; + } + #endif + ++#ifndef NO_cairo_1pattern_1add_1color_1stop_1rgb ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1add_1color_1stop_1rgb) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1add_1color_1stop_1rgb_FUNC); ++ cairo_pattern_add_color_stop_rgb((cairo_pattern_t *)arg0, arg1, arg2, arg3, arg4); ++ Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1add_1color_1stop_1rgb_FUNC); ++} ++#endif ++ ++#ifndef NO_cairo_1pattern_1add_1color_1stop_1rgba ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1add_1color_1stop_1rgba) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1add_1color_1stop_1rgba_FUNC); ++ cairo_pattern_add_color_stop_rgba((cairo_pattern_t *)arg0, arg1, arg2, arg3, arg4, arg5); ++ Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1add_1color_1stop_1rgba_FUNC); ++} ++#endif ++ + #ifndef NO_cairo_1pattern_1create_1for_1surface + JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1create_1for_1surface) + (JNIEnv *env, jclass that, jint arg0) +@@ -837,14 +970,16 @@ + #endif + + #ifndef NO_cairo_1pattern_1get_1matrix +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1get_1matrix) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1get_1matrix) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1) + { +- jint rc = 0; ++ jdouble *lparg1=NULL; + Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1get_1matrix_FUNC); +- rc = (jint)cairo_pattern_get_matrix((cairo_pattern_t *)arg0, (cairo_matrix_t *)arg1); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ cairo_pattern_get_matrix((cairo_pattern_t *)arg0, (cairo_matrix_t *)lparg1); ++fail: ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1get_1matrix_FUNC); +- return rc; + } + #endif + +@@ -859,38 +994,36 @@ + #endif + + #ifndef NO_cairo_1pattern_1set_1extend +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1set_1extend) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1set_1extend) + (JNIEnv *env, jclass that, jint arg0, jint arg1) + { +- jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1set_1extend_FUNC); +- rc = (jint)cairo_pattern_set_extend((cairo_pattern_t *)arg0, arg1); ++ cairo_pattern_set_extend((cairo_pattern_t *)arg0, arg1); + Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1set_1extend_FUNC); +- return rc; + } + #endif + + #ifndef NO_cairo_1pattern_1set_1filter +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1set_1filter) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1set_1filter) + (JNIEnv *env, jclass that, jint arg0, jint arg1) + { +- jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1set_1filter_FUNC); +- rc = (jint)cairo_pattern_set_filter((cairo_pattern_t *)arg0, arg1); ++ cairo_pattern_set_filter((cairo_pattern_t *)arg0, arg1); + Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1set_1filter_FUNC); +- return rc; + } + #endif + + #ifndef NO_cairo_1pattern_1set_1matrix +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1pattern_1set_1matrix) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1pattern_1set_1matrix) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1) + { +- jint rc = 0; ++ jdouble *lparg1=NULL; + Cairo_NATIVE_ENTER(env, that, cairo_1pattern_1set_1matrix_FUNC); +- rc = (jint)cairo_pattern_set_matrix((cairo_pattern_t *)arg0, (cairo_matrix_t *)arg1); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ cairo_pattern_set_matrix((cairo_pattern_t *)arg0, (cairo_matrix_t *)lparg1); ++fail: ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1pattern_1set_1matrix_FUNC); +- return rc; + } + #endif + +@@ -905,12 +1038,14 @@ + #endif + + #ifndef NO_cairo_1reference +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1reference) ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1reference) + (JNIEnv *env, jclass that, jint arg0) + { ++ jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1reference_FUNC); +- cairo_reference((cairo_t *)arg0); ++ rc = (jint)cairo_reference((cairo_t *)arg0); + Cairo_NATIVE_EXIT(env, that, cairo_1reference_FUNC); ++ return rc; + } + #endif + +@@ -944,6 +1079,16 @@ + } + #endif + ++#ifndef NO_cairo_1reset_1clip ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1reset_1clip) ++ (JNIEnv *env, jclass that, jint arg0) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1reset_1clip_FUNC); ++ cairo_reset_clip((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1reset_1clip_FUNC); ++} ++#endif ++ + #ifndef NO_cairo_1restore + JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1restore) + (JNIEnv *env, jclass that, jint arg0) +@@ -984,37 +1129,27 @@ + } + #endif + +-#ifndef NO_cairo_1scale_1font +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1scale_1font) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1) +-{ +- Cairo_NATIVE_ENTER(env, that, cairo_1scale_1font_FUNC); +- cairo_scale_font((cairo_t *)arg0, arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1scale_1font_FUNC); +-} +-#endif +- +-#ifndef NO_cairo_1select_1font +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1select_1font) ++#ifndef NO_cairo_1select_1font_1face ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1select_1font_1face) + (JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3) + { + jbyte *lparg1=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1select_1font_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1select_1font_1face_FUNC); + if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail; +- cairo_select_font((cairo_t *)arg0, lparg1, arg2, arg3); ++ cairo_select_font_face((cairo_t *)arg0, lparg1, arg2, arg3); + fail: + if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1select_1font_FUNC); ++ Cairo_NATIVE_EXIT(env, that, cairo_1select_1font_1face_FUNC); + } + #endif + +-#ifndef NO_cairo_1set_1alpha +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1alpha) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1) ++#ifndef NO_cairo_1set_1antialias ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1antialias) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1set_1alpha_FUNC); +- cairo_set_alpha((cairo_t *)arg0, arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1set_1alpha_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1antialias_FUNC); ++ cairo_set_antialias((cairo_t *)arg0, arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1antialias_FUNC); + } + #endif + +@@ -1042,13 +1177,47 @@ + } + #endif + +-#ifndef NO_cairo_1set_1font +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font) ++#ifndef NO_cairo_1set_1font_1face ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font_1face) + (JNIEnv *env, jclass that, jint arg0, jint arg1) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_FUNC); +- cairo_set_font((cairo_t *)arg0, (cairo_font_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_1face_FUNC); ++ cairo_set_font_face((cairo_t *)arg0, (cairo_font_face_t *)arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_1face_FUNC); ++} ++#endif ++ ++#ifndef NO_cairo_1set_1font_1matrix ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font_1matrix) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1) ++{ ++ jdouble *lparg1=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_1matrix_FUNC); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ cairo_set_font_matrix((cairo_t *)arg0, (cairo_matrix_t *)lparg1); ++fail: ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_1matrix_FUNC); ++} ++#endif ++ ++#ifndef NO_cairo_1set_1font_1options ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font_1options) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_1options_FUNC); ++ cairo_set_font_options((cairo_t *)arg0, (cairo_font_options_t *)arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_1options_FUNC); ++} ++#endif ++ ++#ifndef NO_cairo_1set_1font_1size ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1font_1size) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1font_1size_FUNC); ++ cairo_set_font_size((cairo_t *)arg0, arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1font_1size_FUNC); + } + #endif + +@@ -1084,10 +1253,14 @@ + + #ifndef NO_cairo_1set_1matrix + JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1matrix) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1) + { ++ jdouble *lparg1=NULL; + Cairo_NATIVE_ENTER(env, that, cairo_1set_1matrix_FUNC); +- cairo_set_matrix((cairo_t *)arg0, (cairo_matrix_t *)arg1); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ cairo_set_matrix((cairo_t *)arg0, (cairo_matrix_t *)lparg1); ++fail: ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); + Cairo_NATIVE_EXIT(env, that, cairo_1set_1matrix_FUNC); + } + #endif +@@ -1112,53 +1285,43 @@ + } + #endif + +-#ifndef NO_cairo_1set_1pattern +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1pattern) ++#ifndef NO_cairo_1set_1source ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1source) + (JNIEnv *env, jclass that, jint arg0, jint arg1) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1set_1pattern_FUNC); +- cairo_set_pattern((cairo_t *)arg0, (cairo_pattern_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1set_1pattern_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1source_FUNC); ++ cairo_set_source((cairo_t *)arg0, (cairo_pattern_t *)arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1source_FUNC); + } + #endif + +-#ifndef NO_cairo_1set_1rgb_1color +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1rgb_1color) ++#ifndef NO_cairo_1set_1source_1rgb ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1source_1rgb) + (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1set_1rgb_1color_FUNC); +- cairo_set_rgb_color((cairo_t *)arg0, arg1, arg2, arg3); +- Cairo_NATIVE_EXIT(env, that, cairo_1set_1rgb_1color_FUNC); +-} +-#endif +- +-#ifndef NO_cairo_1set_1target_1drawable +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1target_1drawable) +- (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2) +-{ +- Cairo_NATIVE_ENTER(env, that, cairo_1set_1target_1drawable_FUNC); +- cairo_set_target_drawable((cairo_t *)arg0, (Display *)arg1, (Drawable)arg2); +- Cairo_NATIVE_EXIT(env, that, cairo_1set_1target_1drawable_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1source_1rgb_FUNC); ++ cairo_set_source_rgb((cairo_t *)arg0, arg1, arg2, arg3); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1source_1rgb_FUNC); + } + #endif + +-#ifndef NO_cairo_1set_1target_1image +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1target_1image) +- (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5) ++#ifndef NO_cairo_1set_1source_1rgba ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1source_1rgba) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1set_1target_1image_FUNC); +- cairo_set_target_image((cairo_t *)arg0, (char *)arg1, arg2, arg3, arg4, arg5); +- Cairo_NATIVE_EXIT(env, that, cairo_1set_1target_1image_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1source_1rgba_FUNC); ++ cairo_set_source_rgba((cairo_t *)arg0, arg1, arg2, arg3, arg4); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1source_1rgba_FUNC); + } + #endif + +-#ifndef NO_cairo_1set_1target_1surface +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1target_1surface) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_cairo_1set_1source_1surface ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1source_1surface) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1, jdouble arg2, jdouble arg3) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1set_1target_1surface_FUNC); +- cairo_set_target_surface((cairo_t *)arg0, (cairo_surface_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1set_1target_1surface_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1set_1source_1surface_FUNC); ++ cairo_set_source_surface((cairo_t *)arg0, (cairo_surface_t *)arg1, arg2, arg3); ++ Cairo_NATIVE_EXIT(env, that, cairo_1set_1source_1surface_FUNC); + } + #endif + +@@ -1192,16 +1355,6 @@ + } + #endif + +-#ifndef NO_cairo_1show_1surface +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1show_1surface) +- (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3) +-{ +- Cairo_NATIVE_ENTER(env, that, cairo_1show_1surface_FUNC); +- cairo_show_surface((cairo_t *)arg0, (cairo_surface_t *)arg1, arg2, arg3); +- Cairo_NATIVE_EXIT(env, that, cairo_1show_1surface_FUNC); +-} +-#endif +- + #ifndef NO_cairo_1show_1text + JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1show_1text) + (JNIEnv *env, jclass that, jint arg0, jbyteArray arg1) +@@ -1228,14 +1381,14 @@ + } + #endif + +-#ifndef NO_cairo_1status_1string +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1status_1string) ++#ifndef NO_cairo_1status_1to_1string ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1status_1to_1string) + (JNIEnv *env, jclass that, jint arg0) + { + jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1status_1string_FUNC); +- rc = (jint)cairo_status_string((cairo_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1status_1string_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1status_1to_1string_FUNC); ++ rc = (jint)cairo_status_to_string(arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1status_1to_1string_FUNC); + return rc; + } + #endif +@@ -1273,15 +1426,13 @@ + } + #endif + +-#ifndef NO_cairo_1surface_1create_1for_1image +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1create_1for_1image) +- (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4) ++#ifndef NO_cairo_1stroke_1preserve ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1stroke_1preserve) ++ (JNIEnv *env, jclass that, jint arg0) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1surface_1create_1for_1image_FUNC); +- rc = (jint)cairo_surface_create_for_image((char *)arg0, arg1, arg2, arg3, arg4); +- Cairo_NATIVE_EXIT(env, that, cairo_1surface_1create_1for_1image_FUNC); +- return rc; ++ Cairo_NATIVE_ENTER(env, that, cairo_1stroke_1preserve_FUNC); ++ cairo_stroke_preserve((cairo_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1stroke_1preserve_FUNC); + } + #endif + +@@ -1307,26 +1458,24 @@ + } + #endif + +-#ifndef NO_cairo_1surface_1get_1filter +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1get_1filter) ++#ifndef NO_cairo_1surface_1finish ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1surface_1finish) + (JNIEnv *env, jclass that, jint arg0) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1surface_1get_1filter_FUNC); +- rc = (jint)cairo_surface_get_filter((cairo_surface_t *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1surface_1get_1filter_FUNC); +- return rc; ++ Cairo_NATIVE_ENTER(env, that, cairo_1surface_1finish_FUNC); ++ cairo_surface_finish((cairo_surface_t *)arg0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1surface_1finish_FUNC); + } + #endif + +-#ifndef NO_cairo_1surface_1get_1matrix +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1get_1matrix) ++#ifndef NO_cairo_1surface_1get_1user_1data ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1get_1user_1data) + (JNIEnv *env, jclass that, jint arg0, jint arg1) + { + jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1surface_1get_1matrix_FUNC); +- rc = (jint)cairo_surface_get_matrix((cairo_surface_t *)arg0, (cairo_matrix_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1surface_1get_1matrix_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1surface_1get_1user_1data_FUNC); ++ rc = (jint)cairo_surface_get_user_data((cairo_surface_t *)arg0, (cairo_user_data_key_t *)arg1); ++ Cairo_NATIVE_EXIT(env, that, cairo_1surface_1get_1user_1data_FUNC); + return rc; + } + #endif +@@ -1341,38 +1490,24 @@ + } + #endif + +-#ifndef NO_cairo_1surface_1set_1filter +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1set_1filter) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) +-{ +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1surface_1set_1filter_FUNC); +- rc = (jint)cairo_surface_set_filter((cairo_surface_t *)arg0, arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1surface_1set_1filter_FUNC); +- return rc; +-} +-#endif +- +-#ifndef NO_cairo_1surface_1set_1matrix +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1set_1matrix) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_cairo_1surface_1set_1device_1offset ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1surface_1set_1device_1offset) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2) + { +- jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1surface_1set_1matrix_FUNC); +- rc = (jint)cairo_surface_set_matrix((cairo_surface_t *)arg0, (cairo_matrix_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1surface_1set_1matrix_FUNC); +- return rc; ++ Cairo_NATIVE_ENTER(env, that, cairo_1surface_1set_1device_1offset_FUNC); ++ cairo_surface_set_device_offset((cairo_surface_t *)arg0, arg1, arg2); ++ Cairo_NATIVE_EXIT(env, that, cairo_1surface_1set_1device_1offset_FUNC); + } + #endif + +-#ifndef NO_cairo_1surface_1set_1repeat +-JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1set_1repeat) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_cairo_1surface_1set_1user_1data ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1surface_1set_1user_1data) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3) + { + jint rc = 0; +- Cairo_NATIVE_ENTER(env, that, cairo_1surface_1set_1repeat_FUNC); +- rc = (jint)cairo_surface_set_repeat((cairo_surface_t *)arg0, arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1surface_1set_1repeat_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1surface_1set_1user_1data_FUNC); ++ rc = (jint)cairo_surface_set_user_data((cairo_surface_t *)arg0, (cairo_user_data_key_t *)arg1, (void *)arg2, (cairo_destroy_func_t)arg3); ++ Cairo_NATIVE_EXIT(env, that, cairo_1surface_1set_1user_1data_FUNC); + return rc; + } + #endif +@@ -1405,57 +1540,61 @@ + } + #endif + +-#ifndef NO_cairo_1transform_1distance +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1transform_1distance) +- (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) ++#ifndef NO_cairo_1transform ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1transform) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1) + { + jdouble *lparg1=NULL; +- jdouble *lparg2=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1transform_1distance_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1transform_FUNC); + if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; +- if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- cairo_transform_distance((cairo_t *)arg0, lparg1, lparg2); ++ cairo_transform((cairo_t *)arg0, (cairo_matrix_t *)lparg1); + fail: +- if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); + if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1transform_1distance_FUNC); ++ Cairo_NATIVE_EXIT(env, that, cairo_1transform_FUNC); + } + #endif + +-#ifndef NO_cairo_1transform_1font +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1transform_1font) +- (JNIEnv *env, jclass that, jint arg0, jint arg1) ++#ifndef NO_cairo_1translate ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1translate) ++ (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1transform_1font_FUNC); +- cairo_transform_font((cairo_t *)arg0, (cairo_matrix_t *)arg1); +- Cairo_NATIVE_EXIT(env, that, cairo_1transform_1font_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1translate_FUNC); ++ cairo_translate((cairo_t *)arg0, arg1, arg2); ++ Cairo_NATIVE_EXIT(env, that, cairo_1translate_FUNC); + } + #endif + +-#ifndef NO_cairo_1transform_1point +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1transform_1point) ++#ifndef NO_cairo_1user_1to_1device ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1user_1to_1device) + (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) + { + jdouble *lparg1=NULL; + jdouble *lparg2=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1transform_1point_FUNC); ++ Cairo_NATIVE_ENTER(env, that, cairo_1user_1to_1device_FUNC); + if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; + if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; +- cairo_transform_point((cairo_t *)arg0, lparg1, lparg2); ++ cairo_user_to_device((cairo_t *)arg0, lparg1, lparg2); + fail: + if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); + if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1transform_1point_FUNC); ++ Cairo_NATIVE_EXIT(env, that, cairo_1user_1to_1device_FUNC); + } + #endif + +-#ifndef NO_cairo_1translate +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1translate) +- (JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2) ++#ifndef NO_cairo_1user_1to_1device_1distance ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1user_1to_1device_1distance) ++ (JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2) + { +- Cairo_NATIVE_ENTER(env, that, cairo_1translate_FUNC); +- cairo_translate((cairo_t *)arg0, arg1, arg2); +- Cairo_NATIVE_EXIT(env, that, cairo_1translate_FUNC); ++ jdouble *lparg1=NULL; ++ jdouble *lparg2=NULL; ++ Cairo_NATIVE_ENTER(env, that, cairo_1user_1to_1device_1distance_FUNC); ++ if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; ++ if (arg2) if ((lparg2 = (*env)->GetDoubleArrayElements(env, arg2, NULL)) == NULL) goto fail; ++ cairo_user_to_device_distance((cairo_t *)arg0, lparg1, lparg2); ++fail: ++ if (arg2 && lparg2) (*env)->ReleaseDoubleArrayElements(env, arg2, lparg2, 0); ++ if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); ++ Cairo_NATIVE_EXIT(env, that, cairo_1user_1to_1device_1distance_FUNC); + } + #endif + +@@ -1465,9 +1604,73 @@ + { + jint rc = 0; + Cairo_NATIVE_ENTER(env, that, cairo_1xlib_1surface_1create_FUNC); +- rc = (jint)cairo_xlib_surface_create((Display *)arg0, (Drawable)arg1, (Visual *)arg2, arg3, (Colormap)arg4); ++ rc = (jint)cairo_xlib_surface_create((Display *)arg0, (Drawable)arg1, (Visual *)arg2, arg3, arg4); + Cairo_NATIVE_EXIT(env, that, cairo_1xlib_1surface_1create_FUNC); + return rc; ++} ++#endif ++ ++#ifndef NO_cairo_1xlib_1surface_1create_1for_1bitmap ++JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1xlib_1surface_1create_1for_1bitmap) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4) ++{ ++ jint rc = 0; ++ Cairo_NATIVE_ENTER(env, that, cairo_1xlib_1surface_1create_1for_1bitmap_FUNC); ++ rc = (jint)cairo_xlib_surface_create_for_bitmap((Display *)arg0, (Pixmap)arg1, (Screen *)arg2, arg3, arg4); ++ Cairo_NATIVE_EXIT(env, that, cairo_1xlib_1surface_1create_1for_1bitmap_FUNC); ++ return rc; ++} ++#endif ++ ++#ifndef NO_cairo_1xlib_1surface_1set_1size ++JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1xlib_1surface_1set_1size) ++ (JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2) ++{ ++ Cairo_NATIVE_ENTER(env, that, cairo_1xlib_1surface_1set_1size_FUNC); ++ cairo_xlib_surface_set_size((cairo_surface_t *)arg0, arg1, arg2); ++ Cairo_NATIVE_EXIT(env, that, cairo_1xlib_1surface_1set_1size_FUNC); ++} ++#endif ++ ++#ifndef NO_memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II ++JNIEXPORT void JNICALL Cairo_NATIVE(memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II) ++ (JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2) ++{ ++ cairo_path_data_t _arg0, *lparg0=NULL; ++ Cairo_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II_FUNC); ++ if (arg0) if ((lparg0 = getcairo_path_data_tFields(env, arg0, &_arg0)) == NULL) goto fail; ++ memmove((void *)lparg0, (const void *)arg1, (size_t)arg2); ++fail: ++ if (arg0 && lparg0) setcairo_path_data_tFields(env, arg0, lparg0); ++ Cairo_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II_FUNC); ++} ++#endif ++ ++#ifndef NO_memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II ++JNIEXPORT void JNICALL Cairo_NATIVE(memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II) ++ (JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2) ++{ ++ cairo_path_t _arg0, *lparg0=NULL; ++ Cairo_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II_FUNC); ++ if (arg0) if ((lparg0 = getcairo_path_tFields(env, arg0, &_arg0)) == NULL) goto fail; ++ memmove((void *)lparg0, (const void *)arg1, (size_t)arg2); ++fail: ++ if (arg0 && lparg0) setcairo_path_tFields(env, arg0, lparg0); ++ Cairo_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II_FUNC); ++} ++#endif ++ ++#ifndef NO_memmove___3DII ++JNIEXPORT void JNICALL Cairo_NATIVE(memmove___3DII) ++ (JNIEnv *env, jclass that, jdoubleArray arg0, jint arg1, jint arg2) ++{ ++ jdouble *lparg0=NULL; ++ Cairo_NATIVE_ENTER(env, that, memmove___3DII_FUNC); ++ if (arg0) if ((lparg0 = (*env)->GetDoubleArrayElements(env, arg0, NULL)) == NULL) goto fail; ++ memmove((void *)lparg0, (const void *)arg1, (size_t)arg2); ++fail: ++ if (arg0 && lparg0) (*env)->ReleaseDoubleArrayElements(env, arg0, lparg0, 0); ++ Cairo_NATIVE_EXIT(env, that, memmove___3DII_FUNC); + } + #endif + +diff -uN cairo.h.orig cairo.h +--- cairo.h.orig Thu Aug 18 12:34:57 2005 ++++ cairo.h Thu Aug 18 12:35:19 2005 +@@ -24,5 +24,6 @@ + + #include <cairo.h> + #include <cairo-xlib.h> ++#include <string.h> + + #endif /* INC_cairo_H */ +diff -uN cairo_custom.c.orig cairo_custom.c +--- cairo_custom.c.orig Thu Aug 18 12:34:57 2005 ++++ cairo_custom.c Thu Jan 1 01:00:00 1970 +@@ -1,179 +0,0 @@ +-/* ***** BEGIN LICENSE BLOCK ***** +- * Version: MPL 1.1 +- * +- * The contents of this file are subject to the Mozilla Public License Version +- * 1.1 (the "License"); you may not use this file except in compliance with +- * the License. You may obtain a copy of the License at +- * http://www.mozilla.org/MPL/ +- * +- * Software distributed under the License is distributed on an "AS IS" basis, +- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +- * for the specific language governing rights and limitations under the +- * License. +- * +- * Contributor(s): +- * +- * IBM +- * - Binding to permit interfacing between Cairo and SWT +- * - Copyright (C) 2005 IBM Corp. All Rights Reserved. +- * +- * ***** END LICENSE BLOCK ***** */ +- +-#include "swt.h" +-#include "cairo_structs.h" +-#include "cairo_stats.h" +- +-#define Cairo_NATIVE(func) Java_org_eclipse_swt_internal_cairo_Cairo_##func +- +-#ifndef NO_cairo_1add_1path +-static void moveTo(cairo_t *cairo, double x, double y) { +- cairo_move_to(cairo, x, y); +-} +- +-static void lineTo(cairo_t *cairo, double x, double y) { +- cairo_line_to(cairo, x, y); +-} +- +-static void curveTo(cairo_t *cairo, double x1, double y1, double x2, double y2, double x3, double y3) { +- cairo_curve_to(cairo, x1, y1, x2, y2, x3, y3); +-} +- +-static void closePath(cairo_t *cairo) { +- cairo_close_path(cairo); +-} +- +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1add_1path) +- (JNIEnv *env, jclass that, SWT_PTR arg0, SWT_PTR arg1) +-{ +- Cairo_NATIVE_ENTER(env, that, cairo_1add_1path_FUNC); +- cairo_new_path((cairo_t *)arg0); +- cairo_current_path((cairo_t *)arg1, (cairo_move_to_func_t *)moveTo, (cairo_line_to_func_t *)lineTo, (cairo_curve_to_func_t *)curveTo, (cairo_close_path_func_t *)closePath, (void *)arg0); +- Cairo_NATIVE_EXIT(env, that, cairo_1add_1path_FUNC); +-} +-#endif +- +-#ifndef NO_cairo_1extents +-#include <float.h> +-#define EXTENTS(x, y, extents) \ +- if (x < extents[0]) extents[0] = x; \ +- if (y < extents[1]) extents[1] = y; \ +- if (x > extents[2]) extents[2] = x; \ +- if (y > extents[3]) extents[3] = y; +- +-static void extentsMoveTo(jdouble *extents, double x, double y) { +- EXTENTS(x, y, extents) +-} +- +-static void extentsLineTo(jdouble *extents, double x, double y) { +- EXTENTS(x, y, extents) +-} +- +-static void extentsCurveTo(jdouble *extents, double x1, double y1, double x2, double y2, double x3, double y3) { +- EXTENTS(x1, y1, extents) +- EXTENTS(x2, y2, extents) +- EXTENTS(x3, y3, extents) +-} +- +-static void extentsClosePath(jdouble *extents) { +-} +- +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1extents) +- (JNIEnv *env, jclass that, SWT_PTR arg0, jdoubleArray arg1) +-{ +- jdouble *lparg1=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1extents_FUNC); +- if (arg1) if ((lparg1 = (*env)->GetDoubleArrayElements(env, arg1, NULL)) == NULL) goto fail; +- lparg1[0] = lparg1[1] = DBL_MAX; +- lparg1[2] = lparg1[3] = DBL_MIN; +- cairo_current_path((cairo_t *)arg0, (cairo_move_to_func_t *)extentsMoveTo, (cairo_line_to_func_t *)extentsLineTo, (cairo_curve_to_func_t *)extentsCurveTo, (cairo_close_path_func_t *)extentsClosePath, (void *)lparg1); +- if (lparg1[0] == lparg1[1] && lparg1[0] == DBL_MAX) lparg1[0] = lparg1[1] = 0; +- if (lparg1[2] == lparg1[3] && lparg1[2] == DBL_MAX) lparg1[2] = lparg1[3] = 0; +-fail: +- if (arg1 && lparg1) (*env)->ReleaseDoubleArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1extents_FUNC); +-} +-#endif +- +-#ifndef NO_cairo_1points +-#define PATH_MOVE_TO 1 +-#define PATH_LINE_TO 2 +-#define PATH_QUAD_TO 3 +-#define PATH_CUBIC_TO 4 +-#define PATH_CLOSE 5 +-typedef struct _points_data { +- jint *n_types; +- jint *n_points; +- jbyte *types; +- jfloat *points; +-} points_data; +- +-static void pointsMoveTo(points_data *data, double x, double y) { +- if (data->types != NULL) data->types[data->n_types[0]] = PATH_MOVE_TO; +- if (data->points != NULL) { +- int offset = data->n_points[0] * 2; +- data->points[offset] = x; +- data->points[offset + 1] = y; +- } +- data->n_types[0]++; +- data->n_points[0]++; +-} +- +-static void pointsLineTo(points_data *data, double x, double y) { +- if (data->types != NULL) data->types[data->n_types[0]] = PATH_LINE_TO; +- if (data->points != NULL) { +- int offset = data->n_points[0] * 2; +- data->points[offset] = x; +- data->points[offset + 1] = y; +- } +- data->n_types[0]++; +- data->n_points[0]++; +-} +- +-static void pointsCurveTo(points_data *data, double x1, double y1, double x2, double y2, double x3, double y3) { +- if (data->types != NULL) data->types[data->n_types[0]] = PATH_CUBIC_TO; +- if (data->points != NULL) { +- int offset = data->n_points[0] * 2; +- data->points[offset] = x1; +- data->points[offset + 1] = y1; +- data->points[offset + 2] = x2; +- data->points[offset + 3] = y2; +- data->points[offset + 4] = x3; +- data->points[offset + 5] = y3; +- } +- data->n_types[0]++; +- data->n_points[0] += 3; +-} +- +-static void pointsClosePath(points_data *data) { +- if (data->types != NULL) data->types[data->n_types[0]] = PATH_CLOSE; +- data->n_types[0]++; +-} +- +-JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1points) +- (JNIEnv *env, jclass that, SWT_PTR arg0, jintArray arg1, jintArray arg2, jbyteArray arg3, jfloatArray arg4) +-{ +- points_data data; +- jint *lparg1=NULL; +- jint *lparg2=NULL; +- jbyte *lparg3=NULL; +- jfloat *lparg4=NULL; +- Cairo_NATIVE_ENTER(env, that, cairo_1points_FUNC); +- if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail; +- if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail; +- if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail; +- if (arg4) if ((lparg4 = (*env)->GetFloatArrayElements(env, arg4, NULL)) == NULL) goto fail; +- data.n_types = lparg1; +- data.n_points = lparg2; +- data.types = lparg3; +- data.points = lparg4; +- data.n_types[0] = data.n_points[0] = 0; +- cairo_current_path((cairo_t *)arg0, (cairo_move_to_func_t *)pointsMoveTo, (cairo_line_to_func_t *)pointsLineTo, (cairo_curve_to_func_t *)pointsCurveTo, (cairo_close_path_func_t *)pointsClosePath, (void *)&data); +-fail: +- if (arg4 && lparg4) (*env)->ReleaseFloatArrayElements(env, arg4, lparg4, 0); +- if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0); +- if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0); +- if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0); +- Cairo_NATIVE_EXIT(env, that, cairo_1points_FUNC); +-} +-#endif +- +diff -uN cairo_stats.c.orig cairo_stats.c +--- cairo_stats.c.orig Thu Aug 18 12:34:57 2005 ++++ cairo_stats.c Thu Aug 18 12:35:19 2005 +@@ -24,71 +24,80 @@ + + #ifdef NATIVE_STATS + +-int Cairo_nativeFunctionCount = 125; +-int Cairo_nativeFunctionCallCount[125]; ++int Cairo_nativeFunctionCount = 138; ++int Cairo_nativeFunctionCallCount[138]; + char * Cairo_nativeFunctionNames[] = { +- "cairo_1add_1path", ++ "cairo_1append_1path", + "cairo_1arc", + "cairo_1arc_1negative", + "cairo_1clip", ++ "cairo_1clip_1preserve", + "cairo_1close_1path", +- "cairo_1concat_1matrix", +- "cairo_1copy", + "cairo_1copy_1page", ++ "cairo_1copy_1path", ++ "cairo_1copy_1path_1flat", + "cairo_1create", +- "cairo_1current_1alpha", +- "cairo_1current_1fill_1rule", +- "cairo_1current_1font", +- "cairo_1current_1font_1extents", +- "cairo_1current_1line_1cap", +- "cairo_1current_1line_1join", +- "cairo_1current_1line_1width", +- "cairo_1current_1matrix", +- "cairo_1current_1miter_1limit", +- "cairo_1current_1operator", +- "cairo_1current_1path", +- "cairo_1current_1path_1flat", +- "cairo_1current_1pattern", +- "cairo_1current_1point", +- "cairo_1current_1rgb_1color", +- "cairo_1current_1target_1surface", +- "cairo_1current_1tolerance", + "cairo_1curve_1to", +- "cairo_1default_1matrix", + "cairo_1destroy", +- "cairo_1extents", ++ "cairo_1device_1to_1user", ++ "cairo_1device_1to_1user_1distance", + "cairo_1fill", + "cairo_1fill_1extents", +- "cairo_1font_1destroy", ++ "cairo_1fill_1preserve", ++ "cairo_1font_1extents", + "cairo_1font_1extents_1t_1sizeof", +- "cairo_1font_1reference", ++ "cairo_1font_1options_1create", ++ "cairo_1font_1options_1destroy", ++ "cairo_1font_1options_1get_1antialias", ++ "cairo_1font_1options_1set_1antialias", ++ "cairo_1get_1antialias", ++ "cairo_1get_1current_1point", ++ "cairo_1get_1fill_1rule", ++ "cairo_1get_1font_1face", ++ "cairo_1get_1font_1matrix", ++ "cairo_1get_1font_1options", ++ "cairo_1get_1line_1cap", ++ "cairo_1get_1line_1join", ++ "cairo_1get_1line_1width", ++ "cairo_1get_1matrix", ++ "cairo_1get_1miter_1limit", ++ "cairo_1get_1operator", ++ "cairo_1get_1source", ++ "cairo_1get_1target", ++ "cairo_1get_1tolerance", + "cairo_1glyph_1extents", + "cairo_1glyph_1path", + "cairo_1identity_1matrix", + "cairo_1image_1surface_1create", + "cairo_1image_1surface_1create_1for_1data", ++ "cairo_1image_1surface_1get_1height", ++ "cairo_1image_1surface_1get_1width", + "cairo_1in_1fill", + "cairo_1in_1stroke", +- "cairo_1init_1clip", +- "cairo_1inverse_1transform_1distance", +- "cairo_1inverse_1transform_1point", + "cairo_1line_1to", +- "cairo_1matrix_1copy", +- "cairo_1matrix_1create", +- "cairo_1matrix_1destroy", +- "cairo_1matrix_1get_1affine", ++ "cairo_1mask", ++ "cairo_1mask_1surface", ++ "cairo_1matrix_1init", ++ "cairo_1matrix_1init_1identity", ++ "cairo_1matrix_1init_1rotate", ++ "cairo_1matrix_1init_1scale", ++ "cairo_1matrix_1init_1translate", + "cairo_1matrix_1invert", + "cairo_1matrix_1multiply", + "cairo_1matrix_1rotate", + "cairo_1matrix_1scale", +- "cairo_1matrix_1set_1affine", +- "cairo_1matrix_1set_1identity", + "cairo_1matrix_1transform_1distance", + "cairo_1matrix_1transform_1point", + "cairo_1matrix_1translate", + "cairo_1move_1to", + "cairo_1new_1path", +- "cairo_1pattern_1add_1color_1stop", ++ "cairo_1paint", ++ "cairo_1paint_1with_1alpha", ++ "cairo_1path_1data_1t_1sizeof", ++ "cairo_1path_1destroy", ++ "cairo_1path_1t_1sizeof", ++ "cairo_1pattern_1add_1color_1stop_1rgb", ++ "cairo_1pattern_1add_1color_1stop_1rgba", + "cairo_1pattern_1create_1for_1surface", + "cairo_1pattern_1create_1linear", + "cairo_1pattern_1create_1radial", +@@ -100,58 +109,62 @@ + "cairo_1pattern_1set_1extend", + "cairo_1pattern_1set_1filter", + "cairo_1pattern_1set_1matrix", +- "cairo_1points", + "cairo_1rectangle", + "cairo_1reference", + "cairo_1rel_1curve_1to", + "cairo_1rel_1line_1to", + "cairo_1rel_1move_1to", ++ "cairo_1reset_1clip", + "cairo_1restore", + "cairo_1rotate", + "cairo_1save", + "cairo_1scale", +- "cairo_1scale_1font", +- "cairo_1select_1font", +- "cairo_1set_1alpha", ++ "cairo_1select_1font_1face", ++ "cairo_1set_1antialias", + "cairo_1set_1dash", + "cairo_1set_1fill_1rule", +- "cairo_1set_1font", ++ "cairo_1set_1font_1face", ++ "cairo_1set_1font_1matrix", ++ "cairo_1set_1font_1options", ++ "cairo_1set_1font_1size", + "cairo_1set_1line_1cap", + "cairo_1set_1line_1join", + "cairo_1set_1line_1width", + "cairo_1set_1matrix", + "cairo_1set_1miter_1limit", + "cairo_1set_1operator", +- "cairo_1set_1pattern", +- "cairo_1set_1rgb_1color", +- "cairo_1set_1target_1drawable", +- "cairo_1set_1target_1image", +- "cairo_1set_1target_1surface", ++ "cairo_1set_1source", ++ "cairo_1set_1source_1rgb", ++ "cairo_1set_1source_1rgba", ++ "cairo_1set_1source_1surface", + "cairo_1set_1tolerance", + "cairo_1show_1glyphs", + "cairo_1show_1page", +- "cairo_1show_1surface", + "cairo_1show_1text", + "cairo_1status", +- "cairo_1status_1string", ++ "cairo_1status_1to_1string", + "cairo_1stroke", + "cairo_1stroke_1extents", +- "cairo_1surface_1create_1for_1image", ++ "cairo_1stroke_1preserve", + "cairo_1surface_1create_1similar", + "cairo_1surface_1destroy", +- "cairo_1surface_1get_1filter", +- "cairo_1surface_1get_1matrix", ++ "cairo_1surface_1finish", ++ "cairo_1surface_1get_1user_1data", + "cairo_1surface_1reference", +- "cairo_1surface_1set_1filter", +- "cairo_1surface_1set_1matrix", +- "cairo_1surface_1set_1repeat", ++ "cairo_1surface_1set_1device_1offset", ++ "cairo_1surface_1set_1user_1data", + "cairo_1text_1extents", + "cairo_1text_1path", +- "cairo_1transform_1distance", +- "cairo_1transform_1font", +- "cairo_1transform_1point", ++ "cairo_1transform", + "cairo_1translate", ++ "cairo_1user_1to_1device", ++ "cairo_1user_1to_1device_1distance", + "cairo_1xlib_1surface_1create", ++ "cairo_1xlib_1surface_1create_1for_1bitmap", ++ "cairo_1xlib_1surface_1set_1size", ++ "memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II", ++ "memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II", ++ "memmove___3DII", + }; + + #define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func +diff -uN cairo_stats.h.orig cairo_stats.h +--- cairo_stats.h.orig Thu Aug 18 12:34:57 2005 ++++ cairo_stats.h Thu Aug 18 12:35:19 2005 +@@ -31,68 +31,77 @@ + #endif + + typedef enum { +- cairo_1add_1path_FUNC, ++ cairo_1append_1path_FUNC, + cairo_1arc_FUNC, + cairo_1arc_1negative_FUNC, + cairo_1clip_FUNC, ++ cairo_1clip_1preserve_FUNC, + cairo_1close_1path_FUNC, +- cairo_1concat_1matrix_FUNC, +- cairo_1copy_FUNC, + cairo_1copy_1page_FUNC, ++ cairo_1copy_1path_FUNC, ++ cairo_1copy_1path_1flat_FUNC, + cairo_1create_FUNC, +- cairo_1current_1alpha_FUNC, +- cairo_1current_1fill_1rule_FUNC, +- cairo_1current_1font_FUNC, +- cairo_1current_1font_1extents_FUNC, +- cairo_1current_1line_1cap_FUNC, +- cairo_1current_1line_1join_FUNC, +- cairo_1current_1line_1width_FUNC, +- cairo_1current_1matrix_FUNC, +- cairo_1current_1miter_1limit_FUNC, +- cairo_1current_1operator_FUNC, +- cairo_1current_1path_FUNC, +- cairo_1current_1path_1flat_FUNC, +- cairo_1current_1pattern_FUNC, +- cairo_1current_1point_FUNC, +- cairo_1current_1rgb_1color_FUNC, +- cairo_1current_1target_1surface_FUNC, +- cairo_1current_1tolerance_FUNC, + cairo_1curve_1to_FUNC, +- cairo_1default_1matrix_FUNC, + cairo_1destroy_FUNC, +- cairo_1extents_FUNC, ++ cairo_1device_1to_1user_FUNC, ++ cairo_1device_1to_1user_1distance_FUNC, + cairo_1fill_FUNC, + cairo_1fill_1extents_FUNC, +- cairo_1font_1destroy_FUNC, ++ cairo_1fill_1preserve_FUNC, ++ cairo_1font_1extents_FUNC, + cairo_1font_1extents_1t_1sizeof_FUNC, +- cairo_1font_1reference_FUNC, ++ cairo_1font_1options_1create_FUNC, ++ cairo_1font_1options_1destroy_FUNC, ++ cairo_1font_1options_1get_1antialias_FUNC, ++ cairo_1font_1options_1set_1antialias_FUNC, ++ cairo_1get_1antialias_FUNC, ++ cairo_1get_1current_1point_FUNC, ++ cairo_1get_1fill_1rule_FUNC, ++ cairo_1get_1font_1face_FUNC, ++ cairo_1get_1font_1matrix_FUNC, ++ cairo_1get_1font_1options_FUNC, ++ cairo_1get_1line_1cap_FUNC, ++ cairo_1get_1line_1join_FUNC, ++ cairo_1get_1line_1width_FUNC, ++ cairo_1get_1matrix_FUNC, ++ cairo_1get_1miter_1limit_FUNC, ++ cairo_1get_1operator_FUNC, ++ cairo_1get_1source_FUNC, ++ cairo_1get_1target_FUNC, ++ cairo_1get_1tolerance_FUNC, + cairo_1glyph_1extents_FUNC, + cairo_1glyph_1path_FUNC, + cairo_1identity_1matrix_FUNC, + cairo_1image_1surface_1create_FUNC, + cairo_1image_1surface_1create_1for_1data_FUNC, ++ cairo_1image_1surface_1get_1height_FUNC, ++ cairo_1image_1surface_1get_1width_FUNC, + cairo_1in_1fill_FUNC, + cairo_1in_1stroke_FUNC, +- cairo_1init_1clip_FUNC, +- cairo_1inverse_1transform_1distance_FUNC, +- cairo_1inverse_1transform_1point_FUNC, + cairo_1line_1to_FUNC, +- cairo_1matrix_1copy_FUNC, +- cairo_1matrix_1create_FUNC, +- cairo_1matrix_1destroy_FUNC, +- cairo_1matrix_1get_1affine_FUNC, ++ cairo_1mask_FUNC, ++ cairo_1mask_1surface_FUNC, ++ cairo_1matrix_1init_FUNC, ++ cairo_1matrix_1init_1identity_FUNC, ++ cairo_1matrix_1init_1rotate_FUNC, ++ cairo_1matrix_1init_1scale_FUNC, ++ cairo_1matrix_1init_1translate_FUNC, + cairo_1matrix_1invert_FUNC, + cairo_1matrix_1multiply_FUNC, + cairo_1matrix_1rotate_FUNC, + cairo_1matrix_1scale_FUNC, +- cairo_1matrix_1set_1affine_FUNC, +- cairo_1matrix_1set_1identity_FUNC, + cairo_1matrix_1transform_1distance_FUNC, + cairo_1matrix_1transform_1point_FUNC, + cairo_1matrix_1translate_FUNC, + cairo_1move_1to_FUNC, + cairo_1new_1path_FUNC, +- cairo_1pattern_1add_1color_1stop_FUNC, ++ cairo_1paint_FUNC, ++ cairo_1paint_1with_1alpha_FUNC, ++ cairo_1path_1data_1t_1sizeof_FUNC, ++ cairo_1path_1destroy_FUNC, ++ cairo_1path_1t_1sizeof_FUNC, ++ cairo_1pattern_1add_1color_1stop_1rgb_FUNC, ++ cairo_1pattern_1add_1color_1stop_1rgba_FUNC, + cairo_1pattern_1create_1for_1surface_FUNC, + cairo_1pattern_1create_1linear_FUNC, + cairo_1pattern_1create_1radial_FUNC, +@@ -104,56 +113,60 @@ + cairo_1pattern_1set_1extend_FUNC, + cairo_1pattern_1set_1filter_FUNC, + cairo_1pattern_1set_1matrix_FUNC, +- cairo_1points_FUNC, + cairo_1rectangle_FUNC, + cairo_1reference_FUNC, + cairo_1rel_1curve_1to_FUNC, + cairo_1rel_1line_1to_FUNC, + cairo_1rel_1move_1to_FUNC, ++ cairo_1reset_1clip_FUNC, + cairo_1restore_FUNC, + cairo_1rotate_FUNC, + cairo_1save_FUNC, + cairo_1scale_FUNC, +- cairo_1scale_1font_FUNC, +- cairo_1select_1font_FUNC, +- cairo_1set_1alpha_FUNC, ++ cairo_1select_1font_1face_FUNC, ++ cairo_1set_1antialias_FUNC, + cairo_1set_1dash_FUNC, + cairo_1set_1fill_1rule_FUNC, +- cairo_1set_1font_FUNC, ++ cairo_1set_1font_1face_FUNC, ++ cairo_1set_1font_1matrix_FUNC, ++ cairo_1set_1font_1options_FUNC, ++ cairo_1set_1font_1size_FUNC, + cairo_1set_1line_1cap_FUNC, + cairo_1set_1line_1join_FUNC, + cairo_1set_1line_1width_FUNC, + cairo_1set_1matrix_FUNC, + cairo_1set_1miter_1limit_FUNC, + cairo_1set_1operator_FUNC, +- cairo_1set_1pattern_FUNC, +- cairo_1set_1rgb_1color_FUNC, +- cairo_1set_1target_1drawable_FUNC, +- cairo_1set_1target_1image_FUNC, +- cairo_1set_1target_1surface_FUNC, ++ cairo_1set_1source_FUNC, ++ cairo_1set_1source_1rgb_FUNC, ++ cairo_1set_1source_1rgba_FUNC, ++ cairo_1set_1source_1surface_FUNC, + cairo_1set_1tolerance_FUNC, + cairo_1show_1glyphs_FUNC, + cairo_1show_1page_FUNC, +- cairo_1show_1surface_FUNC, + cairo_1show_1text_FUNC, + cairo_1status_FUNC, +- cairo_1status_1string_FUNC, ++ cairo_1status_1to_1string_FUNC, + cairo_1stroke_FUNC, + cairo_1stroke_1extents_FUNC, +- cairo_1surface_1create_1for_1image_FUNC, ++ cairo_1stroke_1preserve_FUNC, + cairo_1surface_1create_1similar_FUNC, + cairo_1surface_1destroy_FUNC, +- cairo_1surface_1get_1filter_FUNC, +- cairo_1surface_1get_1matrix_FUNC, ++ cairo_1surface_1finish_FUNC, ++ cairo_1surface_1get_1user_1data_FUNC, + cairo_1surface_1reference_FUNC, +- cairo_1surface_1set_1filter_FUNC, +- cairo_1surface_1set_1matrix_FUNC, +- cairo_1surface_1set_1repeat_FUNC, ++ cairo_1surface_1set_1device_1offset_FUNC, ++ cairo_1surface_1set_1user_1data_FUNC, + cairo_1text_1extents_FUNC, + cairo_1text_1path_FUNC, +- cairo_1transform_1distance_FUNC, +- cairo_1transform_1font_FUNC, +- cairo_1transform_1point_FUNC, ++ cairo_1transform_FUNC, + cairo_1translate_FUNC, ++ cairo_1user_1to_1device_FUNC, ++ cairo_1user_1to_1device_1distance_FUNC, + cairo_1xlib_1surface_1create_FUNC, ++ cairo_1xlib_1surface_1create_1for_1bitmap_FUNC, ++ cairo_1xlib_1surface_1set_1size_FUNC, ++ memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1data_1t_2II_FUNC, ++ memmove__Lorg_eclipse_swt_internal_cairo_cairo_1path_1t_2II_FUNC, ++ memmove___3DII_FUNC, + } Cairo_FUNCS; +diff -uN cairo_structs.c.orig cairo_structs.c +--- cairo_structs.c.orig Thu Aug 18 12:34:57 2005 ++++ cairo_structs.c Thu Aug 18 12:35:19 2005 +@@ -65,3 +65,74 @@ + } + #endif + ++#ifndef NO_cairo_path_data_t ++typedef struct cairo_path_data_t_FID_CACHE { ++ int cached; ++ jclass clazz; ++ jfieldID type, length; ++} cairo_path_data_t_FID_CACHE; ++ ++cairo_path_data_t_FID_CACHE cairo_path_data_tFc; ++ ++void cachecairo_path_data_tFields(JNIEnv *env, jobject lpObject) ++{ ++ if (cairo_path_data_tFc.cached) return; ++ cairo_path_data_tFc.clazz = (*env)->GetObjectClass(env, lpObject); ++ cairo_path_data_tFc.type = (*env)->GetFieldID(env, cairo_path_data_tFc.clazz, "type", "I"); ++ cairo_path_data_tFc.length = (*env)->GetFieldID(env, cairo_path_data_tFc.clazz, "length", "I"); ++ cairo_path_data_tFc.cached = 1; ++} ++ ++cairo_path_data_t *getcairo_path_data_tFields(JNIEnv *env, jobject lpObject, cairo_path_data_t *lpStruct) ++{ ++ if (!cairo_path_data_tFc.cached) cachecairo_path_data_tFields(env, lpObject); ++ lpStruct->header.type = (*env)->GetIntField(env, lpObject, cairo_path_data_tFc.type); ++ lpStruct->header.length = (*env)->GetIntField(env, lpObject, cairo_path_data_tFc.length); ++ return lpStruct; ++} ++ ++void setcairo_path_data_tFields(JNIEnv *env, jobject lpObject, cairo_path_data_t *lpStruct) ++{ ++ if (!cairo_path_data_tFc.cached) cachecairo_path_data_tFields(env, lpObject); ++ (*env)->SetIntField(env, lpObject, cairo_path_data_tFc.type, (jint)lpStruct->header.type); ++ (*env)->SetIntField(env, lpObject, cairo_path_data_tFc.length, (jint)lpStruct->header.length); ++} ++#endif ++ ++#ifndef NO_cairo_path_t ++typedef struct cairo_path_t_FID_CACHE { ++ int cached; ++ jclass clazz; ++ jfieldID status, data, num_data; ++} cairo_path_t_FID_CACHE; ++ ++cairo_path_t_FID_CACHE cairo_path_tFc; ++ ++void cachecairo_path_tFields(JNIEnv *env, jobject lpObject) ++{ ++ if (cairo_path_tFc.cached) return; ++ cairo_path_tFc.clazz = (*env)->GetObjectClass(env, lpObject); ++ cairo_path_tFc.status = (*env)->GetFieldID(env, cairo_path_tFc.clazz, "status", "I"); ++ cairo_path_tFc.data = (*env)->GetFieldID(env, cairo_path_tFc.clazz, "data", "I"); ++ cairo_path_tFc.num_data = (*env)->GetFieldID(env, cairo_path_tFc.clazz, "num_data", "I"); ++ cairo_path_tFc.cached = 1; ++} ++ ++cairo_path_t *getcairo_path_tFields(JNIEnv *env, jobject lpObject, cairo_path_t *lpStruct) ++{ ++ if (!cairo_path_tFc.cached) cachecairo_path_tFields(env, lpObject); ++ lpStruct->status = (*env)->GetIntField(env, lpObject, cairo_path_tFc.status); ++ lpStruct->data = (cairo_path_data_t *)(*env)->GetIntField(env, lpObject, cairo_path_tFc.data); ++ lpStruct->num_data = (*env)->GetIntField(env, lpObject, cairo_path_tFc.num_data); ++ return lpStruct; ++} ++ ++void setcairo_path_tFields(JNIEnv *env, jobject lpObject, cairo_path_t *lpStruct) ++{ ++ if (!cairo_path_tFc.cached) cachecairo_path_tFields(env, lpObject); ++ (*env)->SetIntField(env, lpObject, cairo_path_tFc.status, (jint)lpStruct->status); ++ (*env)->SetIntField(env, lpObject, cairo_path_tFc.data, (jint)lpStruct->data); ++ (*env)->SetIntField(env, lpObject, cairo_path_tFc.num_data, (jint)lpStruct->num_data); ++} ++#endif ++ +diff -uN cairo_structs.h.orig cairo_structs.h +--- cairo_structs.h.orig Thu Aug 18 12:34:57 2005 ++++ cairo_structs.h Thu Aug 18 12:35:19 2005 +@@ -33,3 +33,27 @@ + #define cairo_font_extents_t_sizeof() 0 + #endif + ++#ifndef NO_cairo_path_data_t ++void cachecairo_path_data_tFields(JNIEnv *env, jobject lpObject); ++cairo_path_data_t *getcairo_path_data_tFields(JNIEnv *env, jobject lpObject, cairo_path_data_t *lpStruct); ++void setcairo_path_data_tFields(JNIEnv *env, jobject lpObject, cairo_path_data_t *lpStruct); ++#define cairo_path_data_t_sizeof() sizeof(cairo_path_data_t) ++#else ++#define cachecairo_path_data_tFields(a,b) ++#define getcairo_path_data_tFields(a,b,c) NULL ++#define setcairo_path_data_tFields(a,b,c) ++#define cairo_path_data_t_sizeof() 0 ++#endif ++ ++#ifndef NO_cairo_path_t ++void cachecairo_path_tFields(JNIEnv *env, jobject lpObject); ++cairo_path_t *getcairo_path_tFields(JNIEnv *env, jobject lpObject, cairo_path_t *lpStruct); ++void setcairo_path_tFields(JNIEnv *env, jobject lpObject, cairo_path_t *lpStruct); ++#define cairo_path_t_sizeof() sizeof(cairo_path_t) ++#else ++#define cachecairo_path_tFields(a,b) ++#define getcairo_path_tFields(a,b,c) NULL ++#define setcairo_path_tFields(a,b,c) ++#define cairo_path_t_sizeof() 0 ++#endif ++ diff --git a/x11-toolkits/swt31/files/patch-build.sh b/x11-toolkits/swt31/files/patch-build.sh new file mode 100644 index 000000000000..3b92678a9766 --- /dev/null +++ b/x11-toolkits/swt31/files/patch-build.sh @@ -0,0 +1,42 @@ +--- build.sh.orig Fri May 13 11:37:09 2005 ++++ build.sh Sat May 14 21:02:00 2005 +@@ -100,6 +100,33 @@ + ;; + esac + ;; ++ "FreeBSD") ++ CC=gcc ++ LD=gcc ++ XTEST_LIB_PATH=$X11BASE/lib ++ GECKO_I=${X11BASE}/include/${BROWSER} ++ GECKO_INCLUDES="-I${GECKO_I} -I${LOCALBASE}/include/nspr -I${GECKO_I}/xpcom -I${GECKO_I}/string -I${GECKO_I}/embed_base -I${GECKO_I}/embedstring" ++ GECKO_L=${X11BASE}/lib/${BROWSER} ++ GECKO_LIBS="-L${GECKO_L} -L${LOCALBASE}/lib -lxpcom -lnspr4 -lplds4 -lplc4 -lgtkembedmoz" ++ case $MODEL in ++ "amd64") ++ AWT_LIB_PATH=$JAVA_HOME/jre/lib/amd64 ++ SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64 ++ OUTPUT_DIR=../../../org.eclipse.swt.gtk.freebsd.amd64 ++ makefile="make_freebsd.mak" ++ echo "Building FreeBSD GTK AMD64 version of SWT" ++ ;; ++ "i386") ++ AWT_LIB_PATH=$JAVA_HOME/jre/lib/i386 ++ OUTPUT_DIR=../../../org.eclipse.swt.gtk.freebsd.x86 ++ makefile="make_freebsd.mak" ++ echo "Building FreeBSD GTK x86 version of SWT" ++ ;; ++ *) ++ echo "*** Unknown MODEL <${MODEL}>" ++ ;; ++ esac ++ ;; + "SunOS") + CC=gcc + LD=gcc +@@ -128,4 +155,4 @@ + + export CC LD JAVA_HOME AWT_LIB_PATH XTEST_LIB_PATH GECKO_SDK GECKO_INCLUDES GECKO_LIBS SWT_PTR_CFLAGS CDE_HOME OUTPUT_DIR + +-make -f $makefile ${1} ${2} ${3} ${4} ++gmake -f $makefile ${1} ${2} ${3} ${4} diff --git a/x11-toolkits/swt31/files/patch-make_freebsd.mak b/x11-toolkits/swt31/files/patch-make_freebsd.mak new file mode 100644 index 000000000000..6b41128a4cbb --- /dev/null +++ b/x11-toolkits/swt31/files/patch-make_freebsd.mak @@ -0,0 +1,60 @@ +--- make_freebsd.mak.orig Thu Dec 15 18:14:06 2005 ++++ make_freebsd.mak Thu Dec 15 18:25:59 2005 +@@ -9,7 +9,7 @@ + # IBM Corporation - initial API and implementation + #******************************************************************************* + +-# Makefile for creating SWT libraries for Linux GTK ++# Makefile for creating SWT libraries for FreeBSD GTK + + include make_common.mak + +@@ -61,7 +61,7 @@ + -fPIC \ + -I./ \ + -I$(JAVA_HOME)/include \ +- -I$(JAVA_HOME)/include/linux \ ++ -I$(JAVA_HOME)/include/freebsd \ + ${GECKO_INCLUDES} \ + ${SWT_PTR_CFLAGS} + +@@ -70,7 +70,7 @@ + SWT_OBJECTS = swt.o callback.o + AWT_OBJECTS = swt_awt.o + SWTPI_OBJECTS = swt.o os.o os_structs.o os_custom.o os_stats.o +-CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o cairo_custom.o ++CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o + ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o + GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o + MOZILLA_OBJECTS = swt.o xpcom.o xpcom_custom.o xpcom_structs.o xpcom_stats.o +@@ -78,15 +78,16 @@ + CFLAGS = -O -Wall \ + -DSWT_VERSION=$(SWT_VERSION) \ + $(NATIVE_STATS) \ +- -DLINUX -DGTK \ ++ -DFREEBSD -DGTK \ + -I$(JAVA_HOME)/include \ +- -I$(JAVA_HOME)/include/linux \ +- -fpic \ ++ -I$(JAVA_HOME)/include/freebsd \ ++ -fpic -fPIC \ ++ -I$(X11BASE)/include \ + ${SWT_PTR_CFLAGS} +-LIBS = -shared -fpic -s ++LIBS = -shared -fpic -fPIC -s + + +-all: make_swt make_atk make_gnome make_awt ++all: make_swt make_atk $(MAKE_GNOME) make_awt $(MAKE_MOZILLA) $(MAKE_CAIRO) + + # + # SWT libs +@@ -123,8 +124,6 @@ + + cairo.o: cairo.c cairo.h swt.h + $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c +-cairo_custom.o: cairo_custom.c cairo_structs.h cairo.h swt.h +- $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_custom.c + cairo_structs.o: cairo_structs.c cairo_structs.h cairo.h swt.h + $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_structs.c + cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h diff --git a/x11-toolkits/swt31/pkg-descr b/x11-toolkits/swt31/pkg-descr new file mode 100644 index 000000000000..d0260cdfa93a --- /dev/null +++ b/x11-toolkits/swt31/pkg-descr @@ -0,0 +1,7 @@ +SWT is the software component that delivers native widget functionality +for the Eclipse platform in an operating system independent manner. + +This port provides SWT without requiring a full download and build of +Eclipse. + +WWW: http://www.eclipse.org/swt/ |