## EvJob EvJob |

## 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              EvJobSave;
    struct              EvJobSaveClass;
    struct              EvJobFind;
    struct              EvJobFindClass;
    struct              EvJobLayers;
    struct              EvJobLayersClass;
    struct              EvJobExport;
    struct              EvJobExportClass;
    struct              EvJobPrint;
    struct              EvJobPrintClass;
    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);
    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);
    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_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);
    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);

## 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 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;
    };

### 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_IMAGES       = 1 << 4,
    	EV_PAGE_DATA_INCLUDE_FORMS        = 1 << 5,
    	EV_PAGE_DATA_INCLUDE_ANNOTS       = 1 << 6,
    	EV_PAGE_DATA_INCLUDE_ALL          = (1 << 7) - 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_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);

### 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_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_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_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);

### 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);

## Signal Details

### The `"cancelled"` signal

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

### The `"finished"` signal

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

### The `"updated"` signal

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

### The `"updated"` signal

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