X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=backend%2Fev-document.h;h=b54a0b9f9e7e32d6969805084aa7d39c26873f15;hb=6d7f9e7cf7678b48828be0722ae2e998ce85b7a7;hp=ebf60af636d13b0c9bb7d5a7060343f28ced84a5;hpb=9c1e6ba4d99cb7f937b2b3998814a7486b88c4ce;p=evince.git diff --git a/backend/ev-document.h b/backend/ev-document.h index ebf60af6..b54a0b9f 100644 --- a/backend/ev-document.h +++ b/backend/ev-document.h @@ -26,6 +26,8 @@ #include #include +#include "ev-link.h" + G_BEGIN_DECLS #define EV_TYPE_DOCUMENT (ev_document_get_type ()) @@ -38,12 +40,21 @@ G_BEGIN_DECLS typedef struct _EvDocument EvDocument; typedef struct _EvDocumentIface EvDocumentIface; +#define EV_DOCUMENT_ERROR ev_document_error_quark () + +typedef enum +{ + EV_DOCUMENT_ERROR_INVALID, + EV_DOCUMENT_ERROR_ENCRYPTED +} EvDocumentError; + struct _EvDocumentIface { GTypeInterface base_iface; /* Signals */ - void (* changed) (EvDocument *document); + void (* page_changed) (EvDocument *document); + void (* scale_changed) (EvDocument *document); /* Methods */ gboolean (* load) (EvDocument *document, @@ -64,18 +75,25 @@ struct _EvDocumentIface int x, int y); void (* get_page_size) (EvDocument *document, + int page, int *width, int *height); char * (* get_text) (EvDocument *document, GdkRectangle *rect); + EvLink * (* get_link) (EvDocument *document, + int x, + int y); void (* render) (EvDocument *document, int clip_x, int clip_y, int clip_width, int clip_height); + + }; -GType ev_document_get_type (void); +GType ev_document_get_type (void); +GQuark ev_document_error_quark (void); gboolean ev_document_load (EvDocument *document, const char *uri, @@ -96,16 +114,21 @@ void ev_document_set_page_offset (EvDocument *document, int x, int y); void ev_document_get_page_size (EvDocument *document, + int page, int *width, int *height); char *ev_document_get_text (EvDocument *document, GdkRectangle *rect); +EvLink *ev_document_get_link (EvDocument *document, + int x, + int y); void ev_document_render (EvDocument *document, int clip_x, int clip_y, int clip_width, int clip_height); -void ev_document_changed (EvDocument *document); +void ev_document_page_changed (EvDocument *document); +void ev_document_scale_changed (EvDocument *document); G_END_DECLS