From ecb062a6792d39f7ddb670ef35ea89b868e79353 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Fri, 24 Mar 2006 11:48:35 -0800 Subject: [PATCH] Update PDF backend for new paginated API so it at least doesn't crash. --- src/cairo-pdf-surface.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c index dd2fa9096..1d6eeac35 100644 --- a/src/cairo-pdf-surface.c +++ b/src/cairo-pdf-surface.c @@ -140,6 +140,8 @@ struct cairo_pdf_surface { cairo_array_t alphas; cairo_array_t fonts; cairo_bool_t has_clip; + + cairo_paginated_mode_t paginated_mode; }; #define DEFAULT_DPI 300 @@ -185,6 +187,10 @@ _cairo_pdf_surface_add_stream (cairo_pdf_surface_t *surface, static void _cairo_pdf_surface_ensure_stream (cairo_pdf_surface_t *surface); +static void +_cairo_pdf_set_paginated_mode (cairo_surface_t *target, + cairo_paginated_mode_t mode); + static const cairo_surface_backend_t cairo_pdf_surface_backend; static unsigned int @@ -307,7 +313,7 @@ _cairo_pdf_surface_create_for_stream_internal (cairo_output_stream_t *stream, return _cairo_paginated_surface_create (target, CAIRO_CONTENT_COLOR_ALPHA, width, height, - NULL); /* XXX */ + _cairo_pdf_set_paginated_mode); } /** @@ -452,6 +458,8 @@ _cairo_pdf_surface_create_for_document (cairo_pdf_document_t *document, _cairo_array_init (&surface->fonts, sizeof (cairo_pdf_resource_t)); surface->has_clip = FALSE; + surface->paginated_mode = CAIRO_PAGINATED_MODE_ANALYZE; + return &surface->base; } @@ -2111,3 +2119,12 @@ _cairo_pdf_document_add_page (cairo_pdf_document_t *document, return CAIRO_STATUS_SUCCESS; } + +static void +_cairo_pdf_set_paginated_mode (cairo_surface_t *target, + cairo_paginated_mode_t paginated_mode) +{ + cairo_pdf_surface_t *surface = (cairo_pdf_surface_t *) target; + + surface->paginated_mode = paginated_mode; +}