Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pdf
diff options
context:
space:
mode:
authorJonathan Blandford <jrb@redhat.com>2005-01-05 03:33:16 (GMT)
committer Jonathan Blandford <jrb@src.gnome.org>2005-01-05 03:33:16 (GMT)
commit2b344d828d68b28027426df8ce71e4d034a0ebba (patch)
treeb734836983b3e2eadd3aa70d9600445de086aa73 /pdf
parente48cf2858b65aa026771a48d2b315cbc663d8234 (diff)
poor man's dropshadow.
Tue Jan 4 22:32:32 2005 Jonathan Blandford <jrb@redhat.com> * pdf/xpdf/pdf-document.cc (pdf_document_thumbnails_get_page_pixbuf): poor man's dropshadow.
Diffstat (limited to 'pdf')
-rw-r--r--pdf/xpdf/pdf-document.cc31
1 files changed, 30 insertions, 1 deletions
diff --git a/pdf/xpdf/pdf-document.cc b/pdf/xpdf/pdf-document.cc
index 51ade18..4abe9ff 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 *