
Evince current page
By: a guest on
Jun 21st, 2012 | syntax:
C | size: 1.88 KB | hits: 20 | expires: Never
current_area.x = gtk_adjustment_get_value (view->hadjustment);
current_area.width = gtk_adjustment_get_page_size (view->hadjustment);
current_area.y = gtk_adjustment_get_value (view->vadjustment);
current_area.height = gtk_adjustment_get_page_size (view->vadjustment);
for (i = 0; i < ev_document_get_n_pages (view->document); i++) {
ev_view_get_page_extents (view, i, &page_area, &border);
if (gdk_rectangle_intersect (¤t_area, &page_area, &unused)) {
area = unused.width * unused.height;
if (!found) {
area_max = area;
view->start_page = i;
found = TRUE;
best_current_page = i;
}
if (area > area_max) {
best_current_page = (area == area_max) ? MIN (i, best_current_page) : i;
area_max = area;
}
view->end_page = i;
j = 0;
} else if (found && view->current_page <= view->end_page) {
if (view->dual_page && j < 1) {
/* In dual mode we stop searching
* after two consecutive non-visible pages.
*/
j++;
continue;
}
break;
}
}