]> www.fi.muni.cz Git - evince.git/blobdiff - backend/ev-document-find.h
Added missing files.
[evince.git] / backend / ev-document-find.h
index 112faf2d8dbd345b3d321dea5f250d01daf8d4a3..f365df13479b8a21723583b03dea0dde99048372 100644 (file)
 #include <glib.h>
 #include <gdk/gdk.h>
 
-G_BEGIN_DECLS
+#include "ev-document.h"       /* For EvRectangle */
 
-typedef struct
-{
-  int page_num;
-  GdkRectangle highlight_area;
-} EvFindResult;
+G_BEGIN_DECLS
 
 #define EV_TYPE_DOCUMENT_FIND      (ev_document_find_get_type ())
 #define EV_DOCUMENT_FIND(o)                (G_TYPE_CHECK_INSTANCE_CAST ((o), EV_TYPE_DOCUMENT_FIND, EvDocumentFind))
@@ -50,30 +46,44 @@ struct _EvDocumentFindIface
 
         /* Methods */
         
-        void         (* begin)     (EvDocumentFind    *document_find,
-                                    const char        *search_string,
-                                    gboolean           case_sensitive);
-        void         (* cancel)    (EvDocumentFind    *document_find);
+        void     (* begin)           (EvDocumentFind *document_find,
+                                      int             page,
+                                       const char     *search_string,
+                                       gboolean        case_sensitive);
+        void     (* cancel)          (EvDocumentFind *document_find);
+       int      (* page_has_results) (EvDocumentFind *document_find,
+                                      int             page);
+       int      (* get_n_results)    (EvDocumentFind *document_find,
+                                      int             page);
+       gboolean (* get_result)       (EvDocumentFind *document_find,
+                                      int             page,
+                                      int             n_result,
+                                      EvRectangle    *rectangle); 
+       double   (* get_progress)     (EvDocumentFind *document_find);
 
         /* Signals */
 
-        void         (* found)      (EvDocumentFind     *document_find,
-                                     const EvFindResult *results,
-                                     int                 n_results,
-                                     double              percent_complete);
+        void     (* find_changed)     (EvDocumentFind *document_find,
+                                      int             page);
 };
 
-GType ev_document_find_get_type (void);
-
-void ev_document_find_begin  (EvDocumentFind     *document_find,
-                              const char         *search_string,
-                              gboolean            case_sensitive);
-void ev_document_find_cancel (EvDocumentFind     *document_find);
-void ev_document_find_found  (EvDocumentFind     *document_find,
-                              const EvFindResult *results,
-                              int                 n_results,
-                              double              percent_complete);
-
+GType     ev_document_find_get_type         (void);
+void      ev_document_find_begin           (EvDocumentFind *document_find,
+                                            int             page,
+                                            const char     *search_string,
+                                            gboolean        case_sensitive);
+void      ev_document_find_cancel          (EvDocumentFind *document_find);
+int       ev_document_find_page_has_results (EvDocumentFind *document_find,
+                                            int             page);
+int       ev_document_find_get_n_results    (EvDocumentFind *document_find,
+                                            int             page);
+gboolean  ev_document_find_get_result      (EvDocumentFind *document_find,
+                                            int             page,
+                                            int             n_result,
+                                            EvRectangle    *rectangle); 
+double   ev_document_find_get_progress     (EvDocumentFind *document_find);
+void      ev_document_find_changed          (EvDocumentFind *document_find,
+                                            int             page);
 
 /* How this interface works:
  *
@@ -81,14 +91,6 @@ void ev_document_find_found  (EvDocumentFind     *document_find,
  * 
  * cancel() cancels a search if any, otherwise does nothing.
  * 
- * If begin() has been called and cancel() has not, then the
- * "found" signal can be emitted at any time.
- * The results given in the "found" signal are always all-inclusive,
- * that is, the array will contain all results found so far.
- * There are no guarantees about the ordering of the array,
- * or consistency of ordering between "found" signal emissions.
- *
- * When cancel() is called, "found" will always be emitted with NULL,0
  */
 
 G_END_DECLS