diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2007-06-13 08:54:53 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@src.gnome.org> | 2007-06-13 08:54:53 (GMT) |
commit | 217797d63b2d3b1c9a7a0511af1bbf3d99f0d482 (patch) | |
tree | 7984c3b1bb57f723eb57c81f6ab4121b55e69510 /libdocument/ev-document.h | |
parent | 83005d76d55eea57772ea2dc7224e45f856725be (diff) |
Use cairo image surfaces instead of GDK pixbufs for drawing pages and
2007-06-13 Carlos Garcia Campos <carlosgc@gnome.org>
* backend/dvi/dvi-document.c: (dvi_document_render),
(dvi_document_render_pixbuf), (dvi_document_document_iface_init):
* backend/impress/impress-document.c:
(imp_render_get_from_drawable), (impress_document_render_pixbuf),
(impress_document_render), (impress_document_document_iface_init),
(impress_document_thumbnails_get_thumbnail):
* backend/djvu/djvu-document-private.h:
* backend/djvu/djvu-document.c: (djvu_document_render),
(djvu_document_finalize), (djvu_document_document_iface_init),
(djvu_document_thumbnails_get_thumbnail), (djvu_document_init):
* backend/tiff/tiff-document.c: (tiff_document_render),
(tiff_document_render_pixbuf),
(tiff_document_document_iface_init):
* backend/pdf/ev-poppler.cc: (pdf_document_render),
(pdf_document_render_pixbuf), (pdf_document_document_iface_init),
(pdf_selection_render_selection):
* backend/comics/comics-document.c:
(comics_document_render_pixbuf), (comics_document_render),
(comics_document_document_iface_init):
* backend/pixbuf/pixbuf-document.c: (pixbuf_document_render),
(pixbuf_document_document_iface_init):
* libdocument/ev-document-misc.[ch]:
(ev_document_misc_surface_from_pixbuf),
(ev_document_misc_surface_rotate_and_scale):
* libdocument/ev-document.[ch]: (ev_document_render):
* libdocument/ev-selection.[ch]: (ev_selection_render_selection):
* shell/ev-pixbuf-cache.[ch]: (dispose_cache_job_info),
(move_one_job), (copy_job_to_job_info), (add_job_if_needed),
(ev_pixbuf_cache_get_surface), (new_selection_surface_needed),
(clear_selection_if_needed), (ev_pixbuf_cache_style_changed),
(ev_pixbuf_cache_get_selection_surface), (clear_job_selection):
* shell/ev-jobs.[ch]: (ev_job_render_dispose),
(render_finished_cb), (ev_job_render_run):
* shell/ev-view.c: (draw_loading_text), (draw_one_page),
(merge_selection_region):
Use cairo image surfaces instead of GDK pixbufs for drawing pages
and selections.
svn path=/trunk/; revision=2499
Diffstat (limited to 'libdocument/ev-document.h')
-rw-r--r-- | libdocument/ev-document.h | 149 |
1 files changed, 75 insertions, 74 deletions
diff --git a/libdocument/ev-document.h b/libdocument/ev-document.h index 33b7f4d..ce887fc 100644 --- a/libdocument/ev-document.h +++ b/libdocument/ev-document.h @@ -25,6 +25,7 @@ #include <glib-object.h> #include <glib.h> #include <gdk/gdk.h> +#include <cairo.h> #include "ev-link.h" #include "ev-document-info.h" @@ -32,14 +33,14 @@ G_BEGIN_DECLS -#define EV_TYPE_DOCUMENT (ev_document_get_type ()) -#define EV_DOCUMENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EV_TYPE_DOCUMENT, EvDocument)) -#define EV_DOCUMENT_IFACE(k) (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_DOCUMENT, EvDocumentIface)) -#define EV_IS_DOCUMENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EV_TYPE_DOCUMENT)) -#define EV_IS_DOCUMENT_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_DOCUMENT)) +#define EV_TYPE_DOCUMENT (ev_document_get_type ()) +#define EV_DOCUMENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EV_TYPE_DOCUMENT, EvDocument)) +#define EV_DOCUMENT_IFACE(k) (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_DOCUMENT, EvDocumentIface)) +#define EV_IS_DOCUMENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EV_TYPE_DOCUMENT)) +#define EV_IS_DOCUMENT_IFACE(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_DOCUMENT)) #define EV_DOCUMENT_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_DOCUMENT, EvDocumentIface)) -typedef struct _EvDocument EvDocument; +typedef struct _EvDocument EvDocument; typedef struct _EvDocumentIface EvDocumentIface; typedef struct _EvPageCache EvPageCache; typedef struct _EvPageCacheClass EvPageCacheClass; @@ -50,91 +51,91 @@ typedef struct _EvPageCacheClass EvPageCacheClass; typedef enum { - EV_DOCUMENT_ERROR_INVALID, - EV_DOCUMENT_ERROR_ENCRYPTED + EV_DOCUMENT_ERROR_INVALID, + EV_DOCUMENT_ERROR_ENCRYPTED } EvDocumentError; typedef struct { - double x; - double y; + double x; + double y; } EvPoint; typedef struct { - double x1; - double y1; - double x2; - double y2; + double x1; + double y1; + double x2; + double y2; } EvRectangle; struct _EvDocumentIface { - GTypeInterface base_iface; - - /* Methods */ - gboolean (* load) (EvDocument *document, - const char *uri, - GError **error); - gboolean (* save) (EvDocument *document, - const char *uri, - GError **error); - int (* get_n_pages) (EvDocument *document); - void (* get_page_size) (EvDocument *document, - int page, - double *width, - double *height); - char * (* get_page_label) (EvDocument *document, - int page); - gboolean (* can_get_text) (EvDocument *document); - char * (* get_text) (EvDocument *document, - int page, - EvRectangle *rect); - gboolean (* has_attachments) (EvDocument *document); - GList * (* get_attachments) (EvDocument *document); - GdkPixbuf * (* render_pixbuf) (EvDocument *document, - EvRenderContext *rc); - EvDocumentInfo * (* get_info) (EvDocument *document); + GTypeInterface base_iface; + + /* Methods */ + gboolean (* load) (EvDocument *document, + const char *uri, + GError **error); + gboolean (* save) (EvDocument *document, + const char *uri, + GError **error); + int (* get_n_pages) (EvDocument *document); + void (* get_page_size) (EvDocument *document, + int page, + double *width, + double *height); + char * (* get_page_label) (EvDocument *document, + int page); + gboolean (* can_get_text) (EvDocument *document); + char * (* get_text) (EvDocument *document, + int page, + EvRectangle *rect); + gboolean (* has_attachments) (EvDocument *document); + GList * (* get_attachments) (EvDocument *document); + cairo_surface_t * (* render) (EvDocument *document, + EvRenderContext *rc); + EvDocumentInfo * (* get_info) (EvDocument *document); }; -GType ev_document_get_type (void); -GQuark ev_document_error_quark (void); +GType ev_document_get_type (void) G_GNUC_CONST; +GQuark ev_document_error_quark (void); /* Document mutex */ -GMutex *ev_document_get_doc_mutex (void); -void ev_document_doc_mutex_lock (void); -void ev_document_doc_mutex_unlock (void); +GMutex *ev_document_get_doc_mutex (void); +void ev_document_doc_mutex_lock (void); +void ev_document_doc_mutex_unlock (void); /* FontConfig mutex */ -GMutex *ev_document_get_fc_mutex (void); -void ev_document_fc_mutex_lock (void); -void ev_document_fc_mutex_unlock (void); - -EvDocumentInfo *ev_document_get_info (EvDocument *document); -gboolean ev_document_load (EvDocument *document, - const char *uri, - GError **error); -gboolean ev_document_save (EvDocument *document, - const char *uri, - GError **error); -int ev_document_get_n_pages (EvDocument *document); -void ev_document_get_page_size (EvDocument *document, - int page, - double *width, - double *height); -char *ev_document_get_page_label (EvDocument *document, - int page); -gboolean ev_document_can_get_text (EvDocument *document); -char *ev_document_get_text (EvDocument *document, - int page, - EvRectangle *rect); -gboolean ev_document_has_attachments (EvDocument *document); -GList *ev_document_get_attachments (EvDocument *document); -GdkPixbuf *ev_document_render_pixbuf (EvDocument *document, - EvRenderContext *rc); - -gint ev_rect_cmp (EvRectangle *a, - EvRectangle *b); +GMutex *ev_document_get_fc_mutex (void); +void ev_document_fc_mutex_lock (void); +void ev_document_fc_mutex_unlock (void); + +EvDocumentInfo *ev_document_get_info (EvDocument *document); +gboolean ev_document_load (EvDocument *document, + const char *uri, + GError **error); +gboolean ev_document_save (EvDocument *document, + const char *uri, + GError **error); +int ev_document_get_n_pages (EvDocument *document); +void ev_document_get_page_size (EvDocument *document, + int page, + double *width, + double *height); +char *ev_document_get_page_label (EvDocument *document, + int page); +gboolean ev_document_can_get_text (EvDocument *document); +char *ev_document_get_text (EvDocument *document, + int page, + EvRectangle *rect); +gboolean ev_document_has_attachments (EvDocument *document); +GList *ev_document_get_attachments (EvDocument *document); +cairo_surface_t *ev_document_render (EvDocument *document, + EvRenderContext *rc); + +gint ev_rect_cmp (EvRectangle *a, + EvRectangle *b); G_END_DECLS -#endif +#endif /* EV_DOCUMENT_H */ |