summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2005-08-15 20:22:56 +0000
committerSilenio Quarti <silenio>2005-08-15 20:22:56 +0000
commit8bf6ae724d4bbb71c45dccd8097879e4dd072f5d (patch)
tree20e9d79ae4c403c9eed54bddb315420f3e344dc2
parent3f9160ca2b906ecffd5cd37673acf6bebed0ae42 (diff)
downloadeclipse.platform.swt-8bf6ae724d4bbb71c45dccd8097879e4dd072f5d.tar.gz
eclipse.platform.swt-8bf6ae724d4bbb71c45dccd8097879e4dd072f5d.tar.xz
eclipse.platform.swt-8bf6ae724d4bbb71c45dccd8097879e4dd072f5d.zip
106759 - porting to cairo 0.9.2
-rw-r--r--bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.cairo.Cairo.properties30
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c102
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c12
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h8
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java60
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java2
7 files changed, 199 insertions, 33 deletions
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.cairo.Cairo.properties b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.cairo.Cairo.properties
index 7fb8bbc94c..b81bf47ad9 100644
--- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.cairo.Cairo.properties
+++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/org.eclipse.swt.internal.cairo.Cairo.properties
@@ -91,6 +91,21 @@ Cairo_cairo_font_extents_1=
Cairo_cairo_font_extents_t_sizeof=
+Cairo_cairo_font_options_create=
+
+Cairo_cairo_font_options_destroy=
+Cairo_cairo_font_options_destroy_0=cast=cairo_font_options_t *
+
+Cairo_cairo_font_options_get_antialias=
+Cairo_cairo_font_options_get_antialias_0=cast=cairo_font_options_t *
+
+Cairo_cairo_font_options_set_antialias=
+Cairo_cairo_font_options_set_antialias_0=cast=cairo_font_options_t *
+Cairo_cairo_font_options_set_antialias_1=
+
+Cairo_cairo_get_antialias=
+Cairo_cairo_get_antialias_0=cast=(cairo_t *)
+
Cairo_cairo_get_current_point=
Cairo_cairo_get_current_point_0=cast=(cairo_t *)
Cairo_cairo_get_current_point_1=
@@ -106,6 +121,10 @@ Cairo_cairo_get_font_matrix=
Cairo_cairo_get_font_matrix_0=cast=(cairo_t *)
Cairo_cairo_get_font_matrix_1=cast=cairo_matrix_t *
+Cairo_cairo_get_font_options=
+Cairo_cairo_get_font_options_0=cast=cairo_t *
+Cairo_cairo_get_font_options_1=cast=cairo_font_options_t *
+
Cairo_cairo_get_line_cap=
Cairo_cairo_get_line_cap_0=cast=(cairo_t *)
@@ -384,6 +403,10 @@ Cairo_cairo_select_font_face_1=
Cairo_cairo_select_font_face_2=
Cairo_cairo_select_font_face_3=
+Cairo_cairo_set_antialias=
+Cairo_cairo_set_antialias_0=cast=(cairo_t *)
+Cairo_cairo_set_antialias_1=
+
Cairo_cairo_set_dash=
Cairo_cairo_set_dash_0=cast=(cairo_t *)
Cairo_cairo_set_dash_1=
@@ -402,6 +425,10 @@ Cairo_cairo_set_font_matrix=
Cairo_cairo_set_font_matrix_0=cast=(cairo_t *)
Cairo_cairo_set_font_matrix_1=cast=cairo_matrix_t *
+Cairo_cairo_set_font_options=
+Cairo_cairo_set_font_options_0=cast=cairo_t *
+Cairo_cairo_set_font_options_1=cast=cairo_font_options_t *
+
Cairo_cairo_set_font_size=
Cairo_cairo_set_font_size_0=cast=(cairo_t *)
Cairo_cairo_set_font_size_1=
@@ -556,8 +583,9 @@ Cairo_cairo_xlib_surface_create_4=
Cairo_cairo_xlib_surface_create_for_bitmap=
Cairo_cairo_xlib_surface_create_for_bitmap_0=cast=(Display *)
Cairo_cairo_xlib_surface_create_for_bitmap_1=cast=Pixmap
-Cairo_cairo_xlib_surface_create_for_bitmap_2=
+Cairo_cairo_xlib_surface_create_for_bitmap_2=cast=(Screen *
Cairo_cairo_xlib_surface_create_for_bitmap_3=
+Cairo_cairo_xlib_surface_create_for_bitmap_4=
Cairo_cairo_xlib_surface_set_size=
Cairo_cairo_xlib_surface_set_size_0=cast=cairo_surface_t *
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c
index 34be0f1c18..f6e6dabdde 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo.c
@@ -254,6 +254,62 @@ JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1extents_1t_1sizeof)
}
#endif
+#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_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_1font_1options_1destroy
+JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1font_1options_1destroy)
+ (JNIEnv *env, jclass that, jint arg0)
+{
+ 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_1font_1options_1get_1antialias
+JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1font_1options_1get_1antialias)
+ (JNIEnv *env, jclass that, jint arg0)
+{
+ 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_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_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_1get_1current_1point
JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1get_1current_1point)
(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
@@ -309,6 +365,16 @@ fail:
}
#endif
+#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_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_1get_1line_1cap
JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1get_1line_1cap)
(JNIEnv *env, jclass that, jint arg0)
@@ -972,12 +1038,14 @@ JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1rectangle)
#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
@@ -1075,6 +1143,16 @@ fail:
}
#endif
+#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_1antialias_FUNC);
+ cairo_set_antialias((cairo_t *)arg0, arg1);
+ Cairo_NATIVE_EXIT(env, that, cairo_1set_1antialias_FUNC);
+}
+#endif
+
#ifndef NO_cairo_1set_1dash
JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1set_1dash)
(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jint arg2, jdouble arg3)
@@ -1123,6 +1201,16 @@ fail:
}
#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)
@@ -1371,14 +1459,12 @@ JNIEXPORT void JNICALL Cairo_NATIVE(cairo_1surface_1destroy)
#endif
#ifndef NO_cairo_1surface_1finish
-JNIEXPORT jint JNICALL Cairo_NATIVE(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_1finish_FUNC);
- rc = (jint)cairo_surface_finish((cairo_surface_t *)arg0);
+ cairo_surface_finish((cairo_surface_t *)arg0);
Cairo_NATIVE_EXIT(env, that, cairo_1surface_1finish_FUNC);
- return rc;
}
#endif
@@ -1526,11 +1612,11 @@ JNIEXPORT jint JNICALL Cairo_NATIVE(cairo_1xlib_1surface_1create)
#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)
+ (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, arg2, arg3);
+ 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;
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c
index f05964cbf6..478bf180b2 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.c
@@ -24,8 +24,8 @@
#ifdef NATIVE_STATS
-int Cairo_nativeFunctionCount = 130;
-int Cairo_nativeFunctionCallCount[130];
+int Cairo_nativeFunctionCount = 138;
+int Cairo_nativeFunctionCallCount[138];
char * Cairo_nativeFunctionNames[] = {
"cairo_1append_1path",
"cairo_1arc",
@@ -46,10 +46,16 @@ char * Cairo_nativeFunctionNames[] = {
"cairo_1fill_1preserve",
"cairo_1font_1extents",
"cairo_1font_1extents_1t_1sizeof",
+ "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",
@@ -114,10 +120,12 @@ char * Cairo_nativeFunctionNames[] = {
"cairo_1save",
"cairo_1scale",
"cairo_1select_1font_1face",
+ "cairo_1set_1antialias",
"cairo_1set_1dash",
"cairo_1set_1fill_1rule",
"cairo_1set_1font_1face",
"cairo_1set_1font_1matrix",
+ "cairo_1set_1font_1options",
"cairo_1set_1font_1size",
"cairo_1set_1line_1cap",
"cairo_1set_1line_1join",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h
index 3c06593163..853ca38601 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_stats.h
@@ -50,10 +50,16 @@ typedef enum {
cairo_1fill_1preserve_FUNC,
cairo_1font_1extents_FUNC,
cairo_1font_1extents_1t_1sizeof_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,
@@ -118,10 +124,12 @@ typedef enum {
cairo_1save_FUNC,
cairo_1scale_FUNC,
cairo_1select_1font_1face_FUNC,
+ cairo_1set_1antialias_FUNC,
cairo_1set_1dash_FUNC,
cairo_1set_1fill_1rule_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,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java
index 50fedb76ff..41842061e3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/org/eclipse/swt/internal/cairo/Cairo.java
@@ -28,6 +28,10 @@ public class Cairo {
}
/** 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;
@@ -88,7 +92,7 @@ public static final synchronized native int cairo_path_t_sizeof ();
/** Natives */
public static final synchronized native int /*long*/ cairo_create (int /*long*/ target);
-public static final synchronized native void cairo_reference (int /*long*/ cr);
+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);
@@ -98,6 +102,7 @@ public static final synchronized native void cairo_set_source_rgba(int /*long*/
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);
@@ -143,6 +148,12 @@ public static final synchronized native void cairo_fill_extents (int /*long*/ cr
public static final synchronized native void cairo_clip (int /*long*/ cr);
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);
@@ -160,6 +171,7 @@ 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);
@@ -180,7 +192,7 @@ public static final synchronized native int cairo_image_surface_get_height (int
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_finish (int /*long*/ surface);
+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);
@@ -210,7 +222,7 @@ public static final synchronized native void cairo_matrix_multiply (double[] res
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 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);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java
index 81ef943df4..1d681e0162 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java
@@ -1776,8 +1776,15 @@ public int getAlpha() {
*/
public int getAntialias() {
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
- if (data.cairo != 0) return SWT.ON;
- return data.antialias;
+ if (data.cairo == 0) return SWT.DEFAULT;
+ int antialias = Cairo.cairo_get_antialias(data.cairo);
+ switch (antialias) {
+ case Cairo.CAIRO_ANTIALIAS_DEFAULT: return SWT.DEFAULT;
+ case Cairo.CAIRO_ANTIALIAS_NONE: return SWT.OFF;
+ case Cairo.CAIRO_ANTIALIAS_GRAY:
+ case Cairo.CAIRO_ANTIALIAS_SUBPIXEL: return SWT.ON;
+ }
+ return SWT.DEFAULT;
}
/**
@@ -2177,7 +2184,18 @@ public int getStyle () {
*/
public int getTextAntialias() {
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
- return data.textAntialias;
+ if (data.cairo == 0) return SWT.DEFAULT;
+ int /*long*/ options = Cairo.cairo_font_options_create();
+ Cairo.cairo_get_font_options(data.cairo, options);
+ int antialias = Cairo.cairo_font_options_get_antialias(options);
+ Cairo.cairo_font_options_destroy(options);
+ switch (antialias) {
+ case Cairo.CAIRO_ANTIALIAS_DEFAULT: return SWT.DEFAULT;
+ case Cairo.CAIRO_ANTIALIAS_NONE: return SWT.OFF;
+ case Cairo.CAIRO_ANTIALIAS_GRAY:
+ case Cairo.CAIRO_ANTIALIAS_SUBPIXEL: return SWT.ON;
+ }
+ return SWT.DEFAULT;
}
/**
@@ -2439,7 +2457,7 @@ public void setAdvanced(boolean advanced) {
if (cairo != 0) Cairo.cairo_destroy(cairo);
data.cairo = 0;
data.matrix = data.inverseMatrix = null;
- data.antialias = data.textAntialias = data.interpolation = SWT.DEFAULT;
+ data.interpolation = SWT.DEFAULT;
data.backgroundPattern = data.foregroundPattern = null;
setClipping(0);
}
@@ -2496,16 +2514,18 @@ public void setAlpha(int alpha) {
public void setAntialias(int antialias) {
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
if (data.cairo == 0 && antialias == SWT.DEFAULT) return;
+ int mode = 0;
switch (antialias) {
- case SWT.DEFAULT: break;
- case SWT.OFF: break;
- case SWT.ON:
- initCairo();
+ case SWT.DEFAULT: mode = Cairo.CAIRO_ANTIALIAS_DEFAULT; break;
+ case SWT.OFF: mode = Cairo.CAIRO_ANTIALIAS_NONE; break;
+ case SWT.ON: mode = Cairo.CAIRO_ANTIALIAS_GRAY;
break;
default:
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
}
- data.antialias = antialias;
+ initCairo();
+ int /*long*/ cairo = data.cairo;
+ Cairo.cairo_set_antialias(cairo, mode);
}
/**
@@ -3212,14 +3232,20 @@ void setString(String string, int flags) {
public void setTextAntialias(int antialias) {
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
if (data.cairo == 0 && antialias == SWT.DEFAULT) return;
- switch (antialias) {
- case SWT.DEFAULT: break;
- case SWT.OFF: break;
- case SWT.ON: break;
- default:
- SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- }
- data.textAntialias = antialias;
+ int mode = 0;
+ switch (antialias) {
+ case SWT.DEFAULT: mode = Cairo.CAIRO_ANTIALIAS_DEFAULT; break;
+ case SWT.OFF: mode = Cairo.CAIRO_ANTIALIAS_NONE; break;
+ case SWT.ON: mode = Cairo.CAIRO_ANTIALIAS_GRAY;
+ break;
+ default:
+ SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ }
+ initCairo();
+ int /*long*/ options = Cairo.cairo_font_options_create();
+ Cairo.cairo_font_options_set_antialias(options, mode);
+ Cairo.cairo_set_font_options(data.cairo, options);
+ Cairo.cairo_font_options_destroy(options);
}
/**
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java
index 542756f087..3663468726 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java
@@ -42,8 +42,6 @@ public final class GCData {
public int[] dashes;
public boolean xorMode;
public int alpha = 0xFF;
- public int antialias = SWT.DEFAULT;
- public int textAntialias = SWT.DEFAULT;
public int interpolation = SWT.DEFAULT;
public int /*long*/ cairo;