[evince] libview: Add an option to render thumbnails without a frame
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evince] libview: Add an option to render thumbnails without a frame
- Date: Sun, 23 Dec 2012 12:24:43 +0000 (UTC)
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]