]> www.fi.muni.cz Git - evince.git/blobdiff - libdocument/ev-document.c
Remove EvDocumentThumbnails interface
[evince.git] / libdocument / ev-document.c
index 70349dcb7f67c43d2aa71467a1ad3359999b54e9..d7ee2c1d2d472501cc32448ecc7c28837c603353 100644 (file)
@@ -25,6 +25,7 @@
 #include <string.h>
 
 #include "ev-document.h"
+#include "ev-document-misc.h"
 #include "synctex_parser.h"
 
 #define EV_DOCUMENT_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EV_TYPE_DOCUMENT, EvDocumentPrivate))
@@ -581,6 +582,32 @@ ev_document_render (EvDocument      *document,
        return klass->render (document, rc);
 }
 
+static GdkPixbuf *
+_ev_document_get_thumbnail (EvDocument      *document,
+                           EvRenderContext *rc)
+{
+       cairo_surface_t *surface;
+       GdkPixbuf       *pixbuf;
+
+       surface = ev_document_render (document, rc);
+       pixbuf = ev_document_misc_pixbuf_from_surface (surface);
+       cairo_surface_destroy (surface);
+
+       return pixbuf;
+}
+
+GdkPixbuf *
+ev_document_get_thumbnail (EvDocument      *document,
+                          EvRenderContext *rc)
+{
+       EvDocumentClass *klass = EV_DOCUMENT_GET_CLASS (document);
+
+       if (klass->get_thumbnail)
+               return klass->get_thumbnail (document, rc);
+
+       return _ev_document_get_thumbnail (document, rc);
+}
+
 const gchar *
 ev_document_get_uri (EvDocument *document)
 {