}
}
-void
-ev_page_cache_get_max_width (EvPageCache *page_cache,
- gint rotation,
- gfloat scale,
- gint *width)
-{
- double w, h;
-
- g_return_if_fail (EV_IS_PAGE_CACHE (page_cache));
-
- if (!width)
- return;
-
- ev_document_get_max_page_size (page_cache->document, &w, &h);
- *width = (rotation == 0 || rotation == 180) ? w * scale : h * scale;
-}
-
-void
-ev_page_cache_get_max_height (EvPageCache *page_cache,
- gint rotation,
- gfloat scale,
- gint *height)
-{
- double w, h;
-
- g_return_if_fail (EV_IS_PAGE_CACHE (page_cache));
-
- if (!height)
- return;
-
- ev_document_get_max_page_size (page_cache->document, &w, &h);
- *height = (rotation == 0 || rotation == 180) ? h * scale : w * scale;
-}
-
#define PAGE_CACHE_STRING "ev-page-cache"
EvPageCache *
}
}
+static void
+ev_view_get_max_page_size (EvView *view,
+ gint *max_width,
+ gint *max_height)
+{
+ double w, h;
+ gint width, height;
+
+ ev_document_get_max_page_size (view->document, &w, &h);
+
+ width = (gint)(w * view->scale + 0.5);
+ height = (gint)(h * view->scale + 0.5);
+
+ if (max_width)
+ *max_width = (view->rotation == 0 || view->rotation == 180) ? width : height;
+ if (max_height)
+ *max_height = (view->rotation == 0 || view->rotation == 180) ? height : width;
+}
+
static void
get_page_y_offset (EvView *view, int page, int *y_offset)
{
g_return_if_fail (y_offset != NULL);
- ev_page_cache_get_max_width (view->page_cache, view->rotation, view->scale, &max_width);
-
+ ev_view_get_max_page_size (view, &max_width, NULL);
compute_border (view, max_width, max_width, &border);
if (view->dual_page) {
gint max_width;
gint x, y;
- ev_page_cache_get_max_width (view->page_cache, view->rotation,
- view->scale, &max_width);
+ ev_view_get_max_page_size (view, &max_width, NULL);
max_width = max_width + border->left + border->right;
/* Get the location of the bounding box */
if (view->dual_page) {
gint n_pages;
GtkBorder border;
- ev_page_cache_get_max_width (view->page_cache, view->rotation,
- view->scale, &max_width);
+ ev_view_get_max_page_size (view, &max_width, NULL);
compute_border (view, max_width, max_width, &border);
n_pages = ev_document_get_n_pages (view->document) + 1;
int n_pages;
GtkBorder border;
-
- ev_page_cache_get_max_width (view->page_cache, view->rotation,
- view->scale, &max_width);
+ ev_view_get_max_page_size (view, &max_width, NULL);
n_pages = ev_document_get_n_pages (view->document);
compute_border (view, max_width, max_width, &border);