#include <gtk/gtk.h>
#include "ev-document.h"
#include "ev-window.h"
+#include "ev-selection.h"
G_BEGIN_DECLS
typedef struct _EvJobFonts EvJobFonts;
typedef struct _EvJobFontsClass EvJobFontsClass;
-typedef struct _EvJobXfer EvJobXfer;
-typedef struct _EvJobXferClass EvJobXferClass;
+typedef struct _EvJobLoad EvJobLoad;
+typedef struct _EvJobLoadClass EvJobLoadClass;
typedef struct _EvJobPrint EvJobPrint;
typedef struct _EvJobPrintClass EvJobPrintClass;
#define EV_JOB_FONTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_FONTS, EvJobFontsClass))
#define EV_IS_JOB_FONTS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_FONTS))
-#define EV_TYPE_JOB_XFER (ev_job_xfer_get_type())
-#define EV_JOB_XFER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_XFER, EvJobXfer))
-#define EV_JOB_XFER_CLASS(klass) (G_TYPE_CHACK_CLASS_CAST((klass), EV_TYPE_JOB_XFER, EvJobXferClass))
-#define EV_IS_JOB_XFER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_XFER))
+#define EV_TYPE_JOB_LOAD (ev_job_load_get_type())
+#define EV_JOB_LOAD(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_LOAD, EvJobLoad))
+#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_CHACK_CLASS_CAST((klass), EV_TYPE_JOB_PRINT, EvJobPrintClass))
+#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 {
EvJob parent;
EvRenderContext *rc;
+ gboolean page_ready;
gint target_width;
gint target_height;
- GdkPixbuf *pixbuf;
+ cairo_surface_t *surface;
GList *link_mapping;
GdkRegion *text_mapping;
+ GList *image_mapping;
+ GList *form_field_mapping;
- GdkPixbuf *selection;
+ cairo_surface_t *selection;
GdkRegion *selection_region;
EvRectangle selection_points;
+ EvSelectionStyle selection_style;
GdkColor base;
GdkColor text;
+ gint include_forms : 1;
gint include_links : 1;
gint include_text : 1;
gint include_selection : 1;
+ gint include_images : 1;
};
struct _EvJobRenderClass
{
EvJobClass parent_class;
+
+ void (* page_ready) (EvJobRender *job);
};
struct _EvJobThumbnail
{
EvJob parent;
- gint page;
- gint rotation;
- gint requested_width;
+ EvRenderContext *rc;
GdkPixbuf *thumbnail;
};
EvJobClass parent_class;
};
-struct _EvJobXfer
+struct _EvJobLoad
{
EvJob parent;
+
EvLinkDest *dest;
EvWindowRunMode mode;
GError *error;
- char *uri;
- char *local_uri;
+ gchar *uri;
};
-struct _EvJobXferClass
+struct _EvJobLoadClass
{
EvJobClass parent_class;
};
gint n_ranges;
EvPrintPageSet page_set;
gint copies;
+ gint pages_per_sheet;
gboolean collate;
gboolean reverse;
gdouble width;
gint width,
gint height,
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);
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,
- gint page,
- int rotation,
- gint requested_width);
-void ev_job_thumbnail_run (EvJobThumbnail *thumbnail);
+EvJob *ev_job_thumbnail_new (EvDocument *document,
+ EvRenderContext *rc);
+void ev_job_thumbnail_run (EvJobThumbnail *thumbnail);
/* EvJobFonts */
GType ev_job_fonts_get_type (void) G_GNUC_CONST;
EvJob *ev_job_fonts_new (EvDocument *document);
void ev_job_fonts_run (EvJobFonts *fonts);
-/* EvJobXfer */
-GType ev_job_xfer_get_type (void) G_GNUC_CONST;
-EvJob *ev_job_xfer_new (const gchar *uri,
+/* EvJobLoad */
+GType ev_job_load_get_type (void) G_GNUC_CONST;
+EvJob *ev_job_load_new (const gchar *uri,
EvLinkDest *dest,
EvWindowRunMode mode);
-void ev_job_xfer_run (EvJobXfer *xfer);
+void ev_job_load_set_uri (EvJobLoad *load,
+ const gchar *uri);
+void ev_job_load_run (EvJobLoad *load);
/* EvJobPrint */
GType ev_job_print_get_type (void) G_GNUC_CONST;
EvPrintRange *ranges,
gint n_ranges,
EvPrintPageSet page_set,
+ gint pages_per_sheet,
gint copies,
gdouble collate,
gdouble reverse);