Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-view.c
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2008-11-15 10:08:38 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2008-11-15 10:08:38 (GMT)
commit7f94a4075450791807ee2699cb0e7a0293ccc2f3 (patch)
tree053081ede8f0448ba59d6729dc66dcc434817202 /shell/ev-view.c
parentb39fbcf7b7c248bf2ab04d5ff86d17780194ae5d (diff)
Add layers support.
2008-11-15 Carlos Garcia Campos <carlosgc@gnome.org> * shell/Makefile.am: * shell/ev-jobs.[ch]: (ev_job_layers_init), (ev_job_layers_dispose), (ev_job_layers_run), (ev_job_layers_class_init), (ev_job_layers_new): * shell/ev-sidebar-layers.[ch]: * shell/ev-view.[ch]: (ev_view_form_field_button_create_widget), (ev_view_form_field_text_save), (ev_view_form_field_choice_save), (ev_view_reload_page), (ev_view_reload): * shell/ev-window.c: (setup_sidebar_from_metadata), (ev_window_sidebar_current_page_changed_cb), (sidebar_layers_visibility_changed), (ev_window_init): Add layers support. svn path=/trunk/; revision=3268
Diffstat (limited to 'shell/ev-view.c')
-rw-r--r--shell/ev-view.c42
1 files changed, 26 insertions, 16 deletions
diff --git a/shell/ev-view.c b/shell/ev-view.c
index 41efa33..9c575d2 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -220,6 +220,9 @@ static void draw_one_page (EvView
static void draw_loading_text (EvView *view,
GdkRectangle *page_area,
GdkRectangle *expose_area);
+static void ev_view_reload_page (EvView *view,
+ gint page,
+ GdkRegion *region);
/*** Callbacks ***/
static void job_finished_cb (EvPixbufCache *pixbuf_cache,
@@ -1703,11 +1706,7 @@ ev_view_form_field_button_create_widget (EvView *view,
break;
}
- ev_pixbuf_cache_reload_page (view->pixbuf_cache,
- field_region,
- field->page->index,
- view->rotation,
- view->scale);
+ ev_view_reload_page (view, field->page->index, field_region);
gdk_region_destroy (field_region);
return NULL;
@@ -1733,11 +1732,7 @@ ev_view_form_field_text_save (EvView *view,
ev_document_forms_form_field_text_set_text (EV_DOCUMENT_FORMS (view->document),
field, field_text->text);
field->changed = FALSE;
- ev_pixbuf_cache_reload_page (view->pixbuf_cache,
- field_region,
- field->page->index,
- view->rotation,
- view->scale);
+ ev_view_reload_page (view, field->page->index, field_region);
gdk_region_destroy (field_region);
}
}
@@ -1854,11 +1849,7 @@ ev_view_form_field_choice_save (EvView *view,
}
}
field->changed = FALSE;
- ev_pixbuf_cache_reload_page (view->pixbuf_cache,
- field_region,
- field->page->index,
- view->rotation,
- view->scale);
+ ev_view_reload_page (view, field->page->index, field_region);
gdk_region_destroy (field_region);
}
}
@@ -4471,6 +4462,25 @@ ev_view_set_document (EvView *view,
}
}
+static void
+ev_view_reload_page (EvView *view,
+ gint page,
+ GdkRegion *region)
+{
+ ev_pixbuf_cache_reload_page (view->pixbuf_cache,
+ region,
+ page,
+ view->rotation,
+ view->scale);
+}
+
+void
+ev_view_reload (EvView *view)
+{
+ ev_pixbuf_cache_clear (view->pixbuf_cache);
+ view_update_range_and_current_page (view);
+}
+
/*** Zoom and sizing mode ***/
#define EPSILON 0.0000001
@@ -5871,7 +5881,7 @@ ev_view_previous_page (EvView *view)
return FALSE;
}
}
-
+
/*** Enum description for usage in signal ***/
GType