X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=backend%2Fev-document-find.h;h=f365df13479b8a21723583b03dea0dde99048372;hb=d89b1cb89ef2d589befbe7a7f0c9732ff72ecc7b;hp=112faf2d8dbd345b3d321dea5f250d01daf8d4a3;hpb=99c9d3fafb8944bedbad648b8ba8f2c9a5c7ac29;p=evince.git diff --git a/backend/ev-document-find.h b/backend/ev-document-find.h index 112faf2d..f365df13 100644 --- a/backend/ev-document-find.h +++ b/backend/ev-document-find.h @@ -26,13 +26,9 @@ #include #include -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