X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=libdocument%2Fev-file-exporter.c;h=9b2bc6933ee732f2ce9d08051078fb8fb92e5ead;hb=d8c4c649deeb352aeebf48e0112a5eabdd36cc0d;hp=7a4e902132d7353aae98b92c9ed64d204093bd3c;hpb=13a06349251874bd35d2f03c3fc93217cee749a2;p=evince.git diff --git a/libdocument/ev-file-exporter.c b/libdocument/ev-file-exporter.c index 7a4e9021..9b2bc693 100644 --- a/libdocument/ev-file-exporter.c +++ b/libdocument/ev-file-exporter.c @@ -43,45 +43,42 @@ ev_file_exporter_get_type (void) return type; } -gboolean -ev_file_exporter_format_supported (EvFileExporter *exporter, - EvFileExporterFormat format) +void +ev_file_exporter_begin (EvFileExporter *exporter, + EvFileExporterContext *fc) { - EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); - - if (format < EV_FILE_FORMAT_PS || - format > EV_FILE_FORMAT_PDF) - return FALSE; + EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); - return iface->format_supported (exporter, format); + iface->begin (exporter, fc); } void -ev_file_exporter_begin (EvFileExporter *exporter, - EvFileExporterFormat format, - const gchar *filename, - gint first_page, - gint last_page, - gdouble paper_width, - gdouble paper_height, - gboolean duplex) +ev_file_exporter_begin_page (EvFileExporter *exporter) { - EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); - - g_return_if_fail (ev_file_exporter_format_supported (exporter, format)); + EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); - iface->begin (exporter, format, filename, first_page, last_page, - paper_width, paper_height, duplex); + if (iface->begin_page) + iface->begin_page (exporter); } void -ev_file_exporter_do_page (EvFileExporter *exporter, EvRenderContext *rc) +ev_file_exporter_do_page (EvFileExporter *exporter, + EvRenderContext *rc) { EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); iface->do_page (exporter, rc); } +void +ev_file_exporter_end_page (EvFileExporter *exporter) +{ + EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); + + if (iface->end_page) + iface->end_page (exporter); +} + void ev_file_exporter_end (EvFileExporter *exporter) { @@ -89,3 +86,11 @@ ev_file_exporter_end (EvFileExporter *exporter) iface->end (exporter); } + +EvFileExporterCapabilities +ev_file_exporter_get_capabilities (EvFileExporter *exporter) +{ + EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter); + + return iface->get_capabilities (exporter); +}