[evince] libview: Add an option to render thumbnails without a frame



commit bb65a8824aeae5533026c9b2a03439af03c2d8c4
Author: Carlos Garcia Campos <carlosgc gnome org>
Date:   Sun Dec 23 12:05:56 2012 +0100

    libview: Add an option to render thumbnails without a frame

 libview/ev-jobs.c |   16 +++++++++++++---
 libview/ev-jobs.h |   15 +++++++++------
 2 files changed, 22 insertions(+), 9 deletions(-)
---
diff --git a/libview/ev-jobs.c b/libview/ev-jobs.c
index 7a41be9..63097d6 100644
--- a/libview/ev-jobs.c
+++ b/libview/ev-jobs.c
@@ -834,9 +834,11 @@ ev_job_thumbnail_run (EvJob *job)
 	g_object_unref (rc);
 	ev_document_doc_mutex_unlock ();
 
-	if (pixbuf)
-		job_thumb->thumbnail = ev_document_misc_get_thumbnail_frame (-1, -1, pixbuf);
-	g_object_unref (pixbuf);
+        if (pixbuf) {
+                job_thumb->thumbnail = job_thumb->has_frame ?
+                        ev_document_misc_get_thumbnail_frame (-1, -1, pixbuf) : g_object_ref (pixbuf);
+                g_object_unref (pixbuf);
+        }
 
 	ev_job_succeeded (job);
 	
@@ -869,10 +871,18 @@ ev_job_thumbnail_new (EvDocument *document,
 	job->page = page;
 	job->rotation = rotation;
 	job->scale = scale;
+        job->has_frame = TRUE;
 
 	return EV_JOB (job);
 }
 
+void
+ev_job_thumbnail_set_has_frame (EvJobThumbnail  *job,
+                                gboolean         has_frame)
+{
+        job->has_frame = has_frame;
+}
+
 /* EvJobFonts */
 static void
 ev_job_fonts_init (EvJobFonts *job)
diff --git a/libview/ev-jobs.h b/libview/ev-jobs.h
index f08d0fc..cc9b7ad 100644
--- a/libview/ev-jobs.h
+++ b/libview/ev-jobs.h
@@ -301,8 +301,9 @@ struct _EvJobThumbnail
 	gint page;
 	gint rotation;
 	gdouble scale;
-	
+
 	GdkPixbuf *thumbnail;
+        gboolean has_frame;
 };
 
 struct _EvJobThumbnailClass
@@ -491,11 +492,13 @@ EvJob          *ev_job_page_data_new      (EvDocument      *document,
 					   EvJobPageDataFlags flags);
 
 /* EvJobThumbnail */
-GType           ev_job_thumbnail_get_type (void) G_GNUC_CONST;
-EvJob          *ev_job_thumbnail_new      (EvDocument      *document,
-					   gint             page,
-					   gint             rotation,
-					   gdouble          scale);
+GType           ev_job_thumbnail_get_type      (void) G_GNUC_CONST;
+EvJob          *ev_job_thumbnail_new           (EvDocument      *document,
+                                                gint             page,
+                                                gint             rotation,
+                                                gdouble          scale);
+void            ev_job_thumbnail_set_has_frame (EvJobThumbnail  *job,
+                                                gboolean         has_frame);
 /* EvJobFonts */
 GType 		ev_job_fonts_get_type 	  (void) G_GNUC_CONST;
 EvJob 	       *ev_job_fonts_new 	  (EvDocument      *document);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]