From 30582eef6d8c325d026e7db0301921ddba21dfec Mon Sep 17 00:00:00 2001 From: Nickolay V. Shmyrev Date: Mon, 14 Nov 2005 13:21:13 +0000 Subject: New CBR/CBZ backend for comic books. 2005-11-14 Nickolay V. Shmyrev * Makefile.am: * backend/Makefile.am: * backend/ev-document-factory.c: * backend/ev-document-factory.h: * comics/Makefile.am: * comics/comics-document.c: (G_DEFINE_TYPE_WITH_CODE), (comics_document_load), (comics_document_save), (comics_document_get_n_pages), (comics_document_get_page_size), (get_page_size_area_prepared_cb), (comics_document_render_pixbuf) (render_pixbuf_size_prepared_cb), (comics_document_finalize), (comics_document_class_init), (comics_document_can_get_text), (comics_document_get_info), (comics_document_document_iface_init), (comics_document_init), (get_supported_image_extensions), (comics_document_thumbnails_get_geometry), (comics_document_thumbnails_get_thumbnail), (comics_document_thumbnails_get_dimensions), (comics_document_document_thumbnails_iface_init), (extract_argv): * comics/comics-document.h: * comics/ev-cbr-mime.xml: * configure.ac: * po/POTFILES.in: * shell/ev-application.c: (ev_application_register_service): * shell/ev-document-types.c: (ev_document_types_add_filters): * thumbnailer/Makefile.am: * thumbnailer/evince-thumbnailer-comics.schemas.in: New CBR/CBZ backend for comic books. --- (limited to 'backend') diff --git a/backend/Makefile.am b/backend/Makefile.am index 917215a..75509e6 100644 --- a/backend/Makefile.am +++ b/backend/Makefile.am @@ -7,6 +7,7 @@ INCLUDES= \ -I$(top_srcdir)/ps \ -I$(top_srcdir)/djvu \ -I$(top_srcdir)/dvi \ + -I$(top_srcdir)/comics \ $(BACKEND_CFLAGS) \ $(WARN_CFLAGS) \ $(DISABLE_DEPRECATED) @@ -67,6 +68,11 @@ libevbackend_la_LIBADD += \ $(top_builddir)/dvi/libgtkdvi.la endif +if ENABLE_COMICS +libevbackend_la_LIBADD += \ + $(top_builddir)/comics/libcomicsdocument.la +endif + BUILT_SOURCES= \ ev-backend-marshalers.h \ ev-backend-marshalers.c diff --git a/backend/ev-document-factory.c b/backend/ev-document-factory.c index 0f85c7c..7fed2b9 100644 --- a/backend/ev-document-factory.c +++ b/backend/ev-document-factory.c @@ -35,6 +35,9 @@ #ifdef ENABLE_DJVU #include "djvu-document.h" #endif +#ifdef ENABLE_COMICS +#include "comics-document.h" +#endif #include @@ -69,6 +72,12 @@ const EvDocumentType document_types[] = { /* dvi: */ {"application/x-dvi", EV_BACKEND_DVI, dvi_document_get_type}, #endif + +#ifdef ENABLE_DVI + /* cbr/cbz: */ + {"application/cbr", EV_BACKEND_COMICS, comics_document_get_type}, + {"application/cbz", EV_BACKEND_COMICS, comics_document_get_type}, +#endif }; #ifdef ENABLE_PIXBUF diff --git a/backend/ev-document-factory.h b/backend/ev-document-factory.h index 56be46d..f299730 100644 --- a/backend/ev-document-factory.h +++ b/backend/ev-document-factory.h @@ -31,7 +31,8 @@ typedef enum { EV_BACKEND_TIFF, EV_BACKEND_PIXBUF, EV_BACKEND_DJVU, - EV_BACKEND_DVI + EV_BACKEND_DVI, + EV_BACKEND_COMICS } EvBackend; EvDocument *ev_document_factory_get_document (const char *mime_type); -- cgit v0.9.1