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=7596d76425e0a4cfadd66b367ba67a82326c5b11;hb=a90e38bd4aab8013c402e55753275f5b3408e103;hp=bb406ed352df78d8bba0261d999f1ea9aa11d23f;hpb=19a00ed1cd086dcca4b6bfeb84e0b1488b2e3089;p=evince.git diff --git a/libview/ev-jobs.h b/libview/ev-jobs.h index bb406ed3..7596d764 100644 --- a/libview/ev-jobs.h +++ b/libview/ev-jobs.h @@ -51,6 +51,9 @@ typedef struct _EvJobLinksClass EvJobLinksClass; typedef struct _EvJobAttachments EvJobAttachments; typedef struct _EvJobAttachmentsClass EvJobAttachmentsClass; +typedef struct _EvJobAnnots EvJobAnnots; +typedef struct _EvJobAnnotsClass EvJobAnnotsClass; + typedef struct _EvJobFonts EvJobFonts; typedef struct _EvJobFontsClass EvJobFontsClass; @@ -88,6 +91,11 @@ typedef struct _EvJobPrintClass EvJobPrintClass; #define EV_JOB_ATTACHMENTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_ATTACHMENTS, EvJobAttachmentsClass)) #define EV_IS_JOB_ATTACHMENTS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_ATTACHMENTS)) +#define EV_TYPE_JOB_ANNOTS (ev_job_annots_get_type()) +#define EV_JOB_ANNOTS(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_ANNOTS, EvJobAnnots)) +#define EV_JOB_ANNOTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_ANNOTS, EvJobAnnotsClass)) +#define EV_IS_JOB_ANNOTS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_ANNOTS)) + #define EV_TYPE_JOB_RENDER (ev_job_render_get_type()) #define EV_JOB_RENDER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_RENDER, EvJobRender)) #define EV_JOB_RENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_RENDER, EvJobRenderClass)) @@ -197,6 +205,18 @@ struct _EvJobAttachmentsClass EvJobClass parent_class; }; +struct _EvJobAnnots +{ + EvJob parent; + + GList *annots; +}; + +struct _EvJobAnnotsClass +{ + EvJobClass parent_class; +}; + struct _EvJobRender { EvJob parent; @@ -212,7 +232,7 @@ struct _EvJobRender gboolean include_selection; cairo_surface_t *selection; - GdkRegion *selection_region; + cairo_region_t *selection_region; EvRectangle selection_points; EvSelectionStyle selection_style; GdkColor base; @@ -225,13 +245,15 @@ struct _EvJobRenderClass }; 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_IMAGES = 1 << 2, - EV_PAGE_DATA_INCLUDE_FORMS = 1 << 3, - EV_PAGE_DATA_INCLUDE_ANNOTS = 1 << 4, - EV_PAGE_DATA_INCLUDE_ALL = (1 << 5) - 1 + 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; struct _EvJobPageData @@ -241,11 +263,14 @@ struct _EvJobPageData gint page; EvJobPageDataFlags flags; - GList *link_mapping; - GList *image_mapping; - GList *form_field_mapping; - GList *annot_mapping; - GdkRegion *text_mapping; + EvMappingList *link_mapping; + EvMappingList *image_mapping; + EvMappingList *form_field_mapping; + EvMappingList *annot_mapping; + cairo_region_t *text_mapping; + gchar *text; + EvRectangle *text_layout; + guint text_layout_length; }; struct _EvJobPageDataClass @@ -396,6 +421,10 @@ EvJob *ev_job_links_new (EvDocument *document); GType ev_job_attachments_get_type (void) G_GNUC_CONST; EvJob *ev_job_attachments_new (EvDocument *document); +/* EvJobAnnots */ +GType ev_job_annots_get_type (void) G_GNUC_CONST; +EvJob *ev_job_annots_new (EvDocument *document); + /* EvJobRender */ GType ev_job_render_get_type (void) G_GNUC_CONST; EvJob *ev_job_render_new (EvDocument *document,