Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/backend/ev-document.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@gnome.org>2005-02-24 12:47:27 (GMT)
committer Marco Pesenti Gritti <marco@src.gnome.org>2005-02-24 12:47:27 (GMT)
commit6d7f9e7cf7678b48828be0722ae2e998ce85b7a7 (patch)
tree3ac765c1e0b92a5be0ce6a637d8577a0525d3eda /backend/ev-document.c
parent810d8b0808591ebb17d4913da4d20e489e9b8cde (diff)
Separate page/scale notifications
2005-02-24 Marco Pesenti Gritti <marco@gnome.org> * 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.
Diffstat (limited to 'backend/ev-document.c')
-rw-r--r--backend/ev-document.c31
1 files changed, 24 insertions, 7 deletions
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);
+}