view->cursor == EV_VIEW_CURSOR_IBEAM)
ev_view_set_cursor (view, EV_VIEW_CURSOR_NORMAL);
}
- return;
}
/*** Images ***/
ev_document_fc_mutex_unlock ();
}
- width = cairo_image_surface_get_width (view->loading_text) / 2;
+ width = (page_area->width - cairo_image_surface_get_width (view->loading_text)) / 2;
height = (page_area->height - cairo_image_surface_get_height (view->loading_text)) / 2;
cr = gdk_cairo_create (GTK_WIDGET (view)->window);
EvView *view)
{
if (view->current_page != new_page) {
+ gint x, y;
+
view->current_page = new_page;
view->pending_scroll = SCROLL_TO_PAGE_POSITION;
+
if (view->presentation)
ev_view_presentation_transition_start (view);
+
+ gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y);
+ handle_link_over_xy (view, x, y);
+
gtk_widget_queue_resize (GTK_WIDGET (view));
} else {
gtk_widget_queue_draw (GTK_WIDGET (view));
}
}
-static void on_adjustment_value_changed (GtkAdjustment *adjustment,
- EvView *view)
+static void
+on_adjustment_value_changed (GtkAdjustment *adjustment,
+ EvView *view)
{
int dx = 0, dy = 0;
+ gint x, y;
if (! GTK_WIDGET_REALIZED (view))
return;
view->scroll_y = 0;
}
-
if (view->pending_resize)
gtk_widget_queue_draw (GTK_WIDGET (view));
else
gdk_window_scroll (GTK_WIDGET (view)->window, dx, dy);
-
+ gtk_widget_get_pointer (GTK_WIDGET (view), &x, &y);
+ handle_link_over_xy (view, x, y);
+
if (view->document)
view_update_range_and_current_page (view);
}
g_signal_connect (view->page_cache, "page-changed", G_CALLBACK (page_changed_cb), view);
view->pixbuf_cache = ev_pixbuf_cache_new (GTK_WIDGET (view), view->document);
g_signal_connect (view->pixbuf_cache, "job-finished", G_CALLBACK (job_finished_cb), view);
+ page_changed_cb (view->page_cache,
+ ev_page_cache_get_current_page (view->page_cache),
+ view);
}
static void
if (!view->page_cache)
return FALSE;
+ if (view->presentation &&
+ (view->presentation_state == EV_PRESENTATION_BLACK ||
+ view->presentation_state == EV_PRESENTATION_WHITE)) {
+ ev_view_reset_presentation_state (view);
+ return FALSE;
+ }
+
ev_view_presentation_transition_stop (view);
ev_view_reset_presentation_state (view);
return TRUE;
}
+ if (view->presentation &&
+ (view->presentation_state == EV_PRESENTATION_BLACK ||
+ view->presentation_state == EV_PRESENTATION_WHITE)) {
+ ev_view_reset_presentation_state (view);
+ return FALSE;
+ }
+
ev_view_reset_presentation_state (view);
page = ev_page_cache_get_current_page (view->page_cache);