From 5e6728daa9b09a76f2537f7c848123639165cd70 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Tue, 05 Apr 2005 00:40:58 +0000 Subject: Make searching work again. 2005-04-04 Kristian Høgsberg Make searching work again. * backend/ev-document.c: * backend/ev-document.h: * backend/ev-document-find.c: * backend/ev-document-find.h: Change EvDocumentIface so we no longer store the current page or zoom level in the document. The consequence is that all calls that operate on the current page now instead take the page number as an extra argument, and all coordinates are now doubles in document coordinate system. * pdf/ev-poppler.cc: * pixbuf/pixbuf-document.c: * ps/ps-document.c: Update backends accordingly. --- (limited to 'backend/ev-document.h') diff --git a/backend/ev-document.h b/backend/ev-document.h index e5c91b7..743b947 100644 --- a/backend/ev-document.h +++ b/backend/ev-document.h @@ -54,14 +54,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,24 +73,20 @@ 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_scale) (EvDocument *document, - double scale); void (* get_page_size) (EvDocument *document, int page, - int *width, - int *height); + double *width, + double *height); char * (* get_page_label) (EvDocument *document, int page); char * (* get_text) (EvDocument *document, - GdkRectangle *rect); - EvLink * (* get_link) (EvDocument *document, - int x, - int y); - GList * (* get_links) (EvDocument *document); - 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); }; GType ev_document_get_type (void); @@ -104,24 +103,20 @@ gboolean ev_document_save (EvDocument *document, 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_scale (EvDocument *document, - double scale); void ev_document_get_page_size (EvDocument *document, int page, - int *width, - int *height); + double *width, + double *height); char *ev_document_get_page_label(EvDocument *document, - int page); + int page); char *ev_document_get_text (EvDocument *document, - GdkRectangle *rect); -EvLink *ev_document_get_link (EvDocument *document, - int x, - int y); -GList *ev_document_get_links (EvDocument *document); -GdkPixbuf *ev_document_render_pixbuf (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 -- cgit v0.9.1