+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.
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
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);
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);
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
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);
{
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;
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);