diff options
author | Owen Taylor <otaylor@redhat.com> | 2004-12-22 04:14:06 (GMT) |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2004-12-22 04:14:06 (GMT) |
commit | 694748d4887f8ffd866ae30c1660e86af2ceafed (patch) | |
tree | 699b42d76bf7f36c7be539c67bc162bb5bd0bc0d /backend | |
parent | 484bd6fc379965a3ad83e758135691d84d595f87 (diff) |
Redo size handling.
Tue Dec 21 23:05:51 2004 Owen Taylor <otaylor@redhat.com>
* backend/ev-document.{h,cc} pdf/xpdf/pdf-document.cc:
Redo size handling.
* shell/ev-view.c: Track the size from the document.
Diffstat (limited to 'backend')
-rw-r--r-- | backend/ev-document.c | 27 | ||||
-rw-r--r-- | backend/ev-document.h | 60 |
2 files changed, 54 insertions, 33 deletions
diff --git a/backend/ev-document.c b/backend/ev-document.c index 5886e3f..3ed1181 100644 --- a/backend/ev-document.c +++ b/backend/ev-document.c @@ -83,14 +83,29 @@ ev_document_set_target (EvDocument *document, } void -ev_document_set_page_rect (EvDocument *document, - int x, - int y, - int width, - int height) +ev_document_set_scale (EvDocument *document, + double scale) { EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); - iface->set_page_rect (document, x, y, width, height); + iface->set_scale (document, scale); +} + +void +ev_document_set_page_offset (EvDocument *document, + int x, + int y) +{ + EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); + iface->set_page_offset (document, x, y); +} + +void +ev_document_get_page_size (EvDocument *document, + int *width, + int *height) +{ + EvDocumentIface *iface = EV_DOCUMENT_GET_IFACE (document); + iface->get_page_size (document, width, height); } void diff --git a/backend/ev-document.h b/backend/ev-document.h index aa10f9b..e572fed 100644 --- a/backend/ev-document.h +++ b/backend/ev-document.h @@ -50,38 +50,44 @@ struct _EvDocumentIface int page); void (* set_target) (EvDocument *document, GdkDrawable *target); - void (* set_page_rect) (EvDocument *document, + void (* set_scale) (EvDocument *document, + double scale); + void (* set_page_offset) (EvDocument *document, int x, - int y, - int width, - int height); - void (* render) (EvDocument *document, - int clip_x, - int clip_y, - int clip_width, - int clip_height); + 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); }; GType ev_document_get_type (void); -gboolean ev_document_load (EvDocument *document, - const char *uri, - GError **error); -int ev_document_get_n_pages (EvDocument *document); -void ev_document_set_page (EvDocument *document, - int page); -void ev_document_set_target (EvDocument *document, - GdkDrawable *target); -void ev_document_set_page_rect (EvDocument *document, - int x, - int y, - int width, - int height); -void ev_document_render (EvDocument *document, - int clip_x, - int clip_y, - int clip_width, - int clip_height); +gboolean ev_document_load (EvDocument *document, + const char *uri, + GError **error); +int ev_document_get_n_pages (EvDocument *document); +void ev_document_set_page (EvDocument *document, + int page); +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 *width, + int *height); +void ev_document_render (EvDocument *document, + int clip_x, + int clip_y, + int clip_width, + int clip_height); G_END_DECLS |