]> www.fi.muni.cz Git - evince.git/blobdiff - backend/ev-document.h
Separate page/scale notifications
[evince.git] / backend / ev-document.h
index 3616e4307b465988e0a74025527e0ca98d26bc3b..b54a0b9f9e7e32d6969805084aa7d39c26873f15 100644 (file)
@@ -40,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,
@@ -66,6 +75,7 @@ struct _EvDocumentIface
                                         int           x,
                                         int           y);
        void        (* get_page_size)   (EvDocument   *document,
+                                        int           page,
                                         int          *width,
                                         int          *height);
        char      * (* get_text)        (EvDocument   *document,
@@ -78,9 +88,12 @@ struct _EvDocumentIface
                                         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,
@@ -101,6 +114,7 @@ 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,
@@ -113,7 +127,8 @@ void     ev_document_render          (EvDocument   *document,
                                      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