diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | backend/ev-ps-exporter.c | 6 | ||||
-rw-r--r-- | backend/ev-ps-exporter.h | 9 | ||||
-rw-r--r-- | pdf/ev-poppler.cc | 5 | ||||
-rw-r--r-- | ps/ps-document.c | 3 | ||||
-rw-r--r-- | shell/ev-print-job.c | 7 | ||||
-rw-r--r-- | tiff/tiff-document.c | 3 |
7 files changed, 36 insertions, 10 deletions
@@ -1,3 +1,16 @@ +2005-07-27 Martin Kretzschmar <martink@gnome.org> + + * backend/ev-ps-exporter.h: add paper_width, paper_height, and + duplex parameters to ::begin. + + * tiff/tiff-document.c (tiff_document_ps_export_begin): + * shell/ev-print-job.c (idle_print_handler): + * ps/ps-document.c (ps_document_ps_export_begin): + * pdf/ev-poppler.cc (pdf_document_ps_exporter_begin): + * backend/ev-ps-exporter.c (ev_ps_exporter_begin): update + implementations. Poppler backend needs poppler cvs. Rest has + unchanged behavior. + 2005-07-25 Martin Kretzschmar <martink@gnome.org> * shell/ev-window.c (using_pdf_printer): new function. diff --git a/backend/ev-ps-exporter.c b/backend/ev-ps-exporter.c index 54a2dd4..09ed17c 100644 --- a/backend/ev-ps-exporter.c +++ b/backend/ev-ps-exporter.c @@ -48,11 +48,13 @@ ev_ps_exporter_get_type (void) void ev_ps_exporter_begin (EvPSExporter *exporter, const char *filename, - int first_page, int last_page) + int first_page, int last_page, + double paper_width, double paper_height, gboolean duplex) { EvPSExporterIface *iface = EV_PS_EXPORTER_GET_IFACE (exporter); - iface->begin (exporter, filename, first_page, last_page); + iface->begin (exporter, filename, first_page, last_page, + paper_width, paper_height, duplex); } void diff --git a/backend/ev-ps-exporter.h b/backend/ev-ps-exporter.h index ae746a1..36d2613 100644 --- a/backend/ev-ps-exporter.h +++ b/backend/ev-ps-exporter.h @@ -44,7 +44,10 @@ struct _EvPSExporterIface { void (* begin) (EvPSExporter *exporter, const char *filename, int first_page, - int last_page); + int last_page, + double paper_width, + double paper_height, + gboolean duplex); void (* do_page) (EvPSExporter *exporter, int page); void (* end) (EvPSExporter *exporter); @@ -52,7 +55,9 @@ struct _EvPSExporterIface { GType ev_ps_exporter_get_type (void); void ev_ps_exporter_begin (EvPSExporter *exporter, const char *filename, - int first_page, int last_page); + int first_page, int last_page, + double paper_width, double paper_height, + gboolean duplex); void ev_ps_exporter_do_page (EvPSExporter *exporter, int page); void ev_ps_exporter_end (EvPSExporter *exporter); diff --git a/pdf/ev-poppler.cc b/pdf/ev-poppler.cc index 29f18cf..2695e86 100644 --- a/pdf/ev-poppler.cc +++ b/pdf/ev-poppler.cc @@ -1187,13 +1187,16 @@ pdf_document_find_iface_init (EvDocumentFindIface *iface) static void pdf_document_ps_exporter_begin (EvPSExporter *exporter, const char *filename, - int first_page, int last_page) + int first_page, int last_page, + double width, double height, gboolean duplex) { PdfDocument *pdf_document = PDF_DOCUMENT (exporter); pdf_document->ps_file = poppler_ps_file_new (pdf_document->document, filename, first_page, last_page - first_page + 1); + poppler_ps_file_set_paper_size (pdf_document->ps_file, width, height); + poppler_ps_file_set_duplex (pdf_document->ps_file, duplex); } static void diff --git a/ps/ps-document.c b/ps/ps-document.c index 8dca8cf..4f38e6b 100644 --- a/ps/ps-document.c +++ b/ps/ps-document.c @@ -1313,7 +1313,8 @@ ps_async_renderer_iface_init (EvAsyncRendererIface *iface) static void ps_document_ps_export_begin (EvPSExporter *exporter, const char *filename, - int first_page, int last_page) + int first_page, int last_page, + double width, double height, gboolean duplex) { PSDocument *document = PS_DOCUMENT (exporter); diff --git a/shell/ev-print-job.c b/shell/ev-print-job.c index f79c1fc..1f215c7 100644 --- a/shell/ev-print-job.c +++ b/shell/ev-print-job.c @@ -258,9 +258,10 @@ idle_print_handler (EvPrintJob *job) { if (!job->printing) { ev_document_doc_mutex_lock (); - ev_ps_exporter_begin (EV_PS_EXPORTER (job->document), - job->temp_file, job->first_page, - job->last_page); + ev_ps_exporter_begin ( + EV_PS_EXPORTER (job->document), + job->temp_file, job->first_page, job->last_page, + job->width, job->height, job->duplex); ev_document_doc_mutex_unlock (); job->next_page = job->first_page; job->printing = TRUE; diff --git a/tiff/tiff-document.c b/tiff/tiff-document.c index 36847aa..aef7aaa 100644 --- a/tiff/tiff-document.c +++ b/tiff/tiff-document.c @@ -411,7 +411,8 @@ tiff_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface) static void tiff_document_ps_export_begin (EvPSExporter *exporter, const char *filename, - int first_page, int last_page) + int first_page, int last_page, + double width, double height, gboolean duplex) { TiffDocument *document = TIFF_DOCUMENT (exporter); |