X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=libdocument%2Fev-document.c;h=d7ee2c1d2d472501cc32448ecc7c28837c603353;hb=212d9a536bc60e711b779feb5e8aa33db654997d;hp=70349dcb7f67c43d2aa71467a1ad3359999b54e9;hpb=2de1a33a123dea2aa16154e5beec5b3a57c939fc;p=evince.git diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c index 70349dcb..d7ee2c1d 100644 --- a/libdocument/ev-document.c +++ b/libdocument/ev-document.c @@ -25,6 +25,7 @@ #include #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) {