X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=pdf%2Fxpdf%2Fpdf-document.cc;h=4abe9ff32459f21bdd9a9207a8ce68d65cab231f;hb=2b344d828d68b28027426df8ce71e4d034a0ebba;hp=51ade189877dae2aefd5f1c8a98e62d7e60777cd;hpb=e48cf2858b65aa026771a48d2b315cbc663d8234;p=evince.git diff --git a/pdf/xpdf/pdf-document.cc b/pdf/xpdf/pdf-document.cc index 51ade189..4abe9ff3 100644 --- a/pdf/xpdf/pdf-document.cc +++ b/pdf/xpdf/pdf-document.cc @@ -1022,6 +1022,9 @@ pdf_document_thumbnails_get_page_pixbuf (PdfDocument *pdf_document, GdkPixmap *pixmap; GDKSplashOutputDev *output; GdkPixbuf *pixbuf; + GdkPixbuf *shadow; + gint rowstride; + guchar *data; pixmap = gdk_pixmap_new (pdf_document->target, width, height, -1); @@ -1046,7 +1049,33 @@ pdf_document_thumbnails_get_page_pixbuf (PdfDocument *pdf_document, width, height); gdk_drawable_unref (pixmap); delete output; - return pixbuf; + + shadow = gdk_pixbuf_new (GDK_COLORSPACE_RGB, + TRUE, 8, + width + 4, + height + 4); + gdk_pixbuf_fill (shadow, 0x000000ff); + gdk_pixbuf_copy_area (pixbuf, 0, 0, + width, + height, + shadow, + 1, 1); + g_object_unref (pixbuf); + + /* Add the corner */ + data = gdk_pixbuf_get_pixels (shadow); + rowstride = gdk_pixbuf_get_rowstride (shadow); + data [(width + 2) * 4 + 3] = 0; + data [(width + 3) * 4 + 3] = 0; + data [(width + 2) * 4 + (rowstride * 1) + 3] = 0; + data [(width + 3) * 4 + (rowstride * 1) + 3] = 0; + + data [(height + 2) * rowstride + 3] = 0; + data [(height + 3) * rowstride + 3] = 0; + data [(height + 2) * rowstride + 4 + 3] = 0; + data [(height + 3) * rowstride + 4 + 3] = 0; + + return shadow; } static GdkPixbuf *