[cairo-commit] cairo/doc/public cairo-sections.txt,1.29,1.30

Billy Biggs commit at pdx.freedesktop.org
Mon Aug 8 18:35:24 PDT 2005


/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/fontutil.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/fontutil.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/fontxlfd.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/fontxlfd.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/format.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/format.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/Imakefile
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/Makefile
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/Makefile.bak
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/miscutil.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/miscutil.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/patcache.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/patcache.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/private.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/private.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/utilbitmap.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/util/utilbitmap.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/CVS
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/CVS/Entries
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/CVS/Repository
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/CVS/Root
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/CVS/Tag
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/CVS/Template
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/Imakefile
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/Imakefile.inc
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/Makefile
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/Makefile.bak
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/CP1256toUCS2.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/CP1256toUCS2.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/CVS
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/CVS/Entries
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/CVS/Repository
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/CVS/Root
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/CVS/Tag
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/CVS/Template
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/Imakefile
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/IRANSYSTEMtoUCS2.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/IRANSYSTEMtoUCS2.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/ISIRI3342toUCS2.c
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/ISIRI3342toUCS2.o
/home/compromised/jg/build/XMonolithic/xc/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/XMonolithic/xc/lib/font/X-TrueType/ARABIC/module/libARABt    *target)
 {
     cairo_clip_path_t *clip_path;
@@ -265,6 +266,7 @@
     clip_path->ref_count = 1;
     clip_path->fill_rule = fill_rule;
     clip_path->tolerance = tolerance;
+    clip_path->antialias = antialias;
     clip_path->prev = clip->path;
     clip->path = clip_path;
     clip->serial = _cairo_surface_allocate_clip_serial (target);
@@ -339,9 +341,10 @@
 }
 
 static cairo_status_t
-_cairo_clip_intersect_mask (cairo_clip_t    *clip,
-			    cairo_traps_t   *traps,
-			    cairo_surface_t *target)
+_cairo_clip_intersect_mask (cairo_clip_t      *clip,
+			    cairo_traps_t     *traps,
+			    cairo_antialias_t antialias,
+			    cairo_surface_t   *target)
 {
     cairo_pattern_union_t pattern;
     cairo_box_t extents;
@@ -375,6 +378,7 @@
     status = _cairo_surface_composite_trapezoids (CAIRO_OPERATOR_IN,
 						  &pattern.base,
 						  surface,
+						  antialias,
 						  0, 0,
 						  0, 0,
 						  surface_rect.width,
@@ -429,6 +433,7 @@
 		  cairo_path_fixed_t *path,
 		  cairo_fill_rule_t   fill_rule,
 		  double              tolerance,
+		  cairo_antialias_t   antialias,
 		  cairo_surface_t    *target)
 {
     cairo_status_t status;
@@ -436,7 +441,7 @@
     
     status = _cairo_clip_intersect_path (clip,
 					 path, fill_rule, tolerance,
-					 target);
+					 antialias, target);
     if (status != CAIRO_INT_STATUS_UNSUPPORTED)
 	return status;
 
@@ -452,7 +457,7 @@
     if (status != CAIRO_INT_STATUS_UNSUPPORTED)
 	goto bail;
 
-    status = _cairo_clip_intersect_mask (clip, &traps, target);
+    status = _cairo_clip_intersect_mask (clip, &traps, antialias, target);
 	
  bail:
     _cairo_traps_fini (&traps);

Index: cairo-glitz-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-glitz-surface.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- cairo-glitz-surface.c	5 Aug 2005 01:44:29 -0000	1.55
+++ cairo-glitz-surface.c	9 Aug 2005 01:35:22 -0000	1.56
@@ -936,6 +936,7 @@
 _cairo_glitz_surface_composite_trapezoids (cairo_operator_t  op,
 					   cairo_pattern_t   *pattern,
 					   void		     *abstract_dst,
+					   cairo_antialias_t antialias,
 					   int		     src_x,
 					   int		     src_y,
 					   int		     dst_x,

Index: cairo-gstate-private.h
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-gstate-private.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- cairo-gstate-private.h	5 Aug 2005 05:45:59 -0000	1.15
+++ cairo-gstate-private.h	9 Aug 2005 01:35:22 -0000	1.16
@@ -42,6 +42,7 @@
     cairo_operator_t operator;
     
     double tolerance;
+    cairo_antialias_t antialias;
 
     /* stroke style */
     double line_width;

Index: cairo-gstate.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-gstate.c,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -d -r1.162 -r1.163
--- cairo-gstate.c	8 Aug 2005 21:13:50 -0000	1.162
+++ cairo-gstate.c	9 Aug 2005 01:35:22 -0000	1.163
@@ -92,6 +92,7 @@
     gstate->operator = CAIRO_GSTATE_OPERATOR_DEFAULT;
 
     gstate->tolerance = CAIRO_GSTATE_TOLERANCE_DEFAULT;
+    gstate->antialias = CAIRO_ANTIALIAS_DEFAULT;
 
     gstate->line_width = CAIRO_GSTATE_LINE_WIDTH_DEFAULT;
     gstate->line_cap = CAIRO_GSTATE_LINE_CAP_DEFAULT;
@@ -1234,6 +1235,11 @@
     return status;
 }
 
+typedef struct {
+    cairo_traps_t *traps;
+    cairo_antialias_t antialias;
+} cairo_composite_traps_info_t;
+
 static cairo_status_t
 _composite_traps_draw_func (void                    *closure,
 			    cairo_operator_t         operator,
@@ -1243,24 +1249,24 @@
 			    int                      dst_y,
 			    const cairo_rectangle_t *extents)
 {
-    cairo_traps_t *traps = closure;
+    cairo_composite_traps_info_t *info = closure;
     cairo_pattern_union_t pattern;
     cairo_status_t status;
     
     if (dst_x != 0 || dst_y != 0)
-	_cairo_traps_translate (traps, - dst_x, - dst_y);
+	_cairo_traps_translate (info->traps, - dst_x, - dst_y);
 
     _cairo_pattern_init_solid (&pattern.solid, CAIRO_COLOR_WHITE);
     if (!src)
 	src = &pattern.base;
     
     status = _cairo_surface_composite_trapezoids (operator,
-						  src, dst,
+						  src, dst, info->antialias,
 						  extents->x,         extents->y,
 						  extents->x - dst_x, extents->y - dst_y,
 						  extents->width,     extents->height,
-						  traps->traps,
-						  traps->num_traps);
+						  info->traps->traps,
+						  info->traps->num_traps);
     _cairo_pattern_fini (&pattern.base);
 
     return status;
@@ -1285,11 +1291,13 @@
 					      cairo_operator_t operator,
 					      cairo_surface_t *dst,
 					      cairo_traps_t *traps,
-					      cairo_clip_t *clip)
+					      cairo_clip_t *clip,
+					      cairo_antialias_t antialias)
 {
     cairo_status_t status;
     pixman_region16_t *trap_region;
     cairo_rectangle_t extents;
+    cairo_composite_traps_info_t traps_info;
     
     if (traps->num_traps == 0)
 	return CAIRO_STATUS_SUCCESS;
@@ -1350,10 +1358,12 @@
 	    goto out;
     }
 
+    traps_info.traps = traps;
+    traps_info.antialias = antialias;
+
     status = _cairo_gstate_clip_and_composite (clip, operator, src,
-					       _composite_traps_draw_func, traps,
-					       dst,
-					       &extents);
+					       _composite_traps_draw_func, &traps_info,
+					       dst, &extents);
 
  out:
     if (trap_region)
@@ -1376,7 +1386,8 @@
 							 gstate->operator,
 							 gstate->target,
 							 traps,
-							 &gstate->clip);
+							 &gstate->clip,
+							 gstate->antialias);
 
   _cairo_pattern_fini (&pattern.base);
 
@@ -1545,7 +1556,7 @@
 {
     return _cairo_clip_clip (&gstate->clip,
 			     path, gstate->fill_rule, gstate->tolerance,
-			     gstate->target);
+			     gstate->antialias, gstate->target);
 }
 
 static void
@@ -2005,3 +2016,19 @@
     free (transformed_glyphs);
     return status;
 }
+
+cairo_private cairo_status_t
+_cairo_gstate_set_antialias (cairo_gstate_t *gstate,
+			     cairo_antialias_t antialias)
+{
+    gstate->antialias = antialias;
+
+    return CAIRO_STATUS_SUCCESS;
+}
+
+cairo_private cairo_antialias_t
+_cairo_gstate_get_antialias (cairo_gstate_t *gstate)
+{
+    return gstate->antialias;
+}
+

Index: cairo-image-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-image-surface.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -d -r1.56 -r1.57
--- cairo-image-surface.c	8 Aug 2005 20:46:11 -0000	1.56
+++ cairo-image-surface.c	9 Aug 2005 01:35:22 -0000	1.57
@@ -655,34 +655,6 @@
     return CAIRO_STATUS_SUCCESS;
 }
 
-static pixman_image_t *
-_create_mask_image (int width,
-		    int height)
-{
-    pixman_image_t *image;
-    pixman_color_t pixman_color = { 0, 0, 0, 0 }; /* transparent */
-    pixman_rectangle_t rect;
-    pixman_format_t *format;
-
-    format = pixman_format_create (PIXMAN_FORMAT_NAME_A8);
-    if (!format)
-	return NULL;
-
-    image = pixman_image_create (format, width, height);
-    if (!image)
-	return NULL;
-    
-    rect.x = 0;
-    rect.y = 0;
-    rect.width = width;
-    rect.height = height;
-    
-    pixman_fill_rectangles (PIXMAN_OPERATOR_SRC, image,
-			    &pixman_color, &rect, 1);
-
-    return image;
-}
-
 static cairo_bool_t
 _cairo_image_surface_is_alpha_only (cairo_image_surface_t *surface)
 {
@@ -701,6 +673,7 @@
 _cairo_image_surface_composite_trapezoids (cairo_operator_t	operator,
 					   cairo_pattern_t	*pattern,
 					   void			*abstract_dst,
+					   cairo_antialias_t	antialias,
 					   int			src_x,
 					   int			src_y,
 					   int			dst_x,
@@ -715,6 +688,10 @@
     cairo_image_surface_t	*src;
     cairo_int_status_t		status;
     pixman_image_t		*mask;
+    pixman_format_t		*format;
+    pixman_bits_t		*mask_data;
+    int				mask_stride;
+    int				mask_bpp;
 
     /* Special case adding trapezoids onto a mask surface; we want to avoid
      * creating an intermediate temporary mask unecessarily.
@@ -732,7 +709,8 @@
     if (operator == CAIRO_OPERATOR_ADD &&
 	_cairo_pattern_is_opaque_solid (pattern) &&
 	_cairo_image_surface_is_alpha_only (dst) &&
-	!dst->has_clip)
+	!dst->has_clip &&
+	antialias != CAIRO_ANTIALIAS_NONE)
     {
 	pixman_add_trapezoids (dst->pixman_image, 0, 0,
 			       (pixman_trapezoid_t *) traps, num_traps);
@@ -750,10 +728,37 @@
     if (status)
 	goto CLEANUP_SOURCE;
 
-    mask = _create_mask_image (width, height);
+    switch (antialias) {
+    case CAIRO_ANTIALIAS_NONE:
+	format = pixman_format_create (PIXMAN_FORMAT_NAME_A1);
+	mask_stride = (width + 31)/8;
+	mask_bpp = 1;
+ 	break;
+    default:
+	format = pixman_format_create (PIXMAN_FORMAT_NAME_A8);
+	mask_stride = (width + 3) & ~3;
+	mask_bpp = 8;
+ 	break;
+    }
+    if (!format) {
+	status = CAIRO_STATUS_NO_MEMORY;
+	goto CLEANUP_SOURCE;
+    }
+
+    /* The image must be initially transparent */
+    mask_data = calloc (1, mask_stride * height);
+    if (!mask_data) {
+	status = CAIRO_STATUS_NO_MEMORY;
+	pixman_format_destroy (format);
+	goto CLEANUP_SOURCE;
+    }
+
+    mask = pixman_image_create_for_data (mask_data, format, width, height,
+					 mask_bpp, mask_stride);
+    pixman_format_destroy (format);
     if (!mask) {
 	status = CAIRO_STATUS_NO_MEMORY;
-	goto CLEANUP_MASK;
+	goto CLEANUP_IMAGE_DATA;
     }
 
     /* XXX: The pixman_trapezoid_t cast is evil and needs to go away
@@ -771,9 +776,11 @@
 		      dst_x, dst_y,
 		      width, height);
 	
- CLEANUP_MASK:
     pixman_image_destroy (mask);
 
+ CLEANUP_IMAGE_DATA:
+    free (mask_data);
+
  CLEANUP_SOURCE:
     _cairo_pattern_release_surface (pattern, &src->base, &attributes);
 

Index: cairo-meta-surface-private.h
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-meta-surface-private.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- cairo-meta-surface-private.h	13 Jul 2005 19:32:51 -0000	1.2
+++ cairo-meta-surface-private.h	9 Aug 2005 01:35:22 -0000	1.3
@@ -77,6 +77,7 @@
     cairo_command_type_t	type;
     cairo_operator_t		operator;
     cairo_pattern_union_t	pattern;
+    cairo_antialias_t		antialias;
     int				x_src;
     int				y_src;
     int				x_dst;
@@ -99,6 +100,7 @@
     cairo_path_fixed_t		path;
     cairo_fill_rule_t		fill_rule;
     double			tolerance;
+    cairo_antialias_t		antialias;
 } cairo_command_intersect_clip_path_t;
 
 typedef struct _cairo_command_show_glyphs {
@@ -123,6 +125,7 @@
     cairo_path_fixed_t		path;
     cairo_fill_rule_t		fill_rule;
     double			tolerance;
+    cairo_antialias_t		antialias;
 } cairo_command_fill_path_t;
 
 typedef union _cairo_command {

Index: cairo-meta-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-meta-surface.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- cairo-meta-surface.c	5 Aug 2005 05:45:59 -0000	1.7
+++ cairo-meta-surface.c	9 Aug 2005 01:35:22 -0000	1.8
@@ -217,6 +217,7 @@
 _cairo_meta_surface_composite_trapezoids (cairo_operator_t	operator,
 					  cairo_pattern_t	*pattern,
 					  void			*abstract_surface,
+					  cairo_antialias_t	antialias,
 					  int			x_src,
 					  int			y_src,
 					  int			x_dst,
@@ -236,6 +237,7 @@
     command->type = CAIRO_COMMAND_COMPOSITE_TRAPEZOIDS;
     command->operator = operator;
     _cairo_pattern_init_copy (&command->pattern.base, pattern);
+    command->antialias = antialias;
     command->x_src = x_src;
     command->y_src = y_src;
     command->x_dst = x_dst;
@@ -267,7 +269,8 @@
 _cairo_meta_surface_intersect_clip_path (void		    *dst,
 					 cairo_path_fixed_t *path,
 					 cairo_fill_rule_t   fill_rule,
-					 double		     tolerance)
+					 double		     tolerance,
+					 cairo_antialias_t   antialias)
 {
     cairo_meta_surface_t *meta = dst;
     cairo_command_intersect_clip_path_t *command;
@@ -291,6 +294,7 @@
     }
     command->fill_rule = fill_rule;
     command->tolerance = tolerance;
+    command->antialias = antialias;
 
     if (_cairo_array_append (&meta->commands, &command, 1) == NULL) {
 	if (path)
@@ -494,6 +498,7 @@
 		(command->composite_trapezoids.operator,
 		 &command->composite_trapezoids.pattern.base,
 		 target,
+		 command->composite_trapezoids.antialias,
 		 command->composite_trapezoids.x_src,
 		 command->composite_trapezoids.y_src,
 		 command->composite_trapezoids.x_dst,
@@ -514,6 +519,7 @@
 					   command->intersect_clip_path.path_pointer,
 					   command->intersect_clip_path.fill_rule,
 					   command->intersect_clip_path.tolerance,
+					   command->intersect_clip_path.antialias,
 					   target);
 	    break;
 
@@ -566,7 +572,8 @@
 								   command->fill_path.operator,
 								   target,
 								   &traps,
-								   &clip);
+								   &clip,
+								   command->fill_path.antialias);
 
 	    _cairo_traps_fini (&traps);
 	    break;

Index: cairo-pdf-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-pdf-surface.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- cairo-pdf-surface.c	5 Aug 2005 01:44:29 -0000	1.55
+++ cairo-pdf-surface.c	9 Aug 2005 01:35:22 -0000	1.56
@@ -1151,6 +1151,7 @@
 _cairo_pdf_surface_composite_trapezoids (cairo_operator_t	operator,
 					 cairo_pattern_t	*pattern,
 					 void			*abstract_dst,
+					 cairo_antialias_t	antialias,
 					 int			x_src,
 					 int			y_src,
 					 int			x_dst,
@@ -1334,7 +1335,8 @@
 _cairo_pdf_surface_intersect_clip_path (void			*dst,
 					cairo_path_fixed_t	*path,
 					cairo_fill_rule_t	fill_rule,
-					double			tolerance)
+					double			tolerance,
+					cairo_antialias_t	antialias)
 {
     cairo_pdf_surface_t *surface = dst;
     cairo_pdf_document_t *document = surface->document;

Index: cairo-ps-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-ps-surface.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- cairo-ps-surface.c	28 Jul 2005 16:46:38 -0000	1.45
+++ cairo-ps-surface.c	9 Aug 2005 01:35:22 -0000	1.46
@@ -272,6 +272,7 @@
 _cairo_ps_surface_composite_trapezoids (cairo_operator_t	operator,
 					cairo_pattern_t		*pattern,
 					void			*abstract_dst,
+					cairo_antialias_t	antialias,
 					int			x_src,
 					int			y_src,
 					int			x_dst,
@@ -286,6 +287,7 @@
     return _cairo_surface_composite_trapezoids (operator,
 						pattern,
 						surface->current_page,
+						antialias,
 						x_src,
 						y_src,
 						x_dst,
@@ -324,14 +326,16 @@
 _cairo_ps_surface_intersect_clip_path (void		  *dst,
 				       cairo_path_fixed_t *path,
 				       cairo_fill_rule_t   fill_rule,
-				       double		   tolerance)
+				       double		   tolerance,
+				       cairo_antialias_t   antialias)
 {
     cairo_ps_surface_t *surface = dst;
 
     return _cairo_surface_intersect_clip_path (surface->current_page,
 					       path,
 					       fill_rule,
-					       tolerance);
+					       tolerance,
+					       antialias);
 }
 
 static cairo_int_status_t
@@ -929,6 +933,7 @@
 _ps_output_composite_trapezoids (cairo_operator_t	operator,
 				 cairo_pattern_t	*pattern,
 				 void			*abstract_dst,
+				 cairo_antialias_t	antialias,
 				 int			x_src,
 				 int			y_src,
 				 int			x_dst,
@@ -1054,7 +1059,8 @@
 _ps_output_intersect_clip_path (void		   *abstract_surface,
 				cairo_path_fixed_t *path,
 				cairo_fill_rule_t   fill_rule,
-				double		    tolerance)
+				double		    tolerance,
+				cairo_antialias_t   antialias)
 {
     ps_output_surface_t *surface = abstract_surface;
     cairo_output_stream_t *stream = surface->parent->stream;

Index: cairo-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-surface.c,v
retrieving revision 1.90
retrieving revision 1.91
diff -u -d -r1.90 -r1.91
--- cairo-surface.c	8 Aug 2005 20:50:59 -0000	1.90
+++ cairo-surface.c	9 Aug 2005 01:35:22 -0000	1.91
@@ -991,6 +991,7 @@
 _fallback_composite_trapezoids (cairo_operator_t	operator,
 				cairo_pattern_t		*pattern,
 				cairo_surface_t		*dst,
+				cairo_antialias_t	antialias,
 				int			src_x,
 				int			src_y,
 				int			dst_x,
@@ -1043,6 +1044,7 @@
 
     state.image->base.backend->composite_trapezoids (operator, pattern,
 						     &state.image->base,
+						     antialias,
 						     src_x, src_y,
 						     dst_x - state.image_rect.x,
 						     dst_y - state.image_rect.y,
@@ -1060,6 +1062,7 @@
 _cairo_surface_composite_trapezoids (cairo_operator_t		operator,
 				     cairo_pattern_t		*pattern,
 				     cairo_surface_t		*dst,
+				     cairo_antialias_t		antialias,
 				     int			src_x,
 				     int			src_y,
 				     int			dst_x,
@@ -1080,6 +1083,7 @@
     if (dst->backend->composite_trapezoids) {
 	status = dst->backend->composite_trapezoids (operator,
 						     pattern, dst,
+						     antialias,
 						     src_x, src_y,
 						     dst_x, dst_y,
 						     width, height,
@@ -1089,6 +1093,7 @@
     }
 
     return  _fallback_composite_trapezoids (operator, pattern, dst,
+					    antialias,
 					    src_x, src_y,
 					    dst_x, dst_y,
 					    width, height,
@@ -1191,7 +1196,8 @@
 	status = surface->backend->intersect_clip_path (surface,
 							NULL,
 							CAIRO_FILL_RULE_WINDING,
-							0);
+							0,
+							CAIRO_ANTIALIAS_DEFAULT);
 	if (status)
 	    return status;
     }
@@ -1237,7 +1243,8 @@
 _cairo_surface_intersect_clip_path (cairo_surface_t    *surface,
 				    cairo_path_fixed_t *path,
 				    cairo_fill_rule_t   fill_rule,
-				    double		tolerance)
+				    double		tolerance,
+				    cairo_antialias_t	antialias)
 {
     if (surface->status)
 	return surface->status;
@@ -1250,7 +1257,8 @@
     return surface->backend->intersect_clip_path (surface,
 						  path,
 						  fill_rule,
-						  tolerance);
+						  tolerance,
+						  antialias);
 }
 
 static cairo_status_t
@@ -1269,7 +1277,8 @@
     return surface->backend->intersect_clip_path (surface,
 						  &clip_path->path,
 						  clip_path->fill_rule,
-						  clip_path->tolerance);
+						  clip_path->tolerance,
+						  clip_path->antialias);
 }
 
 /**
@@ -1299,7 +1308,8 @@
     status = surface->backend->intersect_clip_path (surface,
 						    NULL,
 						    CAIRO_FILL_RULE_WINDING,
-						    0);
+						    0,
+						    CAIRO_ANTIALIAS_DEFAULT);
     if (status)
 	return status;
 

Index: cairo-xcb-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-xcb-surface.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- cairo-xcb-surface.c	5 Aug 2005 01:44:29 -0000	1.45
+++ cairo-xcb-surface.c	9 Aug 2005 01:35:22 -0000	1.46
@@ -942,6 +942,7 @@
 _cairo_xcb_surface_composite_trapezoids (cairo_operator_t	operator,
 					 cairo_pattern_t	*pattern,
 					 void			*abstract_dst,
+					 cairo_antialias_t	antialias,
 					 int			src_x,
 					 int			src_y,
 					 int			dst_x,
@@ -980,9 +981,17 @@
     render_src_x = src_x + render_reference_x - dst_x;
     render_src_y = src_y + render_reference_y - dst_y;
 
+    switch (antialias) {
+    case CAIRO_ANTIALIAS_NONE:
+	render_format = _format_from_cairo (dst->dpy, CAIRO_FORMAT_A1),
+	break;
+    default:
+	render_format = _format_from_cairo (dst->dpy, CAIRO_FORMAT_A8),
+	break;
+    }
+
     /* XXX: The XTrapezoid cast is evil and needs to go away somehow. */
     /* XXX: _format_from_cairo is slow. should cache something. */
-    render_format = _format_from_cairo (dst->dpy, CAIRO_FORMAT_A8),
     status = _cairo_xcb_surface_set_attributes (src, &attributes);
     if (status == CAIRO_STATUS_SUCCESS)
 	XCBRenderTrapezoids (dst->dpy,

Index: cairo-xlib-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-xlib-surface.c,v
retrieving revision 1.106
retrieving revision 1.107
diff -u -d -r1.106 -r1.107
--- cairo-xlib-surface.c	8 Aug 2005 21:27:02 -0000	1.106
+++ cairo-xlib-surface.c	9 Aug 2005 01:35:22 -0000	1.107
@@ -1266,8 +1266,8 @@
 			int                   dst_x,
 			int                   dst_y,
 			int                   width,
-			int                   height)
-			
+			int                   height,
+			XRenderPictFormat     *pict_format)
 {
     XRenderColor transparent = { 0, 0, 0, 0 };
     XRenderColor solid = { 0xffff, 0xffff, 0xffff, 0xffff };
@@ -1304,7 +1304,7 @@
 
     XRenderCompositeTrapezoids (dst->dpy, PictOpAdd,
 				solid_picture, mask_picture,
-				XRenderFindStandardFormat (dst->dpy, PictStandardA8),
+				pict_format,
 				0, 0,
 				offset_traps, num_traps);
     
@@ -1318,6 +1318,7 @@
 _cairo_xlib_surface_composite_trapezoids (cairo_operator_t	operator,
 					  cairo_pattern_t	*pattern,
 					  void			*abstract_dst,
+					  cairo_antialias_t	antialias,
 					  int			src_x,
 					  int			src_y,
 					  int			dst_x,
@@ -1334,6 +1335,7 @@
     composite_operation_t       operation;
     int				render_reference_x, render_reference_y;
     int				render_src_x, render_src_y;
+    XRenderPictFormat		*pict_format;
 
     if (!CAIRO_SURFACE_RENDER_HAS_TRAPEZOIDS (dst))
 	return CAIRO_INT_STATUS_UNSUPPORTED;
@@ -1354,6 +1356,15 @@
 	status = CAIRO_INT_STATUS_UNSUPPORTED;
 	goto FAIL;
     }
+
+    switch (antialias) {
+    case CAIRO_ANTIALIAS_NONE:
+	pict_format = XRenderFindStandardFormat (dst->dpy, PictStandardA1);
+	break;
+    default:
+	pict_format = XRenderFindStandardFormat (dst->dpy, PictStandardA8);
+	break;
+    }
 	
     if (traps[0].left.p1.y < traps[0].left.p2.y) {
 	render_reference_x = _cairo_fixed_integer_floor (traps[0].left.p1.x);
@@ -1382,7 +1393,8 @@
 	 * the mask somewhat cheaper.)
 	 */
 	Picture mask_picture = _create_trapezoid_mask (dst, traps, num_traps,
-						       dst_x, dst_y, width, height);
+						       dst_x, dst_y, width, height,
+						       pict_format);
 	if (!mask_picture) {
 	    status = CAIRO_STATUS_NO_MEMORY;
 	    goto FAIL;
@@ -1406,7 +1418,7 @@
 	XRenderCompositeTrapezoids (dst->dpy,
 				    _render_operator (operator),
 				    src->src_picture, dst->dst_picture,
-				    XRenderFindStandardFormat (dst->dpy, PictStandardA8),
+				    pict_format,
 				    render_src_x + attributes.x_offset, 
 				    render_src_y + attributes.y_offset,
 				    (XTrapezoid *) traps, num_traps);

Index: cairo.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo.c,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -d -r1.122 -r1.123
--- cairo.c	6 Aug 2005 23:38:34 -0000	1.122
+++ cairo.c	9 Aug 2005 01:35:22 -0000	1.123
@@ -536,6 +536,32 @@
 }
 
 /**
+ * cairo_set_antialias:
+ * @cr: a #cairo_t
+ * @antialias: the new antialiasing mode
+ * 
+ * Set the antialiasing mode of the rasterizer used for drawing shapes.
+ * This value is a hint, and a particular backend may or may not support
+ * a particular value.  At the current time, no backend supports
+ * %CAIRO_ANTIALIAS_SUBPIXEL when drawing shapes.
+ *
+ * Note that this option does not affect text rendering, instead see
+ * cairo_font_options_set_antialias().
+ **/
+void
+cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias)
+{
+    if (cr->status) {
+	_cairo_set_error (cr, cr->status);
+	return;
+    }
+
+    cr->status = _cairo_gstate_set_antialias (cr->gstate, antialias);
+    if (cr->status)
+	_cairo_set_error (cr, cr->status);
+}
+
+/**
  * cairo_set_fill_rule:
  * @cr: a #cairo_t
  * @fill_rule: a fill rule, specified as a #cairo_fill_rule_t
@@ -2082,6 +2108,20 @@
 }
 
 /**
+ * cairo_get_antialias:
+ * @cr: a cairo context
+ * 
+ * Gets the current shape antialiasing mode, as set by cairo_set_shape_antialias().
+ * 
+ * Return value: the current shape antialiasing mode.
+ **/
+cairo_antialias_t
+cairo_get_antialias (cairo_t *cr)
+{
+    return _cairo_gstate_get_antialias (cr->gstate);
+}
+
+/**
  * cairo_get_current_point:
  * @cr: a cairo context
  * @x: return value for X coordinate of the current point

Index: cairo.h
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo.h,v
retrieving revision 1.145
retrieving revision 1.146
diff -u -d -r1.145 -r1.146
--- cairo.h	5 Aug 2005 01:44:29 -0000	1.145
+++ cairo.h	9 Aug 2005 01:35:22 -0000	1.146
@@ -288,6 +288,29 @@
 cairo_set_tolerance (cairo_t *cr, double tolerance);
 
 /**
+ * cairo_antialias_t:
+ * @CAIRO_ANTIALIAS_DEFAULT: Use the default antialiasing for
+ *   the subsystem and target device
+ * @CAIRO_ANTIALIAS_NONE: Use a bilevel alpha mask
+ * @CAIRO_ANTIALIAS_GRAY: Perform single-color antialiasing (using
+ *  shades of gray for black text on a white background, for example).
+ * @CAIRO_ANTIALIAS_SUBPIXEL: Perform antialiasing by taking
+ *  advantage of the order of subpixel elements on devices
+ *  such as LCD panels
+ * 
+ * Specifies the type of antialiasing to do when rendering text or shapes.
+ **/
+typedef enum _cairo_antialias {
+    CAIRO_ANTIALIAS_DEFAULT,
+    CAIRO_ANTIALIAS_NONE,
+    CAIRO_ANTIALIAS_GRAY,
+    CAIRO_ANTIALIAS_SUBPIXEL
+} cairo_antialias_t;
+
+void
+cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias);
+
+/**
  * cairo_fill_rule_t
  * @CAIRO_FILL_RULE_WINDING: If the path crosses the ray from
  * left-to-right, counts +1. If the path crosses the ray
@@ -660,26 +683,6 @@
 } cairo_font_weight_t;
 
 /**
- * cairo_antialias_t:
- * @CAIRO_ANTIALIAS_DEFAULT: Use the default antialiasing for
- *   the font subsystem and target device
- * @CAIRO_ANTIALIAS_NONE: Do no antialiasing of fonts; use bilevel text
- * @CAIRO_ANTIALIAS_GRAY: Perform single-color antialiasing (using
- *  shades of gray for black text on a white background, for example).
- * @CAIRO_ANTIALIAS_SUBPIXEL: Perform antialiasing by taking
- *  advantage of the order of subpixel elements on devices
- *  such as LCD panels
- * 
- * Specifies the type of antialiasing to do when rendering text.
- **/
-typedef enum _cairo_antialias {
-    CAIRO_ANTIALIAS_DEFAULT,
-    CAIRO_ANTIALIAS_NONE,
-    CAIRO_ANTIALIAS_GRAY,
-    CAIRO_ANTIALIAS_SUBPIXEL
-} cairo_antialias_t;
-
-/**
  * cairo_subpixel_order_t:
  * @CAIRO_SUBPIXEL_ORDER_DEFAULT: Use the default subpixel order for
  *   for the target device
@@ -920,6 +923,9 @@
 double
 cairo_get_tolerance (cairo_t *cr);
 
+cairo_antialias_t
+cairo_get_antialias (cairo_t *cr);
+
 void
 cairo_get_current_point (cairo_t *cr, double *x, double *y);
 

Index: cairoint.h
===================================================================
RCS file: /cvs/cairo/cairo/src/cairoint.h,v
retrieving revision 1.187
retrieving revision 1.188
diff -u -d -r1.187 -r1.188
--- cairoint.h	8 Aug 2005 20:46:11 -0000	1.187
+++ cairoint.h	9 Aug 2005 01:35:22 -0000	1.188
@@ -728,6 +728,7 @@
     (*composite_trapezoids)	(cairo_operator_t	 operator,
 				 cairo_pattern_t	*pattern,
 				 void			*dst,
+				 cairo_antialias_t	 antialias,
 				 int			 src_x,
 				 int			 src_y,
 				 int			 dst_x,
@@ -778,7 +779,8 @@
     (*intersect_clip_path)	(void			*dst,
 				 cairo_path_fixed_t	*path,
 				 cairo_fill_rule_t	fill_rule,
-				 double			tolerance);
+				 double			tolerance,
+				 cairo_antialias_t	antialias);
 
     /* Get the extents of the current surface. For many surface types
      * this will be as simple as { x=0, y=0, width=surface->width,
@@ -1607,6 +1609,7 @@
 _cairo_surface_composite_trapezoids (cairo_operator_t	operator,
 				     cairo_pattern_t	*pattern,
 				     cairo_surface_t	*dst,
+				     cairo_antialias_t	antialias,
 				     int		src_x,
 				     int		src_y,
 				     int		dst_x,
@@ -1621,7 +1624,8 @@
 					      cairo_operator_t operator,
 					      cairo_surface_t *dst,
 					      cairo_traps_t *traps,
-					      cairo_clip_t *clip);
+					      cairo_clip_t *clip,
+					      cairo_antialias_t antialias);
 
 cairo_private cairo_status_t
 _cairo_surface_copy_page (cairo_surface_t *surface);
@@ -1676,7 +1680,8 @@
 _cairo_surface_intersect_clip_path (cairo_surface_t    *surface,
 				    cairo_path_fixed_t *path,
 				    cairo_fill_rule_t   fill_rule,
-				    double		tolerance);
+				    double		tolerance,
+				    cairo_antialias_t	antialias);
 
 cairo_private cairo_status_t
 _cairo_surface_set_clip (cairo_surface_t *surface, cairo_clip_t *clip);
@@ -1954,6 +1959,13 @@
 				 cairo_surface_attributes_t *src_attributes,
 				 cairo_surface_attributes_t *mask_attributes);
 
+cairo_private cairo_status_t
+_cairo_gstate_set_antialias (cairo_gstate_t *gstate,
+			     cairo_antialias_t antialias);
+
+cairo_private cairo_antialias_t
+_cairo_gstate_get_antialias (cairo_gstate_t *gstate);
+
 
 /* cairo_unicode.c */
 




More information about the cairo-commit mailing list