]> www.fi.muni.cz Git - evince.git/blobdiff - libview/ev-jobs.h
[dualscreen] fix crash on ctrl+w and fix control window closing
[evince.git] / libview / ev-jobs.h
index bb406ed352df78d8bba0261d999f1ea9aa11d23f..7596d76425e0a4cfadd66b367ba67a82326c5b11 100644 (file)
@@ -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,