#include <gtk/gtk.h>
#include "ev-document.h"
#include "ev-window.h"
-#include "ev-file-exporter.h"
#include "ev-selection.h"
G_BEGIN_DECLS
typedef struct _EvJobLoad EvJobLoad;
typedef struct _EvJobLoadClass EvJobLoadClass;
+typedef struct _EvJobSave EvJobSave;
+typedef struct _EvJobSaveClass EvJobSaveClass;
+
typedef struct _EvJobPrint EvJobPrint;
typedef struct _EvJobPrintClass EvJobPrintClass;
#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_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))
+#define EV_TYPE_JOB_SAVE (ev_job_save_get_type())
+#define EV_JOB_SAVE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_SAVE, EvJobSave))
+#define EV_JOB_SAVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_SAVE, EvJobSaveClass))
+#define EV_IS_JOB_SAVE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_SAVE))
+
+#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_PRIORITY_LOW,
EvJobClass parent_class;
};
+typedef enum {
+ EV_RENDER_INCLUDE_NONE = 0,
+ EV_RENDER_INCLUDE_LINKS = 1 << 0,
+ EV_RENDER_INCLUDE_TEXT = 1 << 1,
+ 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
+} EvRenderFlags;
+
struct _EvJobRender
{
EvJob parent;
- EvRenderContext *rc;
+ gint page;
+ gint rotation;
+ gdouble scale;
+
+ EvPage *ev_page;
gboolean page_ready;
gint target_width;
gint target_height;
GdkColor base;
GdkColor text;
- gint include_forms : 1;
- gint include_links : 1;
- gint include_text : 1;
- gint include_selection : 1;
- gint include_images : 1;
+ EvRenderFlags flags;
};
struct _EvJobRenderClass
{
EvJob parent;
- EvRenderContext *rc;
+ gint page;
+ gint rotation;
+ gdouble scale;
+
GdkPixbuf *thumbnail;
};
EvLinkDest *dest;
EvWindowRunMode mode;
+ gchar *search_string;
GError *error;
gchar *uri;
};
EvJobClass parent_class;
};
+struct _EvJobSave
+{
+ EvJob parent;
+
+ GError *error;
+ gchar *uri;
+ gchar *document_uri;
+};
+
+struct _EvJobSaveClass
+{
+ EvJobClass parent_class;
+};
+
struct _EvJobPrint
{
EvJob parent;
gboolean reverse;
gdouble width;
gdouble height;
- EvFileExporterOrientation orientation;
};
struct _EvJobPrintClass
/* EvJobRender */
GType ev_job_render_get_type (void) G_GNUC_CONST;
EvJob *ev_job_render_new (EvDocument *document,
- EvRenderContext *rc,
+ gint page,
+ gint rotation,
+ gdouble scale,
gint width,
gint height,
+ EvRenderFlags flags);
+void ev_job_render_set_selection_info (EvJobRender *job,
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);
+ GdkColor *base);
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,
- EvRenderContext *rc);
+ gint page,
+ gint rotation,
+ gdouble scale);
void ev_job_thumbnail_run (EvJobThumbnail *thumbnail);
/* EvJobFonts */
GType ev_job_load_get_type (void) G_GNUC_CONST;
EvJob *ev_job_load_new (const gchar *uri,
EvLinkDest *dest,
- EvWindowRunMode mode);
+ EvWindowRunMode mode,
+ const gchar *search_string);
void ev_job_load_set_uri (EvJobLoad *load,
const gchar *uri);
void ev_job_load_run (EvJobLoad *load);
+/* EvJobSave */
+GType ev_job_save_get_type (void) G_GNUC_CONST;
+EvJob *ev_job_save_new (EvDocument *document,
+ const gchar *uri,
+ const gchar *document_uri);
+void ev_job_save_run (EvJobSave *save);
+
/* EvJobPrint */
GType ev_job_print_get_type (void) G_GNUC_CONST;
EvJob *ev_job_print_new (EvDocument *document,
const gchar *format,
gdouble width,
gdouble height,
- EvFileExporterOrientation orientation,
EvPrintRange *ranges,
gint n_ranges,
EvPrintPageSet page_set,