diff options
author | Carlos 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) |
commit | 7f94a4075450791807ee2699cb0e7a0293ccc2f3 (patch) | |
tree | 053081ede8f0448ba59d6729dc66dcc434817202 /shell/ev-view.c | |
parent | b39fbcf7b7c248bf2ab04d5ff86d17780194ae5d (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.c | 42 |
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 |