]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-file-exporter.c
[dualscreen] fix crash on ctrl+w and fix control window closing
[evince.git] / libdocument / ev-file-exporter.c
index 1b942a25cad7f667366e305898fb5fa6db8d6a69..23a5debc09c85b894219945ea04dfe23b58ba1cf 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#include <config.h>
 #include "ev-file-exporter.h"
+#include "ev-document.h"
 
-GType
-ev_file_exporter_get_type (void)
-{
-        static GType type = 0;
-
-        if (G_UNLIKELY (type == 0)) {
-                const GTypeInfo our_info =
-                {
-                        sizeof (EvFileExporterIface),
-                        NULL,
-                        NULL,
-                };
+G_DEFINE_INTERFACE (EvFileExporter, ev_file_exporter, 0)
 
-                type = g_type_register_static (G_TYPE_INTERFACE,
-                                               "EvFileExporter",
-                                               &our_info, (GTypeFlags)0);
-        }
-
-        return type;
+static void
+ev_file_exporter_default_init (EvFileExporterInterface *klass)
+{
 }
 
 void
 ev_file_exporter_begin (EvFileExporter        *exporter,
                         EvFileExporterContext *fc)
 {
-        EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
+        EvFileExporterInterface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
 
         iface->begin (exporter, fc);
 }
 
+void
+ev_file_exporter_begin_page (EvFileExporter *exporter)
+{
+       EvFileExporterInterface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
+
+       if (iface->begin_page)
+               iface->begin_page (exporter);
+}
+
 void
 ev_file_exporter_do_page (EvFileExporter  *exporter,
                          EvRenderContext *rc)
 {
-        EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
+        EvFileExporterInterface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
 
         iface->do_page (exporter, rc);
 }
 
+void
+ev_file_exporter_end_page (EvFileExporter *exporter)
+{
+       EvFileExporterInterface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
+       
+       if (iface->end_page)
+               iface->end_page (exporter);
+}
+
 void
 ev_file_exporter_end (EvFileExporter *exporter)
 {
-        EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
+        EvFileExporterInterface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
 
         iface->end (exporter);
 }
@@ -72,7 +78,7 @@ ev_file_exporter_end (EvFileExporter *exporter)
 EvFileExporterCapabilities
 ev_file_exporter_get_capabilities (EvFileExporter *exporter)
 {
-       EvFileExporterIface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
+       EvFileExporterInterface *iface = EV_FILE_EXPORTER_GET_IFACE (exporter);
 
        return iface->get_capabilities (exporter);
 }