00001 /* This file is part of Libspectre. 00002 * 00003 * Copyright (C) 2007 Albert Astals Cid <aacid@kde.org> 00004 * Copyright (C) 2007 Carlos Garcia Campos <carlosgc@gnome.org> 00005 * 00006 * Libspectre is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License as published by 00008 * the Free Software Foundation; either version 2, or (at your option) 00009 * any later version. 00010 * 00011 * Libspectre is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef SPECTRE_EXPORTER_H 00022 #define SPECTRE_EXPORTER_H 00023 00024 #include <libspectre/spectre-macros.h> 00025 #include <libspectre/spectre-document.h> 00026 #include <libspectre/spectre-status.h> 00027 00028 SPECTRE_BEGIN_DECLS 00029 00030 typedef enum { 00031 SPECTRE_EXPORTER_FORMAT_PS, 00032 SPECTRE_EXPORTER_FORMAT_PDF 00033 } SpectreExporterFormat; 00034 00035 typedef struct SpectreExporter SpectreExporter; 00036 00037 SpectreExporter *spectre_exporter_new (SpectreDocument *document, 00038 SpectreExporterFormat format); 00039 void spectre_exporter_free (SpectreExporter *exporter); 00040 SpectreStatus spectre_exporter_begin (SpectreExporter *exporter, 00041 const char *filename); 00042 SpectreStatus spectre_exporter_do_page (SpectreExporter *exporter, 00043 unsigned int page_index); 00044 SpectreStatus spectre_exporter_end (SpectreExporter *exporter); 00045 00046 00047 SPECTRE_END_DECLS 00048 00049 #endif /* SPECTRE_EXPORTER_H */