emit_pattern_stops (cairo_pdf_surface_t *surface, cairo_pattern_t *pattern)
emit_pattern_stops (cairo_pdf_surface_t *surface, cairo_gradient_pattern_t *pattern)
emit_pattern_stops (cairo_pdf_surface_t *surface, cairo_pattern_t *pattern){    cairo_pdf_document_t *document = surface->document;    FILE *file = document->file;    unsigned int function_id;    function_id = _cairo_pdf_document_new_object (document);    fprintf (file,	     "%d 0 obj\r\n"	     "<< /FunctionType 0\r\n"	     "   /Domain [ 0.0 1.0 ]\r\n"	     "   /Size [ 2 ]\r\n"	     "   /BitsPerSample 8\r\n"	     "   /Range [ 0.0 1.0 0.0 1.0 0.0 1.0 ]\r\n"	     "   /Length 6\r\n"	     ">>\r\n"	     "stream\r\n",	     function_id);    fputc (pattern->stops[0].color_char[0], file);    fputc (pattern->stops[0].color_char[1], file);    fputc (pattern->stops[0].color_char[2], file);    fputc (pattern->stops[1].color_char[0], file);    fputc (pattern->stops[1].color_char[1], file);    fputc (pattern->stops[1].color_char[2], file);    fprintf (file,	     "\r\n"	     "endstream\r\n"	     "endobj\r\n");    return function_id;}