diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2008-01-13 11:23:44 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@src.gnome.org> | 2008-01-13 11:23:44 (GMT) |
commit | 4207c30cf856a79bc6e23219bf43554470cd4b0b (patch) | |
tree | 3a3e7adee75aea1745aae016a53c4dec333c749b /backend/dvi | |
parent | 9fa361629b670a428f9106128f5a66676db9a9a7 (diff) |
Bump requirements to libspectre 0.2.0. Fixes bug #507705.
2008-01-13 Carlos Garcia Campos <carlosgc@gnome.org>
* configure.ac:
* backend/dvi/cairo-device.c: (dvi_cairo_draw_ps):
* backend/ps/ev-spectre.c: (ps_document_render):
Bump requirements to libspectre 0.2.0. Fixes bug #507705.
svn path=/trunk/; revision=2816
Diffstat (limited to 'backend/dvi')
-rw-r--r-- | backend/dvi/cairo-device.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/backend/dvi/cairo-device.c b/backend/dvi/cairo-device.c index 95f3e63..b8ec39e 100644 --- a/backend/dvi/cairo-device.c +++ b/backend/dvi/cairo-device.c @@ -135,8 +135,8 @@ dvi_cairo_draw_ps (DviContext *dvi, unsigned char *data = NULL; int row_length; SpectreDocument *psdoc; - SpectrePage *page; SpectreRenderContext *rc; + int w, h; SpectreStatus status; cairo_surface_t *image; @@ -148,24 +148,24 @@ dvi_cairo_draw_ps (DviContext *dvi, spectre_document_free (psdoc); return; } - - page = spectre_document_get_page (psdoc, 0); - if (!page) { - spectre_document_free (psdoc); - return; - } + + spectre_document_get_page_size (psdoc, &w, &h); rc = spectre_render_context_new (); - spectre_render_context_set_page_size (rc, width, height); - spectre_page_render (page, rc, &data, &row_length); - status = spectre_page_status (page); - spectre_render_context_free (rc); + spectre_render_context_set_scale (rc, + (double)width / w, + (double)height / h); + spectre_document_render_full (psdoc, rc, &data, &row_length); + status = spectre_document_status (psdoc); - spectre_page_free (page); + spectre_render_context_free (rc); spectre_document_free (psdoc); if (status) { + g_warning ("Error rendering PS document %s: %s\n", + filename, spectre_status_to_string (status)); free (data); + return; } |