aboutsummaryrefslogtreecommitdiff
path: root/x11-toolkits
diff options
context:
space:
mode:
authorBeat Gaetzi <beat@FreeBSD.org>2010-02-07 15:03:49 +0000
committerBeat Gaetzi <beat@FreeBSD.org>2010-02-07 15:03:49 +0000
commitc307c28dc9c6b7995f9844a4a8f9bf0a8c45dbdd (patch)
tree1d95db31710a9915677ebd35e5b26c909dbb81e7 /x11-toolkits
parent71643d0bc55477596ff805cc03c07bb2d68aeb7b (diff)
downloadports-c307c28dc9c6b7995f9844a4a8f9bf0a8c45dbdd.tar.gz
ports-c307c28dc9c6b7995f9844a4a8f9bf0a8c45dbdd.zip
Notes
Diffstat (limited to 'x11-toolkits')
-rw-r--r--x11-toolkits/Makefile1
-rw-r--r--x11-toolkits/swt31/Makefile113
-rw-r--r--x11-toolkits/swt31/distinfo6
-rw-r--r--x11-toolkits/swt31/files/manualpatch-cairo2432
-rw-r--r--x11-toolkits/swt31/files/patch-build.sh44
-rw-r--r--x11-toolkits/swt31/files/patch-make_freebsd.mak64
-rw-r--r--x11-toolkits/swt31/pkg-descr7
7 files changed, 0 insertions, 2667 deletions
diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile
index 56090973202f..b853412e9a0a 100644
--- a/x11-toolkits/Makefile
+++ b/x11-toolkits/Makefile
@@ -267,7 +267,6 @@
SUBDIR += soqt
SUBDIR += swt
SUBDIR += swt-devel
- SUBDIR += swt31
SUBDIR += termit
SUBDIR += tile
SUBDIR += tix
diff --git a/x11-toolkits/swt31/Makefile b/x11-toolkits/swt31/Makefile
deleted file mode 100644
index 25e967927196..000000000000
--- a/x11-toolkits/swt31/Makefile
+++ /dev/null
@@ -1,113 +0,0 @@
-# New ports collection makefile for: swt
-# Date created: 2005-12-15
-# Whom: past@ebs.gr
-#
-# $FreeBSD$
-#
-
-PORTNAME= swt
-PORTVERSION= 3.1.1
-PORTREVISION= 5
-CATEGORIES= x11-toolkits devel java
-MASTER_SITES= ${MASTER_SITE_ECLIPSE}
-MASTER_SITE_SUBDIR= R-${PORTVERSION}-200509290840
-
-MAINTAINER= freebsd-eclipse@freebsd.org
-COMMENT= Standard Widget Toolkit for Java
-
-SWT_VERSION= 3139
-NO_WRKSUBDIR= yes
-ONLY_FOR_ARCHS= i386 amd64
-USE_GMAKE= yes
-USE_ZIP= yes
-MAKEFILE= make_freebsd.mak
-USE_LDCONFIG= 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
-NO_LATEST_LINK= yes
-
-USE_JAVA= yes
-JAVA_VERSION= 1.4+
-JAVA_OS= native
-
-.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
-WITHOUT_CAIRO= yes
-.else
-DISTNAME= swt-${PORTVERSION}-gtk-linux-x86
-.endif
-
-.if !defined(WITHOUT_MOZILLA)
-USE_GECKO= firefox mozilla seamonkey xulrunner
-.include "${PORTSDIR}/www/mozilla/bsd.gecko.mk"
-PLIST_FILES+= lib/libswt-mozilla-gtk-%%BUILD%%.so
-MAKE_MOZILLA= make_mozilla
-BROWSER= ${GECKO}
-MAKE_ENV+= GECKO_CONFIG="${GECKO_CONFIG}"
-.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
-
-MAKE_ENV+= BROWSER="${BROWSER}" \
- JAVA_HOME="${JAVA_HOME}" \
- MAKE_GNOME=${MAKE_GNOME} \
- MAKE_MOZILLA=${MAKE_MOZILLA} \
- MAKE_CAIRO=${MAKE_CAIRO} \
- MACHINE_ARCH=${MACHINE_ARCH} \
- CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include"
-
-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
- @${REINPLACE_CMD} -E \
- -e 's|%%CC%%|${CC}|' \
- -e 's|%%CXX%%|${CXX}|' \
- ${WRKSRC}/build.sh
-
-do-build:
- @(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SH} build.sh)
-
-do-install:
- ${MKDIR} ${JAVAJARDIR}
- ${INSTALL_DATA} ${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
deleted file mode 100644
index 77cf530bf6cd..000000000000
--- a/x11-toolkits/swt31/distinfo
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 (swt-3.1.1-gtk-linux-x86_64.zip) = 32569ed25c68a2d71cd191a9c3ef46c2
-SHA256 (swt-3.1.1-gtk-linux-x86_64.zip) = 3821fb83054238da8637a51b47ac8d9d287b88964c0bf1b2ca6b208fbc4971ca
-SIZE (swt-3.1.1-gtk-linux-x86_64.zip) = 2714829
-MD5 (swt-3.1.1-gtk-linux-x86.zip) = 23dfe5a4a566439c5f526d9ea3b3db1c
-SHA256 (swt-3.1.1-gtk-linux-x86.zip) = ebe6df227bd72e1a028db72205c1ece0995d5f49746e4590ee1f8892fc1eb361
-SIZE (swt-3.1.1-gtk-linux-x86.zip) = 2655822
diff --git a/x11-toolkits/swt31/files/manualpatch-cairo b/x11-toolkits/swt31/files/manualpatch-cairo
deleted file mode 100644
index b36c760e9516..000000000000
--- a/x11-toolkits/swt31/files/manualpatch-cairo
+++ /dev/null
@@ -1,2432 +0,0 @@
-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
deleted file mode 100644
index 2a9b1860949e..000000000000
--- a/x11-toolkits/swt31/files/patch-build.sh
+++ /dev/null
@@ -1,44 +0,0 @@
---- build.sh.orig Wed May 4 19:45:04 2005
-+++ build.sh Sat Sep 30 20:54:52 2006
-@@ -100,6 +100,32 @@
- ;;
- esac
- ;;
-+ "FreeBSD")
-+ CC=%%CC%%
-+ CXX=%%CXX%%
-+ LD=%%CC%%
-+ XTEST_LIB_PATH=$LOCALBASE/lib
-+ GECKO_INCLUDES="`${GECKO_CONFIG} --cflags gtkmozembed` -I${LOCALBASE}/include/nspr"
-+ GECKO_LIBS="`${GECKO_CONFIG} --libs gtkmozembed` -L${LOCALBASE}/lib"
-+ 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
-@@ -126,6 +152,6 @@
- ;;
- esac
-
--export CC LD JAVA_HOME AWT_LIB_PATH XTEST_LIB_PATH GECKO_SDK GECKO_INCLUDES GECKO_LIBS SWT_PTR_CFLAGS CDE_HOME OUTPUT_DIR
-+export CC CXX 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
deleted file mode 100644
index bb76702289ed..000000000000
--- a/x11-toolkits/swt31/files/patch-make_freebsd.mak
+++ /dev/null
@@ -1,64 +0,0 @@
---- make_freebsd.mak.orig Wed Jan 4 08:43:21 2006
-+++ make_freebsd.mak Wed Jan 4 08:44:07 2006
-@@ -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,32 +61,34 @@
- -fPIC \
- -I./ \
- -I$(JAVA_HOME)/include \
-- -I$(JAVA_HOME)/include/linux \
-+ -I$(JAVA_HOME)/include/freebsd \
- ${GECKO_INCLUDES} \
-- ${SWT_PTR_CFLAGS}
-+ ${SWT_PTR_CFLAGS} \
-+ $(CFLAGS)
-
- MOZILLALIBS = -shared -s -Wl,--version-script=mozilla_exports -Bsymbolic ${GECKO_LIBS}
-
- 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
-
--CFLAGS = -O -Wall \
-+CFLAGS += -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$(LOCALBASE)/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 +125,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
deleted file mode 100644
index d0260cdfa93a..000000000000
--- a/x11-toolkits/swt31/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-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/