]> www.fi.muni.cz Git - evince.git/blobdiff - backend/ev-document.h
Beginnings of clipboard support. Incomplete but primary sort of work.
[evince.git] / backend / ev-document.h
index 8d58f0c501d9d10345169ca1aae16a4047d5562a..ebf60af636d13b0c9bb7d5a7060343f28ced84a5 100644 (file)
 
 G_BEGIN_DECLS
 
-typedef struct
-{
-  int page_num;
-  GdkRectangle highlight_area;
-} EvFindResult;
-
 #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))
@@ -48,44 +42,37 @@ struct _EvDocumentIface
 {
        GTypeInterface base_iface;
 
-       /* Methods  */
-       gboolean    (* load)            (EvDocument *document,
-                                        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         *width,
-                                        int         *height);
-       void        (* render)          (EvDocument  *document,
-                                        int          clip_x,
-                                        int          clip_y,
-                                        int          clip_width,
-                                        int          clip_height);
-        
-        void         (* begin_find)     (EvDocument    *document,
-                                         const char    *search_string,
-                                         gboolean       case_sensitive);
-        void         (* end_find)       (EvDocument    *document);
-
-        /* Signals */
+       /* Signals */
+       void        (* changed)         (EvDocument *document);
 
-        /* "found" emitted at least 1 time (possibly with n_results == 0)
-         * for any call to begin_find.
-         */
-        void         (* found)          (EvDocument         *document,
-                                         const EvFindResult *results,
-                                         int                 n_results,
-                                         double              percent_complete);
+       /* 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        (* 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          *width,
+                                        int          *height);
+       char      * (* get_text)        (EvDocument   *document,
+                                        GdkRectangle *rect);
+       void        (* render)          (EvDocument   *document,
+                                        int           clip_x,
+                                        int           clip_y,
+                                        int           clip_width,
+                                        int           clip_height);
 };
 
 GType ev_document_get_type (void);
@@ -93,6 +80,10 @@ GType ev_document_get_type (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);
@@ -107,15 +98,14 @@ void     ev_document_set_page_offset (EvDocument   *document,
 void     ev_document_get_page_size   (EvDocument   *document,
                                      int          *width,
                                      int          *height);
+char    *ev_document_get_text       (EvDocument   *document,
+                                     GdkRectangle *rect);
 void     ev_document_render          (EvDocument   *document,
                                      int           clip_x,
                                      int           clip_y,
                                      int           clip_width,
                                      int           clip_height);
-void     ev_document_begin_find    (EvDocument   *document,
-                                    const char   *search_string,
-                                    gboolean      case_sensitive);
-void     ev_document_end_find      (EvDocument   *document);
+void    ev_document_changed         (EvDocument *document);
 
 G_END_DECLS