job->rc = NULL;
}
+ if (job->selection) {
+ g_object_unref (job->selection);
+ job->selection = NULL;
+ }
+
+ if (job->selection_region) {
+ gdk_region_destroy (job->selection_region);
+ job->selection_region = NULL;
+ }
+
(* G_OBJECT_CLASS (ev_job_render_parent_class)->dispose) (object);
}
gint width,
gint height,
EvRectangle *selection_points,
+ GdkColor *text,
+ GdkColor *base,
gboolean include_links,
+ gboolean include_text,
gboolean include_selection)
{
EvJobRender *job;
job->rc = g_object_ref (rc);
job->target_width = width;
job->target_height = height;
+ job->text = *text;
+ job->base = *base;
job->include_links = include_links;
+ job->include_text = include_text;
job->include_selection = include_selection;
if (include_selection)
job->pixbuf = ev_document_render_pixbuf (EV_JOB (job)->document, job->rc);
if (job->include_links)
job->link_mapping = ev_document_get_links (EV_JOB (job)->document, job->rc->page);
- if (job->include_selection && EV_IS_SELECTION (EV_JOB (job)->document))
+ if (job->include_text && EV_IS_SELECTION (EV_JOB (job)->document))
+ job->text_mapping = ev_selection_get_selection_map (EV_SELECTION (EV_JOB (job)->document), job->rc);
+ if (job->include_selection && EV_IS_SELECTION (EV_JOB (job)->document)) {
ev_selection_render_selection (EV_SELECTION (EV_JOB (job)->document),
job->rc,
&(job->selection),
&(job->selection_points),
- NULL);
+ NULL,
+ &(job->text), &(job->base));
+ job->selection_region =
+ ev_selection_get_selection_region (EV_SELECTION (EV_JOB (job)->document),
+ job->rc,
+ &(job->selection_points));
+ }
EV_JOB (job)->finished = TRUE;
}
}
EvJob *
-ev_job_thumbnail_new (EvDocument *document,
- gint page,
- gint requested_width)
+ev_job_thumbnail_new (EvDocument *document,
+ gint page,
+ int rotation,
+ gint requested_width)
{
EvJobThumbnail *job;
EV_JOB (job)->document = g_object_ref (document);
job->page = page;
+ job->rotation = rotation;
job->requested_width = requested_width;
return EV_JOB (job);
job->thumbnail =
ev_document_thumbnails_get_thumbnail (EV_DOCUMENT_THUMBNAILS (EV_JOB (job)->document),
job->page,
+ job->rotation,
job->requested_width,
TRUE);
EV_JOB (job)->finished = TRUE;