From 6d7f9e7cf7678b48828be0722ae2e998ce85b7a7 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Thu, 24 Feb 2005 12:47:27 +0000 Subject: Separate page/scale notifications 2005-02-24 Marco Pesenti Gritti * backend/ev-document.c: (ev_document_class_init), (ev_document_page_changed), (ev_document_scale_changed): * backend/ev-document.h: Separate page/scale notifications * pdf/xpdf/pdf-document.cc: Emit the new signals. Do not display the pdf page in _render, do it when scale/page are requested. * ps/ps-document.c: (ps_document_set_zoom), (ps_document_widget_event): * ps/ps-document.h: Emit the new signals. * shell/ev-view.c: (ev_view_size_request), (expose_bin_window), (ev_view_init), (page_changed_callback), (scale_changed_callback), (ev_view_set_document), (ev_view_zoom), (ev_view_zoom_in), (ev_view_zoom_out), (size_to_zoom_factor), (ev_view_set_size): * shell/ev-view.h: * shell/ev-window.c: (ev_window_cmd_view_normal_size), (ev_window_cmd_view_page_width), (size_allocate_cb), (ev_window_set_sizing_mode): Rework sizing to be pixel based. There are bugs but should be already way better. --- (limited to 'backend/ev-document.c') diff --git a/backend/ev-document.c b/backend/ev-document.c index a53cbea..5109969 100644 --- a/backend/ev-document.c +++ b/backend/ev-document.c @@ -27,7 +27,8 @@ static void ev_document_class_init (gpointer g_class); enum { - CHANGED, + PAGE_CHANGED, + SCALE_CHANGED, LAST_SIGNAL }; @@ -69,11 +70,21 @@ ev_document_error_quark (void) static void ev_document_class_init (gpointer g_class) { - signals[CHANGED] = - g_signal_new ("changed", + signals[PAGE_CHANGED] = + g_signal_new ("page_changed", EV_TYPE_DOCUMENT, G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (EvDocumentIface, changed), + G_STRUCT_OFFSET (EvDocumentIface, page_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + + signals[SCALE_CHANGED] = + g_signal_new ("scale_changed", + EV_TYPE_DOCUMENT, + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EvDocumentIface, scale_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, @@ -201,7 +212,13 @@ ev_document_render (EvDocument *document, } void -ev_document_changed (EvDocument *document) +ev_document_page_changed (EvDocument *document) +{ + g_signal_emit (G_OBJECT (document), signals[PAGE_CHANGED], 0); +} + +void +ev_document_scale_changed (EvDocument *document) { - g_signal_emit (G_OBJECT (document), signals[CHANGED], 0); -} + g_signal_emit (G_OBJECT (document), signals[SCALE_CHANGED], 0); +} -- cgit v0.9.1