]> www.fi.muni.cz Git - evince.git/blobdiff - backend/ev-document.h
s/GDate */GDate so we can just use g_free
[evince.git] / backend / ev-document.h
index be0d1dbfedb70d2e6e912e9f674f79d5b2a51b8b..47a91eef79622cbe3f12bd7be4bf3c38620d84bf 100644 (file)
@@ -27,6 +27,7 @@
 #include <gdk/gdk.h>
 
 #include "ev-link.h"
+#include "ev-document-info.h"
 
 G_BEGIN_DECLS
 
@@ -54,14 +55,17 @@ typedef enum
        EV_DOCUMENT_ERROR_ENCRYPTED
 } EvDocumentError;
 
+typedef struct {
+       double x1;
+       double y1;
+       double x2;
+       double y2;
+} EvRectangle;
+
 struct _EvDocumentIface
 {
        GTypeInterface base_iface;
 
-       /* Signals */
-       void        (* page_changed)    (EvDocument *document);
-       void        (* scale_changed)    (EvDocument *document);
-
        /* Methods  */
        gboolean    (* load)            (EvDocument   *document,
                                         const char   *uri,
@@ -70,78 +74,51 @@ struct _EvDocumentIface
                                         const char   *uri,
                                         GError      **error);
        int         (* get_n_pages)     (EvDocument   *document);
-       void        (* set_page)        (EvDocument   *document,
-                                        int           page);
-       int         (* get_page)        (EvDocument   *document);
-       void        (* set_target)      (EvDocument   *document,
-                                        GdkDrawable  *target);
-       void        (* set_scale)       (EvDocument   *document,
-                                        double        scale);
-       void        (* set_page_offset) (EvDocument   *document,
-                                        int           x,
-                                        int           y);
        void        (* get_page_size)   (EvDocument   *document,
                                         int           page,
-                                        int          *width,
-                                        int          *height);
+                                        double       *width,
+                                        double       *height);
+       char      * (* get_page_label)  (EvDocument   *document,
+                                        int           page);
+       gboolean    (* can_get_text)    (EvDocument   *document);
        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);
-       GdkPixbuf *(* render_pixbuf)    (EvDocument   *document);
-
-
-
+                                        int           page,
+                                        EvRectangle  *rect);
+       GList     * (* get_links)       (EvDocument   *document,
+                                        int           page);
+       GdkPixbuf * (* render_pixbuf)   (EvDocument   *document,
+                                        int           page,
+                                        double        scale);
+       EvDocumentInfo *(* get_info)    (EvDocument   *document);
 };
 
-GType        ev_document_get_type       (void);
-GQuark       ev_document_error_quark    (void);
-EvPageCache *ev_document_get_page_cache (EvDocument *document);
-GMutex      *ev_document_get_doc_mutex  (void);
-
-
-gboolean ev_document_load            (EvDocument   *document,
-                                     const char   *uri,
-                                     GError      **error);
-gboolean ev_document_save            (EvDocument   *document,
-                                     const char   *uri,
-                                     GError      **error);
-char    *ev_document_get_title       (EvDocument   *document);
-int      ev_document_get_n_pages     (EvDocument   *document);
-void     ev_document_set_page        (EvDocument   *document,
-                                     int           page);
-int      ev_document_get_page        (EvDocument   *document);
-void     ev_document_set_target      (EvDocument   *document,
-                                     GdkDrawable  *target);
-void     ev_document_set_scale       (EvDocument   *document,
-                                     double        scale);
-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);
-/* Quick hack to test threaded rendering */
-GdkPixbuf *ev_document_render_pixbuf   (EvDocument   *document);
-void    ev_document_page_changed    (EvDocument *document);
-void    ev_document_scale_changed   (EvDocument *document);
+GType          ev_document_get_type       (void);
+GQuark         ev_document_error_quark    (void);
+EvPageCache    *ev_document_get_page_cache (EvDocument     *document);
+GMutex        *ev_document_get_doc_mutex  (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);
+GList         *ev_document_get_links      (EvDocument     *document,
+                                           int             page);
+GdkPixbuf      *ev_document_render_pixbuf  (EvDocument     *document,
+                                           int             page,
+                                           double          scale);
 
 G_END_DECLS