1
1
/* this file is part of evince, a gnome document viewer
3
* Copyright (C) 2008 Carlos Garcia Campos <carlosgc@gnome.org>
3
4
* Copyright (C) 2005 Red Hat, Inc
5
6
* Evince is free software; you can redistribute it and/or modify it
39
42
typedef struct _EvJobLinks EvJobLinks;
40
43
typedef struct _EvJobLinksClass EvJobLinksClass;
45
typedef struct _EvJobAttachments EvJobAttachments;
46
typedef struct _EvJobAttachmentsClass EvJobAttachmentsClass;
42
48
typedef struct _EvJobFonts EvJobFonts;
43
49
typedef struct _EvJobFontsClass EvJobFontsClass;
51
57
typedef struct _EvJobPrint EvJobPrint;
52
58
typedef struct _EvJobPrintClass EvJobPrintClass;
60
typedef struct _EvJobFind EvJobFind;
61
typedef struct _EvJobFindClass EvJobFindClass;
54
63
#define EV_TYPE_JOB (ev_job_get_type())
55
64
#define EV_JOB(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB, EvJob))
56
65
#define EV_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB, EvJobClass))
57
66
#define EV_IS_JOB(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB))
67
#define EV_JOB_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_JOB, EvJobClass))
59
69
#define EV_TYPE_JOB_LINKS (ev_job_links_get_type())
60
70
#define EV_JOB_LINKS(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_LINKS, EvJobLinks))
61
71
#define EV_JOB_LINKS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_LINKS, EvJobLinksClass))
62
72
#define EV_IS_JOB_LINKS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_LINKS))
74
#define EV_TYPE_JOB_ATTACHMENTS (ev_job_attachments_get_type())
75
#define EV_JOB_ATTACHMENTS(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_ATTACHMENTS, EvJobAttachments))
76
#define EV_JOB_ATTACHMENTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_ATTACHMENTS, EvJobAttachmentsClass))
77
#define EV_IS_JOB_ATTACHMENTS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_ATTACHMENTS))
64
79
#define EV_TYPE_JOB_RENDER (ev_job_render_get_type())
65
80
#define EV_JOB_RENDER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_RENDER, EvJobRender))
66
81
#define EV_JOB_RENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_RENDER, EvJobRenderClass))
91
106
#define EV_JOB_PRINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_PRINT, EvJobPrintClass))
92
107
#define EV_IS_JOB_PRINT(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_PRINT))
109
#define EV_TYPE_JOB_FIND (ev_job_find_get_type())
110
#define EV_JOB_FIND(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_JOB_FIND, EvJobFind))
111
#define EV_JOB_FIND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EV_TYPE_JOB_FIND, EvJobFindClass))
112
#define EV_IS_JOB_FIND(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_JOB_FIND))
102
123
EvDocument *document;
125
EvJobRunMode run_mode;
132
GCancellable *cancellable;
134
guint idle_finished_id;
135
guint idle_cancelled_id;
107
138
struct _EvJobClass
109
140
GObjectClass parent_class;
111
void (* finished) (EvJob *job);
142
gboolean (*run) (EvJob *job);
145
void (* cancelled) (EvJob *job);
146
void (* finished) (EvJob *job);
114
149
struct _EvJobLinks
123
158
EvJobClass parent_class;
161
struct _EvJobAttachments
168
struct _EvJobAttachmentsClass
170
EvJobClass parent_class;
174
EV_RENDER_INCLUDE_NONE = 0,
175
EV_RENDER_INCLUDE_LINKS = 1 << 0,
176
EV_RENDER_INCLUDE_TEXT = 1 << 1,
177
EV_RENDER_INCLUDE_SELECTION = 1 << 2,
178
EV_RENDER_INCLUDE_IMAGES = 1 << 3,
179
EV_RENDER_INCLUDE_FORMS = 1 << 4,
180
EV_RENDER_INCLUDE_ALL = (1 << 5) - 1
126
183
struct _EvJobRender
131
192
gboolean page_ready;
132
193
gint target_width;
133
194
gint target_height;
236
298
EvJobClass parent_class;
310
gboolean case_sensitive;
311
gboolean has_results;
314
struct _EvJobFindClass
316
EvJobClass parent_class;
319
void (* updated) (EvJobFind *job,
239
323
/* Base job class */
240
324
GType ev_job_get_type (void) G_GNUC_CONST;
241
void ev_job_finished (EvJob *job);
325
gboolean ev_job_run (EvJob *job);
326
void ev_job_cancel (EvJob *job);
327
void ev_job_failed (EvJob *job,
332
void ev_job_failed_from_error (EvJob *job,
334
void ev_job_succeeded (EvJob *job);
335
gboolean ev_job_is_cancelled (EvJob *job);
336
gboolean ev_job_is_finished (EvJob *job);
337
gboolean ev_job_is_failed (EvJob *job);
338
EvJobRunMode ev_job_get_run_mode (EvJob *job);
339
void ev_job_set_run_mode (EvJob *job,
340
EvJobRunMode run_mode);
244
343
GType ev_job_links_get_type (void) G_GNUC_CONST;
245
344
EvJob *ev_job_links_new (EvDocument *document);
246
void ev_job_links_run (EvJobLinks *thumbnail);
346
/* EvJobAttachments */
347
GType ev_job_attachments_get_type (void) G_GNUC_CONST;
348
EvJob *ev_job_attachments_new (EvDocument *document);
248
350
/* EvJobRender */
249
351
GType ev_job_render_get_type (void) G_GNUC_CONST;
250
352
EvJob *ev_job_render_new (EvDocument *document,
358
EvRenderFlags flags);
359
void ev_job_render_set_selection_info (EvJobRender *job,
254
360
EvRectangle *selection_points,
255
361
EvSelectionStyle selection_style,
258
gboolean include_forms,
259
gboolean include_links,
260
gboolean include_images,
261
gboolean include_text,
262
gboolean include_selection);
263
void ev_job_render_run (EvJobRender *thumbnail);
265
364
/* EvJobThumbnail */
266
365
GType ev_job_thumbnail_get_type (void) G_GNUC_CONST;
267
366
EvJob *ev_job_thumbnail_new (EvDocument *document,
268
EvRenderContext *rc);
269
void ev_job_thumbnail_run (EvJobThumbnail *thumbnail);
272
371
GType ev_job_fonts_get_type (void) G_GNUC_CONST;
273
372
EvJob *ev_job_fonts_new (EvDocument *document);
274
void ev_job_fonts_run (EvJobFonts *fonts);
277
375
GType ev_job_load_get_type (void) G_GNUC_CONST;
281
379
const gchar *search_string);
282
380
void ev_job_load_set_uri (EvJobLoad *load,
283
381
const gchar *uri);
284
void ev_job_load_run (EvJobLoad *load);
382
void ev_job_load_set_password (EvJobLoad *job,
383
const gchar *password);
287
386
GType ev_job_save_get_type (void) G_GNUC_CONST;
288
387
EvJob *ev_job_save_new (EvDocument *document,
289
388
const gchar *uri,
290
389
const gchar *document_uri);
291
void ev_job_save_run (EvJobSave *save);
294
392
GType ev_job_print_get_type (void) G_GNUC_CONST;
305
403
gdouble reverse);
306
void ev_job_print_run (EvJobPrint *print);
405
GType ev_job_find_get_type (void) G_GNUC_CONST;
406
EvJob *ev_job_find_new (EvDocument *document,
410
gboolean case_sensitive);
411
gint ev_job_find_get_n_results (EvJobFind *job,
413
gdouble ev_job_find_get_progress (EvJobFind *job);
414
gboolean ev_job_find_has_results (EvJobFind *job);
415
GList **ev_job_find_get_results (EvJobFind *job);