-static void add_job (EvPixbufCache *pixbuf_cache,
- CacheJobInfo *job_info,
- EvPageCache *page_cache,
- gint page,
- gint rotation,
- gfloat scale,
- EvJobPriority priority,
- int width,
- int height)
-{
- gboolean include_links = FALSE;
- gboolean include_text = FALSE;
- gboolean include_selection = FALSE;
- gboolean include_images = TRUE;
- gboolean include_forms = FALSE;
- GdkColor *text, *base;
-
-
- if (job_info->rc == NULL) {
- job_info->rc = ev_render_context_new (rotation, page, scale);
- } else {
- ev_render_context_set_rotation (job_info->rc, rotation);
- ev_render_context_set_page (job_info->rc, page);
- ev_render_context_set_scale (job_info->rc, scale);
- }
-
- /* Figure out what else we need for this job */
- if (job_info->link_mapping == NULL)
- include_links = TRUE;
- if (job_info->image_mapping == NULL)
- include_images = TRUE;
- if (job_info->form_field_mapping == NULL)
- include_forms = TRUE;
- if (job_info->text_mapping == NULL)
- include_text = TRUE;
- if (new_selection_surface_needed (pixbuf_cache, job_info, page, scale)) {
- include_selection = TRUE;
- }
-
- gtk_widget_ensure_style (pixbuf_cache->view);
-
- get_selection_colors (pixbuf_cache->view, &text, &base);
-
- job_info->job = ev_job_render_new (pixbuf_cache->document,
- job_info->rc,
- width, height,
- &(job_info->target_points),
- text, base,
- include_forms,
- include_links,
- include_images,
- include_text,
- include_selection);
- ev_job_queue_add_job (job_info->job, priority);
- g_signal_connect (job_info->job, "finished", G_CALLBACK (job_finished_cb), pixbuf_cache);
-
-}
-