Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pixbuf
diff options
context:
space:
mode:
Diffstat (limited to 'pixbuf')
-rw-r--r--pixbuf/pixbuf-document.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/pixbuf/pixbuf-document.c b/pixbuf/pixbuf-document.c
index f0c3997..492a7db 100644
--- a/pixbuf/pixbuf-document.c
+++ b/pixbuf/pixbuf-document.c
@@ -268,11 +268,27 @@ pixbuf_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document,
return pixbuf;
}
+static void
+pixbuf_document_thumbnails_get_dimensions (EvDocumentThumbnails *document,
+ gint page,
+ gint suggested_width,
+ gint *width,
+ gint *height)
+{
+ PixbufDocument *pixbuf_document = PIXBUF_DOCUMENT (document);
+ gdouble page_ratio;
+
+ page_ratio = gdk_pixbuf_get_height (pixbuf_document->pixbuf) /
+ gdk_pixbuf_get_width (pixbuf_document->pixbuf);
+ *width = suggested_width;
+ *height = (gint) (suggested_width * page_ratio);
+}
static void
pixbuf_document_document_thumbnails_iface_init (EvDocumentThumbnailsIface *iface)
{
iface->get_thumbnail = pixbuf_document_thumbnails_get_thumbnail;
+ iface->get_dimensions = pixbuf_document_thumbnails_get_dimensions;
}