X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-jobs.h;h=c63a32c449408d885d209c32ce3732b272219268;hb=682db64b43ff4985fbd6000251b42a051d42b071;hp=6d7e95bf4a5d68e7abd7482ee8baa3bf096844b6;hpb=982600bbceb76a22d5c7b3e0cbe6e20421105ad6;p=evince.git diff --git a/shell/ev-jobs.h b/shell/ev-jobs.h index 6d7e95bf..c63a32c4 100644 --- a/shell/ev-jobs.h +++ b/shell/ev-jobs.h @@ -23,7 +23,6 @@ #include #include "ev-document.h" #include "ev-window.h" -#include "ev-file-exporter.h" #include "ev-selection.h" G_BEGIN_DECLS @@ -46,6 +45,9 @@ typedef struct _EvJobFontsClass EvJobFontsClass; typedef struct _EvJobLoad EvJobLoad; typedef struct _EvJobLoadClass EvJobLoadClass; +typedef struct _EvJobSave EvJobSave; +typedef struct _EvJobSaveClass EvJobSaveClass; + typedef struct _EvJobPrint EvJobPrint; typedef struct _EvJobPrintClass EvJobPrintClass; @@ -79,10 +81,15 @@ typedef struct _EvJobPrintClass EvJobPrintClass; #define EV_JOB_LOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_LOAD, EvJobLoadClass)) #define EV_IS_JOB_LOAD(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_LOAD)) -#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)) +#define EV_TYPE_JOB_SAVE (ev_job_save_get_type()) +#define EV_JOB_SAVE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_SAVE, EvJobSave)) +#define EV_JOB_SAVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_SAVE, EvJobSaveClass)) +#define EV_IS_JOB_SAVE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_SAVE)) + +#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, @@ -116,11 +123,25 @@ struct _EvJobLinksClass EvJobClass parent_class; }; +typedef enum { + EV_RENDER_INCLUDE_NONE = 0, + EV_RENDER_INCLUDE_LINKS = 1 << 0, + EV_RENDER_INCLUDE_TEXT = 1 << 1, + EV_RENDER_INCLUDE_SELECTION = 1 << 2, + EV_RENDER_INCLUDE_IMAGES = 1 << 3, + EV_RENDER_INCLUDE_FORMS = 1 << 4, + EV_RENDER_INCLUDE_ALL = (1 << 5) - 1 +} EvRenderFlags; + struct _EvJobRender { EvJob parent; - EvRenderContext *rc; + gint page; + gint rotation; + gdouble scale; + + EvPage *ev_page; gboolean page_ready; gint target_width; gint target_height; @@ -138,11 +159,7 @@ struct _EvJobRender GdkColor base; GdkColor text; - gint include_forms : 1; - gint include_links : 1; - gint include_text : 1; - gint include_selection : 1; - gint include_images : 1; + EvRenderFlags flags; }; struct _EvJobRenderClass @@ -156,7 +173,10 @@ struct _EvJobThumbnail { EvJob parent; - EvRenderContext *rc; + gint page; + gint rotation; + gdouble scale; + GdkPixbuf *thumbnail; }; @@ -182,6 +202,7 @@ struct _EvJobLoad EvLinkDest *dest; EvWindowRunMode mode; + gchar *search_string; GError *error; gchar *uri; }; @@ -191,6 +212,20 @@ struct _EvJobLoadClass EvJobClass parent_class; }; +struct _EvJobSave +{ + EvJob parent; + + GError *error; + gchar *uri; + gchar *document_uri; +}; + +struct _EvJobSaveClass +{ + EvJobClass parent_class; +}; + struct _EvJobPrint { EvJob parent; @@ -207,7 +242,6 @@ struct _EvJobPrint gboolean reverse; gdouble width; gdouble height; - EvFileExporterOrientation orientation; }; struct _EvJobPrintClass @@ -227,24 +261,25 @@ void ev_job_links_run (EvJobLinks *thumbnail); /* EvJobRender */ GType ev_job_render_get_type (void) G_GNUC_CONST; EvJob *ev_job_render_new (EvDocument *document, - EvRenderContext *rc, + gint page, + gint rotation, + gdouble scale, gint width, gint height, + EvRenderFlags flags); +void ev_job_render_set_selection_info (EvJobRender *job, EvRectangle *selection_points, EvSelectionStyle selection_style, GdkColor *text, - GdkColor *base, - gboolean include_forms, - gboolean include_links, - gboolean include_images, - gboolean include_text, - gboolean include_selection); + GdkColor *base); void ev_job_render_run (EvJobRender *thumbnail); /* EvJobThumbnail */ GType ev_job_thumbnail_get_type (void) G_GNUC_CONST; EvJob *ev_job_thumbnail_new (EvDocument *document, - EvRenderContext *rc); + gint page, + gint rotation, + gdouble scale); void ev_job_thumbnail_run (EvJobThumbnail *thumbnail); /* EvJobFonts */ @@ -256,18 +291,25 @@ void ev_job_fonts_run (EvJobFonts *fonts); GType ev_job_load_get_type (void) G_GNUC_CONST; EvJob *ev_job_load_new (const gchar *uri, EvLinkDest *dest, - EvWindowRunMode mode); + EvWindowRunMode mode, + const gchar *search_string); void ev_job_load_set_uri (EvJobLoad *load, const gchar *uri); void ev_job_load_run (EvJobLoad *load); +/* EvJobSave */ +GType ev_job_save_get_type (void) G_GNUC_CONST; +EvJob *ev_job_save_new (EvDocument *document, + const gchar *uri, + const gchar *document_uri); +void ev_job_save_run (EvJobSave *save); + /* 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, - EvFileExporterOrientation orientation, EvPrintRange *ranges, gint n_ranges, EvPrintPageSet page_set,