X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-jobs.h;h=bf37b673ea75597d9ab304c97c29dd29dca866ab;hb=d09bf63180e0fd1ef51c5e537fff9c4a556aa6e4;hp=bf9c86b6f6c963d89ccec2ec9cf66d9835b6f88b;hpb=363996497c9b439597d46f002e995055e368d7a8;p=evince.git diff --git a/shell/ev-jobs.h b/shell/ev-jobs.h index bf9c86b6..bf37b673 100644 --- a/shell/ev-jobs.h +++ b/shell/ev-jobs.h @@ -22,6 +22,7 @@ #include #include "ev-document.h" +#include "ev-window.h" G_BEGIN_DECLS @@ -43,6 +44,9 @@ typedef struct _EvJobFontsClass EvJobFontsClass; typedef struct _EvJobXfer EvJobXfer; typedef struct _EvJobXferClass EvJobXferClass; +typedef struct _EvJobPrint EvJobPrint; +typedef struct _EvJobPrintClass EvJobPrintClass; + #define EV_TYPE_JOB (ev_job_get_type()) #define EV_JOB(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB, EvJob)) #define EV_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB, EvJobClass)) @@ -70,9 +74,14 @@ typedef struct _EvJobXferClass EvJobXferClass; #define EV_TYPE_JOB_XFER (ev_job_xfer_get_type()) #define EV_JOB_XFER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_XFER, EvJobXfer)) -#define EV_JOB_XFER_CLASS(klass) (G_TYPE_CHACK_CLASS_CAST((klass), EV_TYPE_JOB_XFER, EvJobXferClass)) +#define EV_JOB_XFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_XFER, EvJobXferClass)) #define EV_IS_JOB_XFER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_XFER)) +#define EV_TYPE_JOB_PRINT (ev_job_print_get_type()) +#define EV_JOB_PRINT(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_PRINT, EvJobPrint)) +#define EV_JOB_PRINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_PRINT, EvJobPrintClass)) +#define EV_IS_JOB_PRINT(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_PRINT)) + typedef enum { EV_JOB_PRIORITY_LOW, EV_JOB_PRIORITY_HIGH, @@ -116,6 +125,7 @@ struct _EvJobRender GList *link_mapping; GdkRegion *text_mapping; + GList *image_mapping; GdkPixbuf *selection; GdkRegion *selection_region; @@ -126,6 +136,7 @@ struct _EvJobRender gint include_links : 1; gint include_text : 1; gint include_selection : 1; + gint include_images : 1; }; struct _EvJobRenderClass @@ -163,6 +174,7 @@ struct _EvJobXfer { EvJob parent; EvLinkDest *dest; + EvWindowRunMode mode; GError *error; char *uri; char *local_uri; @@ -173,17 +185,39 @@ struct _EvJobXferClass EvJobClass parent_class; }; +struct _EvJobPrint +{ + EvJob parent; + + GError *error; + const gchar *format; + gchar *temp_file; + EvPrintRange *ranges; + gint n_ranges; + EvPrintPageSet page_set; + gint copies; + gboolean collate; + gboolean reverse; + gdouble width; + gdouble height; +}; + +struct _EvJobPrintClass +{ + EvJobClass parent_class; +}; + /* Base job class */ -GType ev_job_get_type (void); +GType ev_job_get_type (void) G_GNUC_CONST; void ev_job_finished (EvJob *job); /* EvJobLinks */ -GType ev_job_links_get_type (void); +GType ev_job_links_get_type (void) G_GNUC_CONST; EvJob *ev_job_links_new (EvDocument *document); void ev_job_links_run (EvJobLinks *thumbnail); /* EvJobRender */ -GType ev_job_render_get_type (void); +GType ev_job_render_get_type (void) G_GNUC_CONST; EvJob *ev_job_render_new (EvDocument *document, EvRenderContext *rc, gint width, @@ -192,12 +226,13 @@ EvJob *ev_job_render_new (EvDocument *document, GdkColor *text, GdkColor *base, gboolean include_links, + gboolean include_images, gboolean include_text, gboolean include_selection); void ev_job_render_run (EvJobRender *thumbnail); /* EvJobThumbnail */ -GType ev_job_thumbnail_get_type (void); +GType ev_job_thumbnail_get_type (void) G_GNUC_CONST; EvJob *ev_job_thumbnail_new (EvDocument *document, gint page, int rotation, @@ -205,14 +240,30 @@ EvJob *ev_job_thumbnail_new (EvDocument *document, void ev_job_thumbnail_run (EvJobThumbnail *thumbnail); /* EvJobFonts */ -GType ev_job_fonts_get_type (void); +GType ev_job_fonts_get_type (void) G_GNUC_CONST; EvJob *ev_job_fonts_new (EvDocument *document); void ev_job_fonts_run (EvJobFonts *fonts); /* EvJobXfer */ -GType ev_job_xfer_get_type (void); -EvJob *ev_job_xfer_new (const gchar *uri, EvLinkDest *dest); -void ev_job_xfer_run (EvJobXfer *xfer); +GType ev_job_xfer_get_type (void) G_GNUC_CONST; +EvJob *ev_job_xfer_new (const gchar *uri, + EvLinkDest *dest, + EvWindowRunMode mode); +void ev_job_xfer_run (EvJobXfer *xfer); + +/* EvJobPrint */ +GType ev_job_print_get_type (void) G_GNUC_CONST; +EvJob *ev_job_print_new (EvDocument *document, + const gchar *format, + gdouble width, + gdouble height, + EvPrintRange *ranges, + gint n_ranges, + EvPrintPageSet page_set, + gint copies, + gdouble collate, + gdouble reverse); +void ev_job_print_run (EvJobPrint *print); G_END_DECLS