## EvJobPrint

EvJobPrint

## Synopsis

                        EvJob;
                        EvJobClass;
                        EvJobRender;
                        EvJobRenderClass;
                        EvJobPageData;
                        EvJobPageDataClass;
                        EvJobThumbnail;
                        EvJobThumbnailClass;
                        EvJobLinks;
                        EvJobLinksClass;
                        EvJobAttachments;
                        EvJobAttachmentsClass;
                        EvJobFonts;
                        EvJobFontsClass;
                        EvJobLoad;
                        EvJobLoadClass;
                        EvJobSave;
                        EvJobSaveClass;
                        EvJobFind;
                        EvJobFindClass;
                        EvJobLayers;
                        EvJobLayersClass;
                        EvJobExport;
                        EvJobExportClass;
                        EvJobPrint;
                        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

## Signals

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

## Description

## Details

### EvJob

    typedef struct _EvJob EvJob;

### EvJobClass

    typedef struct {
    	GObjectClass parent_class;

    	gboolean (*run)         (EvJob *job);

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

### EvJobRender

    typedef struct _EvJobRender EvJobRender;

### EvJobRenderClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobRenderClass;

### EvJobPageData

    typedef struct _EvJobPageData EvJobPageData;

### EvJobPageDataClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobPageDataClass;

### EvJobThumbnail

    typedef struct _EvJobThumbnail EvJobThumbnail;

### EvJobThumbnailClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobThumbnailClass;

### EvJobLinks

    typedef struct _EvJobLinks EvJobLinks;

### EvJobLinksClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobLinksClass;

### EvJobAttachments

    typedef struct _EvJobAttachments EvJobAttachments;

### EvJobAttachmentsClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobAttachmentsClass;

### EvJobFonts

    typedef struct _EvJobFonts EvJobFonts;

### EvJobFontsClass

    typedef struct {
            EvJobClass parent_class;

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

### EvJobLoad

    typedef struct _EvJobLoad EvJobLoad;

### EvJobLoadClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobLoadClass;

### EvJobSave

    typedef struct _EvJobSave EvJobSave;

### EvJobSaveClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobSaveClass;

### EvJobFind

    typedef struct _EvJobFind EvJobFind;

### EvJobFindClass

    typedef struct {
    	EvJobClass parent_class;

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

### EvJobLayers

    typedef struct _EvJobLayers EvJobLayers;

### EvJobLayersClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobLayersClass;

### EvJobExport

    typedef struct _EvJobExport EvJobExport;

### EvJobExportClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobExportClass;

### EvJobPrint

    typedef struct _EvJobPrint EvJobPrint;

### EvJobPrintClass

    typedef struct {
    	EvJobClass parent_class;
    } EvJobPrintClass;

### enum EvJobRunMode

    typedef enum {
    	EV_JOB_RUN_THREAD,
    	EV_JOB_RUN_MAIN_LOOP
    } EvJobRunMode;

### 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_job_run ()

    gboolean            ev_job_run                          (EvJob *job);

`job` : |
Returns : |

### ev_job_cancel ()

    void                ev_job_cancel                       (EvJob *job);

`job` : |

### ev_job_failed ()

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

`job` : |
`domain` : |
`code` : |
`format` : |
`...` : |

### ev_job_failed_from_error ()

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

`job` : |
`error` : |

### ev_job_succeeded ()

    void                ev_job_succeeded                    (EvJob *job);

`job` : |

### ev_job_is_finished ()

    gboolean            ev_job_is_finished                  (EvJob *job);

`job` : |
Returns : |

### ev_job_is_failed ()

    gboolean            ev_job_is_failed                    (EvJob *job);

`job` : |
Returns : |

### ev_job_get_run_mode ()

    EvJobRunMode        ev_job_get_run_mode                 (EvJob *job);

`job` : |
Returns : |

### ev_job_set_run_mode ()

    void                ev_job_set_run_mode                 (EvJob *job,
                                                             EvJobRunMode run_mode);

`job` : |
`run_mode` : |

### ev_job_links_new ()

    EvJob *             ev_job_links_new                    (EvDocument *document);

`document` : |
Returns : |

### ev_job_attachments_new ()

    EvJob *             ev_job_attachments_new              (EvDocument *document);

`document` : |
Returns : |

### ev_job_export_new ()

    EvJob *             ev_job_export_new                   (EvDocument *document);

`document` : |
Returns : |

### ev_job_export_set_page ()

    void                ev_job_export_set_page              (EvJobExport *job,
                                                             gint page);

`job` : |
`page` : |

### ev_job_render_new ()

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

`document` : |
`page` : |
`rotation` : |
`scale` : |
`width` : |
`height` : |
Returns : |

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

`job` : |
`selection_points` : |
`selection_style` : |
`text` : |
`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);

`document` : |
`page` : |
`rotation` : |
`scale` : |
Returns : |

### ev_job_fonts_new ()

    EvJob *             ev_job_fonts_new                    (EvDocument *document);

`document` : |
Returns : |

### ev_job_load_new ()

    EvJob *             ev_job_load_new                     (const gchar *uri);

`uri` : |
Returns : |

### ev_job_load_set_uri ()

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

`load` : |
`uri` : |

### ev_job_load_set_password ()

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

`job` : |
`password` : |

### ev_job_save_new ()

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

`document` : |
`uri` : |
`document_uri` : |
Returns : |

### ev_job_find_new ()

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

`document` : |
`start_page` : |
`n_pages` : |
`text` : |
`case_sensitive` : |
Returns : |

### ev_job_find_get_n_results ()

    gint                ev_job_find_get_n_results           (EvJobFind *job,
                                                             gint pages);

`job` : |
`pages` : |
Returns : |

### ev_job_find_get_progress ()

    gdouble             ev_job_find_get_progress            (EvJobFind *job);

`job` : |
Returns : |

### ev_job_find_has_results ()

    gboolean            ev_job_find_has_results             (EvJobFind *job);

`job` : |
Returns : |

### ev_job_find_get_results ()

    GList **            ev_job_find_get_results             (EvJobFind *job);

`job` : |
Returns : |

### ev_job_layers_new ()

    EvJob *             ev_job_layers_new                   (EvDocument *document);

`document` : |
Returns : |

### ev_job_print_new ()

    EvJob *             ev_job_print_new                    (EvDocument *document);

`document` : |
Returns : |

### ev_job_print_set_page ()

    void                ev_job_print_set_page               (EvJobPrint *job,
                                                             gint page);

`job` : |
`page` : |

### ev_job_print_set_cairo ()

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

`job` : |
`cr` : |

## 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.
`arg1` : |
`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.
`arg1` : |
`user_data` : | user data set when the signal handler was connected.