-void
-ev_view_set_zoom (EvView *view,
- double scale)
-{
- view->scale = scale;
-
- g_object_notify (G_OBJECT (view), "zoom");
-}
-
-double
-ev_view_get_zoom (EvView *view)
-{
- return view->scale;
-}
-
-void
-ev_view_set_screen_dpi (EvView *view,
- gdouble dpi)
-{
- g_return_if_fail (EV_IS_VIEW (view));
- g_return_if_fail (dpi > 0);
-
- view->dpi = dpi;
-}
-
-gboolean
-ev_view_get_continuous (EvView *view)
-{
- g_return_val_if_fail (EV_IS_VIEW (view), FALSE);
-
- return view->continuous;
-}
-
-void
-ev_view_set_continuous (EvView *view,
- gboolean continuous)
-{
- g_return_if_fail (EV_IS_VIEW (view));
-
- continuous = continuous != FALSE;
-
- if (view->continuous != continuous) {
- view->continuous = continuous;
- view->pending_scroll = SCROLL_TO_PAGE_POSITION;
- gtk_widget_queue_resize (GTK_WIDGET (view));
- }
-
- g_object_notify (G_OBJECT (view), "continuous");
-}
-
-gboolean
-ev_view_get_dual_page (EvView *view)
-{
- g_return_val_if_fail (EV_IS_VIEW (view), FALSE);
-
- return view->dual_page;
-}
-
-void
-ev_view_set_dual_page (EvView *view,
- gboolean dual_page)
-{
- g_return_if_fail (EV_IS_VIEW (view));
-
- dual_page = dual_page != FALSE;
-
- if (view->dual_page == dual_page)
- return;
-
- view->pending_scroll = SCROLL_TO_PAGE_POSITION;
- view->dual_page = dual_page;
- /* FIXME: if we're keeping the pixbuf cache around, we should extend the
- * preload_cache_size to be 2 if dual_page is set.
- */
- gtk_widget_queue_resize (GTK_WIDGET (view));
-
- g_object_notify (G_OBJECT (view), "dual-page");
-}
-
-void
-ev_view_set_fullscreen (EvView *view,
- gboolean fullscreen)
-{
- g_return_if_fail (EV_IS_VIEW (view));
-
- fullscreen = fullscreen != FALSE;
-
- if (view->fullscreen == fullscreen)
- return;
-
- view->fullscreen = fullscreen;
- gtk_widget_queue_resize (GTK_WIDGET (view));
-
- g_object_notify (G_OBJECT (view), "fullscreen");
-}
-
-gboolean
-ev_view_get_fullscreen (EvView *view)
-{
- g_return_val_if_fail (EV_IS_VIEW (view), FALSE);
-
- return view->fullscreen;
-}
-
-void
-ev_view_set_presentation (EvView *view,
- gboolean presentation)
-{
- g_return_if_fail (EV_IS_VIEW (view));
-
- presentation = presentation != FALSE;
-
- if (view->presentation == presentation)
- return;
-
- if (!presentation)
- view->presentation_state = EV_PRESENTATION_NORMAL;
-
- view->presentation = presentation;
- view->pending_scroll = SCROLL_TO_PAGE_POSITION;
-
- if (presentation) {
- view->sizing_mode_saved = view->sizing_mode;
- view->scale_saved = view->scale;
- ev_view_set_sizing_mode (view, EV_SIZING_BEST_FIT);
- } else {
- ev_document_model_set_sizing_mode (view->model, view->sizing_mode_saved);
- ev_document_model_set_scale (view->model, view->scale_saved);
- }
-
- gtk_widget_queue_resize (GTK_WIDGET (view));
-
- if (presentation)
- ev_view_presentation_transition_start (view);
- else {
- ev_view_presentation_transition_stop (view);
-
- if (view->animation) {
- /* stop any running animation */
- ev_view_transition_animation_cancel (view->animation, view);
- }
- }
-
- if (GTK_WIDGET_REALIZED (view)) {
- if (view->presentation)
- gdk_window_set_background (view->layout.bin_window,
- >K_WIDGET (view)->style->black);
- else
- gdk_window_set_background (view->layout.bin_window,
- >K_WIDGET (view)->style->mid [GTK_STATE_NORMAL]);
- }
-
- g_object_notify (G_OBJECT (view), "presentation");
-}
-
-gboolean
-ev_view_get_presentation (EvView *view)
-{
- g_return_val_if_fail (EV_IS_VIEW (view), FALSE);
-
- return view->presentation;
-}
-
-static gboolean
-transition_next_page (EvView *view)
-{
- ev_view_next_page (view);
-
- return FALSE;
-}
-
-static void
-ev_view_presentation_transition_stop (EvView *view)
-{
- if (view->trans_timeout_id > 0)
- g_source_remove (view->trans_timeout_id);
- view->trans_timeout_id = 0;
-}
-
-static void
-ev_view_presentation_transition_start (EvView *view)
-{
- gdouble duration;
-
- if (!EV_IS_DOCUMENT_TRANSITION (view->document))
- return;
-
- ev_view_presentation_transition_stop (view);
-
- duration = ev_document_transition_get_page_duration (EV_DOCUMENT_TRANSITION (view->document),
- view->current_page);
- if (duration > 0) {
- view->trans_timeout_id =
- g_timeout_add_seconds (duration,
- (GSourceFunc) transition_next_page,
- view);
- }
-}
-
-void
-ev_view_set_sizing_mode (EvView *view,
- EvSizingMode sizing_mode)
-{
- view->sizing_mode = sizing_mode;
-
- g_object_notify (G_OBJECT (view), "sizing-mode");
-}
-
-EvSizingMode
-ev_view_get_sizing_mode (EvView *view)
-{
- g_return_val_if_fail (EV_IS_VIEW (view), EV_SIZING_FREE);
-
- return view->sizing_mode;
-}
-