cairo samples

 arc
 arc_negative
 clip
 clip_image
 curve_rectangle
 curve_to
 fill_and_stroke2
 fill_and_stroke
 gradient
 image
 imagepattern
 libsvg
 operator_add
 operator_atop
 operator_atop_reverse
 operator_in
 operator_in_reverse
 operator_out
 operator_out_reverse
 operator_over
 operator_over_reverse
 operator_saturate
 operator_xor
 path
 set_line_cap
 set_line_join
 text_align_center
 text
 text_extents
 xxx_clip_rectangle
 xxx_dash
 xxx_long_lines
 xxx_multi_segment_caps
 xxx_self_intersect
next
double xc = 0.5;
double yc = 0.5;
double radius = 0.4;
double angle1 = 45.0  * (M_PI/180.0);  /* angles are specified */
double angle2 = 180.0 * (M_PI/180.0);  /* in radians           */

cairo_arc (cr, xc, yc, radius, angle1, angle2);
cairo_stroke (cr);

/* draw helping lines */
cairo_set_rgb_color (cr, 1,0.2,0.2);
cairo_set_alpha (cr, 0.6);
cairo_arc (cr, xc, yc, 0.05, 0, 2*M_PI);
cairo_fill (cr);
cairo_set_line_width (cr, 0.03);
cairo_arc (cr, xc, yc, radius, angle1, angle1);
cairo_line_to (cr, xc, yc);
cairo_arc (cr, xc, yc, radius, angle2, angle2);
cairo_line_to (cr, xc, yc);
cairo_stroke (cr);