X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=libview%2Fev-jobs.h;h=144ec06ac66745ccc7bb189a73262fbb3ea6594e;hb=3d3c4a5a08f1b8b536542735110c1376fb3e30bf;hp=5915a28ab1d0e8f013e83f67034fe9068fb9cea8;hpb=68d0fc3c59185065d9694ba3f8cb2665b984eb9f;p=evince.git diff --git a/libview/ev-jobs.h b/libview/ev-jobs.h index 5915a28a..144ec06a 100644 --- a/libview/ev-jobs.h +++ b/libview/ev-jobs.h @@ -18,15 +18,18 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. */ +#if !defined (__EV_EVINCE_VIEW_H_INSIDE__) && !defined (EVINCE_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __EV_JOBS_H__ #define __EV_JOBS_H__ #include #include +#include -#include "ev-document.h" -#include "ev-selection.h" -#include "ev-render-context.h" +#include G_BEGIN_DECLS @@ -63,6 +66,9 @@ typedef struct _EvJobLayersClass EvJobLayersClass; typedef struct _EvJobExport EvJobExport; typedef struct _EvJobExportClass EvJobExportClass; +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)) @@ -119,6 +125,11 @@ typedef struct _EvJobExportClass EvJobExportClass; #define EV_JOB_EXPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_EXPORT, EvJobExportClass)) #define EV_IS_JOB_EXPORT(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_EXPORT)) +#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_RUN_THREAD, EV_JOB_RUN_MAIN_LOOP @@ -185,7 +196,8 @@ typedef enum { 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 + EV_RENDER_INCLUDE_ANNOTS = 1 << 5, + EV_RENDER_INCLUDE_ALL = (1 << 6) - 1 } EvRenderFlags; struct _EvJobRender @@ -206,6 +218,7 @@ struct _EvJobRender GdkRegion *text_mapping; GList *image_mapping; GList *form_field_mapping; + GList *annots_mapping; cairo_surface_t *selection; GdkRegion *selection_region; @@ -328,6 +341,19 @@ struct _EvJobExportClass EvJobClass parent_class; }; +struct _EvJobPrint +{ + EvJob parent; + + gint page; + cairo_t *cr; +}; + +struct _EvJobPrintClass +{ + EvJobClass parent_class; +}; + /* Base job class */ GType ev_job_get_type (void) G_GNUC_CONST; gboolean ev_job_run (EvJob *job); @@ -414,6 +440,13 @@ GType ev_job_export_get_type (void) G_GNUC_CONST; EvJob *ev_job_export_new (EvDocument *document); void ev_job_export_set_page (EvJobExport *job, gint page); +/* EvJobPrint */ +GType ev_job_print_get_type (void) G_GNUC_CONST; +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); G_END_DECLS