File eclipse-libswt-cairo1.0-2.patch of Package eclipse

--- cairo/library/cairo.c	2005-10-02 00:08:17.000000000 +0200
+++ cairo/library/cairo.c	2005-10-02 00:10:44.000000000 +0200
@@ -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
+
--- cairo/library/cairo.h	2005-10-02 00:08:17.000000000 +0200
+++ cairo/library/cairo.h	2005-10-02 00:10:44.000000000 +0200
@@ -24,5 +24,6 @@
 
 #include <cairo.h>
 #include <cairo-xlib.h>
+#include <string.h>
 
 #endif /* INC_cairo_H */
--- cairo/library/cairo_stats.c	2005-10-02 00:08:17.000000000 +0200
+++ cairo/library/cairo_stats.c	2005-10-02 00:10:44.000000000 +0200
@@ -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
--- cairo/library/cairo_stats.h	2005-10-02 00:08:17.000000000 +0200
+++ cairo/library/cairo_stats.h	2005-10-02 00:10:45.000000000 +0200
@@ -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;
--- cairo/library/cairo_structs.c	2005-10-02 00:08:17.000000000 +0200
+++ cairo/library/cairo_structs.c	2005-10-02 00:10:45.000000000 +0200
@@ -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
+
--- cairo/library/cairo_structs.h	2005-10-02 00:08:17.000000000 +0200
+++ cairo/library/cairo_structs.h	2005-10-02 00:10:45.000000000 +0200
@@ -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
+
--- cairo/org/eclipse/swt/internal/cairo/Cairo.java	2005-10-02 00:08:17.000000000 +0200
+++ cairo/org/eclipse/swt/internal/cairo/Cairo.java	2005-10-02 00:10:45.000000000 +0200
@@ -28,6 +28,10 @@
 	}
 
 	/** Constants */
+	public static final int CAIRO_ANTIALIAS_DEFAULT = 0;
+	public static final int CAIRO_ANTIALIAS_NONE = 1;
+	public static final int CAIRO_ANTIALIAS_GRAY = 2;
+	public static final int CAIRO_ANTIALIAS_SUBPIXEL = 3;
 	public static final int CAIRO_FORMAT_ARGB32 = 0;
 	public static final int CAIRO_FORMAT_RGB24 = 1;
 	public static final int CAIRO_FORMAT_A8 = 2;
@@ -76,30 +80,29 @@
 	public static final int CAIRO_EXTEND_NONE = 0;
 	public static final int CAIRO_EXTEND_REPEAT = 1;
 	public static final int CAIRO_EXTEND_REFLECT = 2;
+	public static final int CAIRO_PATH_MOVE_TO = 0;
+	public static final int CAIRO_PATH_LINE_TO = 1;
+	public static final int CAIRO_PATH_CURVE_TO = 2;
+	public static final int CAIRO_PATH_CLOSE_PATH = 3;
 	
 /** 64*/
 public static final synchronized native int cairo_font_extents_t_sizeof ();
+public static final synchronized native int cairo_path_data_t_sizeof ();
+public static final synchronized native int cairo_path_t_sizeof ();
 	
-/** Custom natives */ 
-public static final synchronized native void cairo_add_path (int /*long*/ cr1, int /*long*/ cr2);
-public static final synchronized native void cairo_extents (int /*long*/ cr, double[] extents);
-public static final synchronized native void cairo_points (int /*long*/ cr, int[] n_types, int[] n_points, byte[] types, float[] points);
-
 /** Natives */
-public static final synchronized native int /*long*/ cairo_create ();
-public static final synchronized native void cairo_reference (int /*long*/ cr);
+public static final synchronized native int /*long*/ cairo_create (int /*long*/ target);
+public static final synchronized native int /*long*/ cairo_reference (int /*long*/ cr);
 public static final synchronized native void cairo_destroy (int /*long*/ cr);
 public static final synchronized native void cairo_save (int /*long*/ cr);
 public static final synchronized native void cairo_restore (int /*long*/ cr);
-public static final synchronized native void cairo_copy (int /*long*/ dest, int /*long*/ src);
-public static final synchronized native void cairo_set_target_surface (int /*long*/ cr, int /*long*/ surface);
-public static final synchronized native void cairo_set_target_image (int /*long*/ cr, int /*long*/ data, int format, int width, int height, int stride);
-public static final synchronized native void cairo_set_target_drawable (int /*long*/ cr, int /*long*/ dpy, int /*long*/ drawable);
 public static final synchronized native void cairo_set_operator (int /*long*/ cr, int op);
-public static final synchronized native void cairo_set_rgb_color (int /*long*/ cr, double red, double green, double blue);
-public static final synchronized native void cairo_set_pattern (int /*long*/ cr, int /*long*/ pattern);
-public static final synchronized native void cairo_set_alpha (int /*long*/ cr, double alpha);
+public static final synchronized native void cairo_set_source_rgb(int /*long*/ cr, double red, double green, double blue);
+public static final synchronized native void cairo_set_source_rgba(int /*long*/ cr, double red, double green, double blue, double alpha);
+public static final synchronized native void cairo_set_source(int /*long*/ cr, int /*long*/ source);
+public static final synchronized native void cairo_set_source_surface(int /*long*/ cr, int /*long*/ surface, double x, double y);
 public static final synchronized native void cairo_set_tolerance (int /*long*/ cr, double tolerance);
+public static final synchronized native void cairo_set_antialias (int /*long*/ cr, int antialias);
 public static final synchronized native void cairo_set_fill_rule (int /*long*/ cr, int fill_rule);
 public static final synchronized native void cairo_set_line_width (int /*long*/ cr, double width);
 public static final synchronized native void cairo_set_line_cap (int /*long*/ cr, int line_cap);
@@ -109,14 +112,13 @@
 public static final synchronized native void cairo_translate (int /*long*/ cr, double tx, double ty);
 public static final synchronized native void cairo_scale (int /*long*/ cr, double sx, double sy);
 public static final synchronized native void cairo_rotate (int /*long*/ cr, double angle);
-public static final synchronized native void cairo_concat_matrix (int /*long*/ cr, int /*long*/ matrix);
-public static final synchronized native void cairo_set_matrix (int /*long*/ cr, int /*long*/ matrix);
-public static final synchronized native void cairo_default_matrix (int /*long*/ cr);
+public static final synchronized native void cairo_transform (int /*long*/ cr, double[] matrix);
+public static final synchronized native void cairo_set_matrix (int /*long*/ cr, double[] matrix);
 public static final synchronized native void cairo_identity_matrix (int /*long*/ cr);
-public static final synchronized native void cairo_transform_point (int /*long*/ cr, double[] x, double[] y);
-public static final synchronized native void cairo_transform_distance (int /*long*/ cr, double[] dx, double[] dy);
-public static final synchronized native void cairo_inverse_transform_point (int /*long*/ cr, double[] x, double[] y);
-public static final synchronized native void cairo_inverse_transform_distance (int /*long*/ cr, double[] dx, double[] dy);
+public static final synchronized native void cairo_user_to_device (int /*long*/ cr, double[] x, double[] y);
+public static final synchronized native void cairo_user_to_device_distance (int /*long*/ cr, double[] dx, double[] dy);
+public static final synchronized native void cairo_device_to_user (int /*long*/ cr, double[] x, double[] y);
+public static final synchronized native void cairo_device_to_user_distance (int /*long*/ cr, double[] dx, double[] dy);
 public static final synchronized native void cairo_new_path (int /*long*/ cr);
 public static final synchronized native void cairo_move_to (int /*long*/ cr, double x, double y);
 public static final synchronized native void cairo_line_to (int /*long*/ cr, double x, double y);
@@ -129,84 +131,101 @@
 public static final synchronized native void cairo_rel_curve_to (int /*long*/ cr, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3);
 public static final synchronized native void cairo_rectangle (int /*long*/ cr, double x, double y, double width, double height);
 public static final synchronized native void cairo_close_path (int /*long*/ cr);
+public static final synchronized native void cairo_paint (int /*long*/ cr);
+public static final synchronized native void cairo_paint_with_alpha (int /*long*/ cr, double alpha);
+public static final synchronized native void cairo_mask (int /*long*/ cr, int /*long*/ pattern);
+public static final synchronized native void cairo_mask_surface (int /*long*/ cr, int /*long*/ surface, double surface_x, double surface_y);
 public static final synchronized native void cairo_stroke (int /*long*/ cr);
+public static final synchronized native void cairo_stroke_preserve (int /*long*/ cr);
 public static final synchronized native void cairo_fill (int /*long*/ cr);
+public static final synchronized native void cairo_fill_preserve (int /*long*/ cr);
 public static final synchronized native void cairo_copy_page (int /*long*/ cr);
 public static final synchronized native void cairo_show_page (int /*long*/ cr);
 public static final synchronized native int cairo_in_stroke (int /*long*/ cr, double x, double y);
 public static final synchronized native int cairo_in_fill (int /*long*/ cr, double x, double y);
 public static final synchronized native void cairo_stroke_extents (int /*long*/ cr, double[] x1, double[] y1, double[] x2, double[] y2);
 public static final synchronized native void cairo_fill_extents (int /*long*/ cr, double[] x1, double[] y1, double[] x2, double[] y2);
-public static final synchronized native void cairo_init_clip (int /*long*/ cr);
 public static final synchronized native void cairo_clip (int /*long*/ cr);
-public static final synchronized native void cairo_select_font (int /*long*/ cr, byte[] family, int slant, int weight);
-public static final synchronized native void cairo_scale_font (int /*long*/ cr, double scale);
-public static final synchronized native void cairo_transform_font (int /*long*/ cr, int /*long*/ matrix);
-public static final synchronized native void cairo_show_text (int /*long*/ ct, byte[] utf8);
-public static final synchronized native void cairo_show_glyphs (int /*long*/ ct, int /*long*/ glyphs, int num_glyphs);
-public static final synchronized native int /*long*/ cairo_current_font (int /*long*/ ct);
-public static final synchronized native void cairo_current_font_extents (int /*long*/ ct, cairo_font_extents_t extents);
-public static final synchronized native void cairo_set_font (int /*long*/ ct, int /*long*/ font);
-public static final synchronized native void cairo_text_extents (int /*long*/ ct, byte[] utf8, int /*long*/ extents);
-public static final synchronized native void cairo_glyph_extents (int /*long*/ ct, int /*long*/ glyphs, int num_glyphs, int /*long*/ extents);
-public static final synchronized native void cairo_text_path  (int /*long*/ ct, byte[] utf8);
-public static final synchronized native void cairo_glyph_path (int /*long*/ ct, int /*long*/ glyphs, int num_glyphs);
-public static final synchronized native void cairo_font_reference (int /*long*/ font);
-public static final synchronized native void cairo_font_destroy (int /*long*/ font);
-public static final synchronized native void cairo_show_surface (int /*long*/ cr, int /*long*/ surface, int width, int height);
-public static final synchronized native int /*long*/ cairo_current_operator (int /*long*/ cr);
-public static final synchronized native void cairo_current_rgb_color (int /*long*/ cr, double[] red, double[] green, double[] blue);
-public static final synchronized native int /*long*/ cairo_current_pattern (int /*long*/ cr);
-public static final synchronized native	double cairo_current_alpha (int /*long*/ cr);
-public static final synchronized native double cairo_current_tolerance (int /*long*/ cr);
-public static final synchronized native void cairo_current_point (int /*long*/ cr, double[] x, double[] y);
-public static final synchronized native int cairo_current_fill_rule (int /*long*/ cr);
-public static final synchronized native double cairo_current_line_width (int /*long*/ cr);
-public static final synchronized native int cairo_current_line_cap (int /*long*/ cr);
-public static final synchronized native int cairo_current_line_join (int /*long*/ cr);
-public static final synchronized native double cairo_current_miter_limit (int /*long*/ cr);
-public static final synchronized native void cairo_current_matrix (int /*long*/ cr, int /*long*/ matrix);
-public static final synchronized native int /*long*/ cairo_current_target_surface (int /*long*/ cr);
-public static final synchronized native void cairo_current_path (int /*long*/ cr, int /*long*/ move_to, int /*long*/ line_to, int /*long*/ curve_to, int /*long*/ close_path,int /*long*/ closure);
-public static final synchronized native void cairo_current_path_flat (int /*long*/ cr, int /*long*/ move_to, int /*long*/ line_to, int /*long*/ close_path, int /*long*/ closure);
+public static final synchronized native void cairo_clip_preserve (int /*long*/ cr);
+public static final synchronized native void cairo_reset_clip (int /*long*/ cr);
+public static final synchronized native int /*long*/ cairo_font_options_create ();
+public static final synchronized native void cairo_font_options_destroy (int /*long*/ options);
+public static final synchronized native void cairo_font_options_set_antialias (int /*long*/ options, int antialias);
+public static final synchronized native int  cairo_font_options_get_antialias (int /*long*/ options);
+public static final synchronized native void cairo_set_font_options (int /*long*/ cr, int /*long*/ options);
+public static final synchronized native void cairo_get_font_options (int /*long*/ cr, int /*long*/ options);
+public static final synchronized native void cairo_select_font_face (int /*long*/ cr, byte[] family, int slant, int weight);
+public static final synchronized native void cairo_set_font_size (int /*long*/ cr, double size);
+public static final synchronized native void cairo_set_font_matrix (int /*long*/ cr, double[] matrix);
+public static final synchronized native void cairo_get_font_matrix (int /*long*/ cr, double[] matrix);
+public static final synchronized native void cairo_show_text (int /*long*/ cr, byte[] utf8);
+public static final synchronized native void cairo_show_glyphs (int /*long*/ cr, int /*long*/ glyphs, int num_glyphs);
+public static final synchronized native int /*long*/ cairo_get_font_face (int /*long*/ cr);
+public static final synchronized native void cairo_font_extents (int /*long*/ cr, cairo_font_extents_t extents);
+public static final synchronized native void cairo_set_font_face (int /*long*/ cr, int /*long*/ font_face);
+public static final synchronized native void cairo_text_extents (int /*long*/ cr, byte[] utf8, int /*long*/ extents);
+public static final synchronized native void cairo_glyph_extents (int /*long*/ cr, int /*long*/ glyphs, int num_glyphs, int /*long*/ extents);
+public static final synchronized native void cairo_text_path (int /*long*/ cr, byte[] utf8);
+public static final synchronized native void cairo_glyph_path (int /*long*/ cr, int /*long*/ glyphs, int num_glyphs);
+public static final synchronized native int cairo_get_operator (int /*long*/ cr);
+public static final synchronized native int /*long*/ cairo_get_source (int /*long*/ cr);
+public static final synchronized native double cairo_get_tolerance (int /*long*/ cr);
+public static final synchronized native void cairo_get_current_point (int /*long*/ cr, double[] x, double[] y);
+public static final synchronized native int cairo_get_antialias (int /*long*/ cr);
+public static final synchronized native int cairo_get_fill_rule (int /*long*/ cr);
+public static final synchronized native double cairo_get_line_width (int /*long*/ cr);
+public static final synchronized native int cairo_get_line_cap (int /*long*/ cr);
+public static final synchronized native int cairo_get_line_join (int /*long*/ cr);
+public static final synchronized native double cairo_get_miter_limit (int /*long*/ cr);
+public static final synchronized native void cairo_get_matrix (int /*long*/ cr, double[] matrix);
+public static final synchronized native int /*long*/ cairo_get_target (int /*long*/ cr);
+public static final synchronized native int /*long*/ cairo_copy_path (int /*long*/ cr);
+public static final synchronized native int /*long*/ cairo_copy_path_flat (int /*long*/ cr);
+public static final synchronized native void cairo_append_path (int /*long*/ cr, int /*long*/ path);
+public static final synchronized native void cairo_path_destroy (int /*long*/ path);
 public static final synchronized native int cairo_status (int /*long*/ cr);
-public static final synchronized native int /*long*/ cairo_status_string (int /*long*/ cr);
-public static final synchronized native int /*long*/ cairo_surface_create_for_image (int /*long*/ data, int format, int width, int height, int stride);
+public static final synchronized native int /*long*/ cairo_status_to_string (int status);
+public static final synchronized native int /*long*/ cairo_image_surface_create (int format, int width, int height);
+public static final synchronized native int /*long*/ cairo_image_surface_create_for_data (int /*long*/ data, int format, int width, int height, int stride);
+public static final synchronized native int cairo_image_surface_get_width (int /*long*/ surface);
+public static final synchronized native int cairo_image_surface_get_height (int /*long*/ surface);
 public static final synchronized native int /*long*/ cairo_surface_create_similar (int /*long*/ other, int format, int width, int height);
 public static final synchronized native void cairo_surface_reference (int /*long*/ surface);
 public static final synchronized native void cairo_surface_destroy (int /*long*/ surface);
-public static final synchronized native int cairo_surface_set_repeat (int /*long*/ surface, int repeat);
-public static final synchronized native int cairo_surface_set_matrix (int /*long*/ surface, int /*long*/ matrix);
-public static final synchronized native int cairo_surface_get_matrix (int /*long*/ surface, int /*long*/ matrix);
-public static final synchronized native int cairo_surface_set_filter (int /*long*/ surface, int filter);
-public static final synchronized native int cairo_surface_get_filter (int /*long*/ surface);
-public static final synchronized native int /*long*/ cairo_image_surface_create (int format, int width, int height);
-public static final synchronized native int /*long*/ cairo_image_surface_create_for_data (int /*long*/ data, int format, int width, int height, int stride);
+public static final synchronized native void cairo_surface_finish (int /*long*/ surface);
+public static final synchronized native int cairo_surface_set_user_data (int /*long*/ surface, int /*long*/ key, int /*long*/ user_data, int /*long*/ destroy);
+public static final synchronized native int /*long*/ cairo_surface_get_user_data (int /*long*/ surface, int /*long*/ key);
+public static final synchronized native void cairo_surface_set_device_offset (int /*long*/ surface, double x_offset, double y_offset);
 public static final synchronized native int /*long*/ cairo_pattern_create_for_surface (int /*long*/ surface);
 public static final synchronized native int /*long*/ cairo_pattern_create_linear (double x0, double y0, double x1, double y1);
 public static final synchronized native int /*long*/ cairo_pattern_create_radial (double cx0, double cy0, double radius0, double cx1, double cy1, double radius1);
 public static final synchronized native void cairo_pattern_reference (int /*long*/ pattern);
 public static final synchronized native void cairo_pattern_destroy (int /*long*/ pattern);
-public static final synchronized native int cairo_pattern_add_color_stop (int /*long*/ pattern, double offset, double red, double green, double blue, double alpha);
-public static final synchronized native int cairo_pattern_set_matrix (int /*long*/ pattern, int /*long*/ matrix);
-public static final synchronized native int cairo_pattern_get_matrix (int /*long*/ pattern, int /*long*/ matrix);
-public static final synchronized native int cairo_pattern_set_extend (int /*long*/ pattern, int extend);
+public static final synchronized native void cairo_pattern_add_color_stop_rgb (int /*long*/ pattern, double offset, double red, double green, double blue);
+public static final synchronized native void cairo_pattern_add_color_stop_rgba (int /*long*/ pattern, double offset, double red, double green, double blue, double alpha);
+public static final synchronized native void cairo_pattern_set_matrix (int /*long*/ pattern, double[] matrix);
+public static final synchronized native void cairo_pattern_get_matrix (int /*long*/ pattern, double[] matrix);
+public static final synchronized native void cairo_pattern_set_extend (int /*long*/ pattern, int extend);
 public static final synchronized native int cairo_pattern_get_extend (int /*long*/ pattern);
-public static final synchronized native int cairo_pattern_set_filter (int /*long*/ pattern, int filter);
+public static final synchronized native void cairo_pattern_set_filter (int /*long*/ pattern, int filter);
 public static final synchronized native int cairo_pattern_get_filter (int /*long*/ pattern);
-public static final synchronized native int /*long*/ cairo_xlib_surface_create (int /*long*/ dpy, int /*long*/ drawable, int /*long*/ visual, int format, int /*long*/ colormap);
-public static final synchronized native int /*long*/ cairo_matrix_create ();
-public static final synchronized native void cairo_matrix_destroy (int /*long*/ matrix);
-public static final synchronized native int cairo_matrix_copy (int /*long*/ matrix, int /*long*/ other);
-public static final synchronized native int cairo_matrix_set_identity (int /*long*/ matrix);
-public static final synchronized native int cairo_matrix_set_affine (int /*long*/ cr, double a, double b, double c, double d, double tx, double ty);
-public static final synchronized native int cairo_matrix_get_affine (int /*long*/ matrix, double[] a, double[] b, double[] c, double[] d, double[] tx, double[] ty);
-public static final synchronized native int cairo_matrix_translate (int /*long*/ matrix, double tx, double ty);
-public static final synchronized native int cairo_matrix_scale (int /*long*/ matrix, double sx, double sy);
-public static final synchronized native int cairo_matrix_rotate (int /*long*/ matrix, double radians);
-public static final synchronized native int cairo_matrix_invert (int /*long*/ matrix);
-public static final synchronized native int cairo_matrix_multiply (int /*long*/ result, int /*long*/ a, int /*long*/ b);
-public static final synchronized native int cairo_matrix_transform_distance (int /*long*/ matrix, double[] dx, double[] dy);
-public static final synchronized native int cairo_matrix_transform_point (int /*long*/ matrix, double[] x, double[] y);
+public static final synchronized native void cairo_matrix_init (double[] matrix, double xx, double yx, double xy, double yy, double x0, double y0);
+public static final synchronized native void cairo_matrix_init_identity (double[] matrix);
+public static final synchronized native void cairo_matrix_init_translate (double[] matrix, double tx, double ty);
+public static final synchronized native void cairo_matrix_init_scale (double[] matrix, double sx, double sy);
+public static final synchronized native void cairo_matrix_init_rotate (double[] matrix, double radians);
+public static final synchronized native void cairo_matrix_translate (double[] matrix, double tx, double ty);
+public static final synchronized native void cairo_matrix_scale (double[] matrix, double sx, double sy);
+public static final synchronized native void cairo_matrix_rotate (double[] matrix, double radians);
+public static final synchronized native int cairo_matrix_invert (double[] matrix);
+public static final synchronized native void cairo_matrix_multiply (double[] result, double[] a, double[] b);
+public static final synchronized native void cairo_matrix_transform_distance (double[] matrix, double[] dx, double[] dy);
+public static final synchronized native void cairo_matrix_transform_point (double[] matrix, double[] x, double[] y);
+public static final synchronized native int /*long*/ cairo_xlib_surface_create (int /*long*/ dpy, int /*long*/ drawable, int /*long*/ visual, int width, int height);
+public static final synchronized native int /*long*/ cairo_xlib_surface_create_for_bitmap (int /*long*/ dpy, int /*long*/ pixmap, int /*long*/ screen, int width, int height);
+public static final synchronized native void cairo_xlib_surface_set_size (int /*long*/ surface, int width, int height);
+public static final native void memmove(cairo_path_t dest, int /*long*/ src, int /*long*/ size);
+public static final native void memmove(cairo_path_data_t dest, int /*long*/ src, int /*long*/ size);
+public static final native void memmove(double[] dest, int /*long*/ src, int /*long*/ size);
 
 }
--- cairo/org/eclipse/swt/internal/cairo/cairo_path_data_t.java	1970-01-01 01:00:00.000000000 +0100
+++ cairo/org/eclipse/swt/internal/cairo/cairo_path_data_t.java	2005-10-02 00:10:45.000000000 +0200
@@ -0,0 +1,28 @@
+/* ***** 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 ***** */
+package org.eclipse.swt.internal.cairo;
+
+
+public class cairo_path_data_t {
+	public int type;
+	public int length;
+	public static final int sizeof = Cairo.cairo_path_data_t_sizeof();
+}
--- cairo/org/eclipse/swt/internal/cairo/cairo_path_t.java	1970-01-01 01:00:00.000000000 +0100
+++ cairo/org/eclipse/swt/internal/cairo/cairo_path_t.java	2005-10-02 00:10:45.000000000 +0200
@@ -0,0 +1,29 @@
+/* ***** 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 ***** */
+package org.eclipse.swt.internal.cairo;
+
+
+public class cairo_path_t {
+	public int status;
+	public int /*long*/ data;
+	public int num_data;
+	public static final int sizeof = Cairo.cairo_path_t_sizeof();
+}
--- gtk/library/make_linux.mak	2005-10-02 00:08:16.000000000 +0200
+++ gtk/library/make_linux.mak	2005-10-02 00:10:45.000000000 +0200
@@ -70,7 +70,7 @@
 SWT_OBJECTS = swt.o callback.o
 AWT_OBJECTS = swt_awt.o
 SWTPI_OBJECTS = swt.o os.o os_structs.o os_custom.o os_stats.o
-CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o cairo_custom.o
+CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o
 ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o
 GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o
 MOZILLA_OBJECTS = swt.o xpcom.o xpcom_custom.o xpcom_structs.o xpcom_stats.o
@@ -123,8 +123,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
openSUSE Build Service is sponsored by