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=c74869fc76d98156b95c45db495dd4f18ec6251c;hb=f0b7075e647626890908db0d630d88a4e4f779b5;hp=7a4e902132d7353aae98b92c9ed64d204093bd3c;hpb=13a06349251874bd35d2f03c3fc93217cee749a2;p=evince.git diff --git a/libdocument/ev-file-exporter.c b/libdocument/ev-file-exporter.c index 7a4e9021..c74869fc 100644 --- a/libdocument/ev-file-exporter.c +++ b/libdocument/ev-file-exporter.c @@ -20,6 +20,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ +#include #include "ev-file-exporter.h" GType @@ -43,45 +44,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 +87,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); +}