## EvJobPrint EvJobPrint |

## Synopsis

    struct              EvJob;
    struct              EvJobClass;
    struct              EvJobRender;
    struct              EvJobRenderClass;
    struct              EvJobPageData;
    struct              EvJobPageDataClass;
    struct              EvJobThumbnail;
    struct              EvJobThumbnailClass;
    struct              EvJobLinks;
    struct              EvJobLinksClass;
    struct              EvJobAttachments;
    struct              EvJobAttachmentsClass;
    struct              EvJobFonts;
    struct              EvJobFontsClass;
    struct              EvJobLoad;
    struct              EvJobLoadClass;
    struct              EvJobLoadStream;
    struct              EvJobLoadStreamClass;
    struct              EvJobLoadGFile;
    struct              EvJobLoadGFileClass;
    struct              EvJobSave;
    struct              EvJobSaveClass;
    struct              EvJobFind;
    struct              EvJobFindClass;
    struct              EvJobLayers;
    struct              EvJobLayersClass;
    struct              EvJobExport;
    struct              EvJobExportClass;
    struct              EvJobPrint;
    struct              EvJobPrintClass;
    struct              EvJobAnnots;
    struct              EvJobAnnotsClass;
    enum                EvJobRunMode;
    enum                EvJobPageDataFlags;
    gboolean            ev_job_run                          (EvJob *job);
    void                ev_job_cancel                       (EvJob *job);
    void                ev_job_failed                       (EvJob *job,
                                                             GQuark domain,
                                                             gint code,
                                                             const gchar *format,
                                                             ...);
    void                ev_job_failed_from_error            (EvJob *job,
                                                             GError *error);
    void                ev_job_succeeded                    (EvJob *job);
    gboolean            ev_job_is_finished                  (EvJob *job);
    gboolean            ev_job_is_failed                    (EvJob *job);
    EvJobRunMode        ev_job_get_run_mode                 (EvJob *job);
    void                ev_job_set_run_mode                 (EvJob *job,
                                                             EvJobRunMode run_mode);
    EvJob *             ev_job_links_new                    (EvDocument *document);
    GtkTreeModel *      ev_job_links_get_model              (EvJobLinks *job);
    EvJob *             ev_job_attachments_new              (EvDocument *document);
    EvJob *             ev_job_export_new                   (EvDocument *document);
    void                ev_job_export_set_page              (EvJobExport *job,
                                                             gint page);
    EvJob *             ev_job_render_new                   (EvDocument *document,
                                                             gint page,
                                                             gint rotation,
                                                             gdouble scale,
                                                             gint width,
                                                             gint height);
    void                ev_job_render_set_selection_info    (EvJobRender *job,
                                                             EvRectangle *selection_points,
                                                             EvSelectionStyle selection_style,
                                                             GdkColor *text,
                                                             GdkColor *base);
    EvJob *             ev_job_page_data_new                (EvDocument *document,
                                                             gint page,
                                                             EvJobPageDataFlags flags);
    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);
    EvJob *             ev_job_fonts_new                    (EvDocument *document);
    EvJob *             ev_job_load_new                     (const gchar *uri);
    void                ev_job_load_set_uri                 (EvJobLoad *load,
                                                             const gchar *uri);
    void                ev_job_load_set_password            (EvJobLoad *job,
                                                             const gchar *password);
    EvJob *             ev_job_load_stream_new              (GInputStream *stream,
                                                             EvDocumentLoadFlags flags);
    void                ev_job_load_stream_set_stream       (EvJobLoadStream *job,
                                                             GInputStream *stream);
    void                ev_job_load_stream_set_load_flags   (EvJobLoadStream *job,
                                                             EvDocumentLoadFlags flags);
    void                ev_job_load_stream_set_password     (EvJobLoadStream *job,
                                                             const gchar *password);
    EvJob *             ev_job_load_gfile_new               (GFile *gfile,
                                                             EvDocumentLoadFlags flags);
    void                ev_job_load_gfile_set_gfile         (EvJobLoadGFile *job,
                                                             GFile *gfile);
    void                ev_job_load_gfile_set_load_flags    (EvJobLoadGFile *job,
                                                             EvDocumentLoadFlags flags);
    void                ev_job_load_gfile_set_password      (EvJobLoadGFile *job,
                                                             const gchar *password);
    EvJob *             ev_job_save_new                     (EvDocument *document,
                                                             const gchar *uri,
                                                             const gchar *document_uri);
    EvJob *             ev_job_find_new                     (EvDocument *document,
                                                             gint start_page,
                                                             gint n_pages,
                                                             const gchar *text,
                                                             gboolean case_sensitive);
    gint                ev_job_find_get_n_results           (EvJobFind *job,
                                                             gint pages);
    gdouble             ev_job_find_get_progress            (EvJobFind *job);
    gboolean            ev_job_find_has_results             (EvJobFind *job);
    GList **            ev_job_find_get_results             (EvJobFind *job);
    void                ev_job_find_set_options             (EvJobFind *job,
                                                             EvFindOptions options);
    EvFindOptions       ev_job_find_get_options             (EvJobFind *job);
    EvJob *             ev_job_layers_new                   (EvDocument *document);
    EvJob *             ev_job_print_new                    (EvDocument *document);
    void                ev_job_print_set_page               (EvJobPrint *job,
                                                             gint page);
    void                ev_job_print_set_cairo              (EvJobPrint *job,
                                                             cairo_t *cr);
    EvJob *             ev_job_annots_new                   (EvDocument *document);

## Object Hierarchy

      GObject
       +----EvJob
             +----EvJobAttachments
             +----EvJobExport
             +----EvJobFind
             +----EvJobFonts
             +----EvJobLayers
             +----EvJobLinks
             +----EvJobLoad
             +----EvJobPageData
             +----EvJobPrint
             +----EvJobRender
             +----EvJobSave
             +----EvJobThumbnail

      GObject
       +----EvJob
             +----EvJobRender

      GObject
       +----EvJob
             +----EvJobPageData

      GObject
       +----EvJob
             +----EvJobThumbnail

      GObject
       +----EvJob
             +----EvJobLinks

      GObject
       +----EvJob
             +----EvJobAttachments

      GObject
       +----EvJob
             +----EvJobFonts

      GObject
       +----EvJob
             +----EvJobLoad

      GObject
       +----EvJob
             +----EvJobSave

      GObject
       +----EvJob
             +----EvJobFind

      GObject
       +----EvJob
             +----EvJobLayers

      GObject
       +----EvJob
             +----EvJobExport

      GObject
       +----EvJob
             +----EvJobPrint

      GEnum
       +----EvJobRunMode

      GFlags
       +----EvJobPageDataFlags

## Signals

      "cancelled"                                      : Run Last
      "finished"                                       : Run First
      "updated"                                        : Run Last
      "updated"                                        : Run Last

## Description

## Details

### struct EvJob

    struct EvJob;

### struct EvJobClass

    struct EvJobClass {
    	GObjectClass parent_class;

    	gboolean (*run)         (EvJob *job);

    	/* Signals */
    	void     (* cancelled)  (EvJob *job);
    	void     (* finished)   (EvJob *job);
    };

### struct EvJobRender

    struct EvJobRender;

### struct EvJobRenderClass

    struct EvJobRenderClass {
    	EvJobClass parent_class;
    };

### struct EvJobPageData

    struct EvJobPageData;

### struct EvJobPageDataClass

    struct EvJobPageDataClass {
    	EvJobClass parent_class;
    };

### struct EvJobThumbnail

    struct EvJobThumbnail;

### struct EvJobThumbnailClass

    struct EvJobThumbnailClass {
    	EvJobClass parent_class;
    };

### struct EvJobLinks

    struct EvJobLinks;

### struct EvJobLinksClass

    struct EvJobLinksClass {
    	EvJobClass parent_class;
    };

### struct EvJobAttachments

    struct EvJobAttachments;

### struct EvJobAttachmentsClass

    struct EvJobAttachmentsClass {
    	EvJobClass parent_class;
    };

### struct EvJobFonts

    struct EvJobFonts;

### struct EvJobFontsClass

    struct EvJobFontsClass {
            EvJobClass parent_class;

    	/* Signals */
    	void (* updated)  (EvJobFonts *job,
    			   gdouble     progress);
    };

### struct EvJobLoad

    struct EvJobLoad;

### struct EvJobLoadClass

    struct EvJobLoadClass {
    	EvJobClass parent_class;
    };

### struct EvJobLoadStream

    struct EvJobLoadStream {
            EvJob parent;

            char *password;
            GInputStream *stream;
            EvDocumentLoadFlags flags;
    };

Since 3.6

### struct EvJobLoadStreamClass

    struct EvJobLoadStreamClass {
            EvJobClass parent_class;
    };

### struct EvJobLoadGFile

    struct EvJobLoadGFile {
            EvJob parent;

            char *password;
            GFile *gfile;
            EvDocumentLoadFlags flags;
    };

Since 3.6

### struct EvJobLoadGFileClass

    struct EvJobLoadGFileClass {
            EvJobClass parent_class;
    };

### struct EvJobSave

    struct EvJobSave;

### struct EvJobSaveClass

    struct EvJobSaveClass {
    	EvJobClass parent_class;
    };

### struct EvJobFind

    struct EvJobFind;

### struct EvJobFindClass

    struct EvJobFindClass {
    	EvJobClass parent_class;

    	/* Signals */
    	void (* updated)  (EvJobFind *job,
    			   gint       page);
    };

### struct EvJobLayers

    struct EvJobLayers;

### struct EvJobLayersClass

    struct EvJobLayersClass {
    	EvJobClass parent_class;
    };

### struct EvJobExport

    struct EvJobExport;

### struct EvJobExportClass

    struct EvJobExportClass {
    	EvJobClass parent_class;
    };

### struct EvJobPrint

    struct EvJobPrint;

### struct EvJobPrintClass

    struct EvJobPrintClass {
    	EvJobClass parent_class;
    };

### struct EvJobAnnots

    struct EvJobAnnots {
    	EvJob parent;

    	GList *annots;
    };

### struct EvJobAnnotsClass

    struct EvJobAnnotsClass {
    	EvJobClass parent_class;
    };

### enum EvJobRunMode

    typedef enum {
    	EV_JOB_RUN_THREAD,
    	EV_JOB_RUN_MAIN_LOOP
    } EvJobRunMode;

`EV_JOB_RUN_THREAD` |
`EV_JOB_RUN_MAIN_LOOP` |

### enum EvJobPageDataFlags

    typedef enum {
            EV_PAGE_DATA_INCLUDE_NONE           = 0,
            EV_PAGE_DATA_INCLUDE_LINKS          = 1 << 0,
            EV_PAGE_DATA_INCLUDE_TEXT           = 1 << 1,
            EV_PAGE_DATA_INCLUDE_TEXT_MAPPING   = 1 << 2,
            EV_PAGE_DATA_INCLUDE_TEXT_LAYOUT    = 1 << 3,
            EV_PAGE_DATA_INCLUDE_TEXT_ATTRS     = 1 << 4,
            EV_PAGE_DATA_INCLUDE_TEXT_LOG_ATTRS = 1 << 5,
            EV_PAGE_DATA_INCLUDE_IMAGES         = 1 << 6,
            EV_PAGE_DATA_INCLUDE_FORMS          = 1 << 7,
            EV_PAGE_DATA_INCLUDE_ANNOTS         = 1 << 8,
            EV_PAGE_DATA_INCLUDE_ALL            = (1 << 9) - 1
    } EvJobPageDataFlags;

`EV_PAGE_DATA_INCLUDE_NONE` |
`EV_PAGE_DATA_INCLUDE_LINKS` |
`EV_PAGE_DATA_INCLUDE_TEXT` |
`EV_PAGE_DATA_INCLUDE_TEXT_MAPPING` |
`EV_PAGE_DATA_INCLUDE_TEXT_LAYOUT` |
`EV_PAGE_DATA_INCLUDE_TEXT_ATTRS` |
`EV_PAGE_DATA_INCLUDE_TEXT_LOG_ATTRS` |
`EV_PAGE_DATA_INCLUDE_IMAGES` |
`EV_PAGE_DATA_INCLUDE_FORMS` |
`EV_PAGE_DATA_INCLUDE_ANNOTS` |
`EV_PAGE_DATA_INCLUDE_ALL` |

### ev_job_run ()

    gboolean            ev_job_run                          (EvJob *job);

### ev_job_cancel ()

    void                ev_job_cancel                       (EvJob *job);

### ev_job_failed ()

    void                ev_job_failed                       (EvJob *job,
                                                             GQuark domain,
                                                             gint code,
                                                             const gchar *format,
                                                             ...);

### ev_job_failed_from_error ()

    void                ev_job_failed_from_error            (EvJob *job,
                                                             GError *error);

Rename to: ev_job_failed

`job` : | an EvJob
`error` : | a GError

### ev_job_succeeded ()

    void                ev_job_succeeded                    (EvJob *job);

### ev_job_is_finished ()

    gboolean            ev_job_is_finished                  (EvJob *job);

### ev_job_is_failed ()

    gboolean            ev_job_is_failed                    (EvJob *job);

### ev_job_get_run_mode ()

    EvJobRunMode        ev_job_get_run_mode                 (EvJob *job);

### ev_job_set_run_mode ()

    void                ev_job_set_run_mode                 (EvJob *job,
                                                             EvJobRunMode run_mode);

### ev_job_links_new ()

    EvJob *             ev_job_links_new                    (EvDocument *document);

### ev_job_links_get_model ()

    GtkTreeModel *      ev_job_links_get_model              (EvJobLinks *job);

Since 3.6

### ev_job_attachments_new ()

    EvJob *             ev_job_attachments_new              (EvDocument *document);

### ev_job_export_new ()

    EvJob *             ev_job_export_new                   (EvDocument *document);

### ev_job_export_set_page ()

    void                ev_job_export_set_page              (EvJobExport *job,
                                                             gint page);

### ev_job_render_new ()

    EvJob *             ev_job_render_new                   (EvDocument *document,
                                                             gint page,
                                                             gint rotation,
                                                             gdouble scale,
                                                             gint width,
                                                             gint height);

### ev_job_render_set_selection_info ()

    void                ev_job_render_set_selection_info    (EvJobRender *job,
                                                             EvRectangle *selection_points,
                                                             EvSelectionStyle selection_style,
                                                             GdkColor *text,
                                                             GdkColor *base);

### ev_job_page_data_new ()

    EvJob *             ev_job_page_data_new                (EvDocument *document,
                                                             gint page,
                                                             EvJobPageDataFlags flags);

### ev_job_thumbnail_new ()

    EvJob *             ev_job_thumbnail_new                (EvDocument *document,
                                                             gint page,
                                                             gint rotation,
                                                             gdouble scale);

### ev_job_thumbnail_set_has_frame ()

    void                ev_job_thumbnail_set_has_frame      (EvJobThumbnail *job,
                                                             gboolean has_frame);

Since 3.8

### ev_job_fonts_new ()

    EvJob *             ev_job_fonts_new                    (EvDocument *document);

### ev_job_load_new ()

    EvJob *             ev_job_load_new                     (const gchar *uri);

### ev_job_load_set_uri ()

    void                ev_job_load_set_uri                 (EvJobLoad *load,
                                                             const gchar *uri);

### ev_job_load_set_password ()

    void                ev_job_load_set_password            (EvJobLoad *job,
                                                             const gchar *password);

### ev_job_load_stream_new ()

    EvJob *             ev_job_load_stream_new              (GInputStream *stream,
                                                             EvDocumentLoadFlags flags);

### ev_job_load_stream_set_stream ()

    void                ev_job_load_stream_set_stream       (EvJobLoadStream *job,
                                                             GInputStream *stream);

### ev_job_load_stream_set_load_flags ()

    void                ev_job_load_stream_set_load_flags   (EvJobLoadStream *job,
                                                             EvDocumentLoadFlags flags);

### ev_job_load_stream_set_password ()

    void                ev_job_load_stream_set_password     (EvJobLoadStream *job,
                                                             const gchar *password);

### ev_job_load_gfile_new ()

    EvJob *             ev_job_load_gfile_new               (GFile *gfile,
                                                             EvDocumentLoadFlags flags);

### ev_job_load_gfile_set_gfile ()

    void                ev_job_load_gfile_set_gfile         (EvJobLoadGFile *job,
                                                             GFile *gfile);

### ev_job_load_gfile_set_load_flags ()

    void                ev_job_load_gfile_set_load_flags    (EvJobLoadGFile *job,
                                                             EvDocumentLoadFlags flags);

### ev_job_load_gfile_set_password ()

    void                ev_job_load_gfile_set_password      (EvJobLoadGFile *job,
                                                             const gchar *password);

### ev_job_save_new ()

    EvJob *             ev_job_save_new                     (EvDocument *document,
                                                             const gchar *uri,
                                                             const gchar *document_uri);

### ev_job_find_new ()

    EvJob *             ev_job_find_new                     (EvDocument *document,
                                                             gint start_page,
                                                             gint n_pages,
                                                             const gchar *text,
                                                             gboolean case_sensitive);

### ev_job_find_get_n_results ()

    gint                ev_job_find_get_n_results           (EvJobFind *job,
                                                             gint pages);

### ev_job_find_get_progress ()

    gdouble             ev_job_find_get_progress            (EvJobFind *job);

### ev_job_find_has_results ()

    gboolean            ev_job_find_has_results             (EvJobFind *job);

### ev_job_find_get_results ()

    GList **            ev_job_find_get_results             (EvJobFind *job);

`job` : | an EvJobFind
Returns : | a GList of GLists containing EvRectangles

### ev_job_find_set_options ()

    void                ev_job_find_set_options             (EvJobFind *job,
                                                             EvFindOptions options);

Since 3.6

### ev_job_find_get_options ()

    EvFindOptions       ev_job_find_get_options             (EvJobFind *job);

Since 3.6

### ev_job_layers_new ()

    EvJob *             ev_job_layers_new                   (EvDocument *document);

### ev_job_print_new ()

    EvJob *             ev_job_print_new                    (EvDocument *document);

### ev_job_print_set_page ()

    void                ev_job_print_set_page               (EvJobPrint *job,
                                                             gint page);

### ev_job_print_set_cairo ()

    void                ev_job_print_set_cairo              (EvJobPrint *job,
                                                             cairo_t *cr);

### ev_job_annots_new ()

    EvJob *             ev_job_annots_new                   (EvDocument *document);

## Signal Details

### The `"cancelled"` signal

    void                user_function                      (EvJob   *evjob,
                                                            gpointer user_data)      : Run Last

`evjob` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"finished"` signal

    void                user_function                      (EvJob   *evjob,
                                                            gpointer user_data)      : Run First

`evjob` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"updated"` signal

    void                user_function                      (EvJobFonts *evjobfonts,
                                                            gdouble     arg1,
                                                            gpointer    user_data)       : Run Last

`evjobfonts` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"updated"` signal

    void                user_function                      (EvJobFind *evjobfind,
                                                            gint       arg1,
                                                            gpointer   user_data)      : Run Last

`evjobfind` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.