#include <gio/gio.h>
#include <gtk/gtk.h>
+#include <cairo.h>
#include <evince-document.h>
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))
#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
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
GdkRegion *text_mapping;
GList *image_mapping;
GList *form_field_mapping;
+ GList *annots_mapping;
cairo_surface_t *selection;
GdkRegion *selection_region;
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);
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