Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--backend/ev-ps-exporter.c6
-rw-r--r--backend/ev-ps-exporter.h9
-rw-r--r--pdf/ev-poppler.cc5
-rw-r--r--ps/ps-document.c3
-rw-r--r--shell/ev-print-job.c7
-rw-r--r--tiff/tiff-document.c3
7 files changed, 36 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index dd93913..be3d5ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);