diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2009-08-19 13:29:40 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2009-09-15 13:56:01 (GMT) |
commit | c4b192c34c4758bd078d1a212d69c6ae5084d6c8 (patch) | |
tree | b5195dc33598e02878de1d9fb46437720f1bfbf2 /libview/ev-pixbuf-cache.c | |
parent | 1133f4bb67226d6de5cfec6af6893e061878442b (diff) |
Move part of the EvPageCache to EvDocument
The static data about the document is stored now in EvDocument class
Diffstat (limited to 'libview/ev-pixbuf-cache.c')
-rw-r--r-- | libview/ev-pixbuf-cache.c | 43 |
1 files changed, 14 insertions, 29 deletions
diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c index 41ccadc..763ec04 100644 --- a/libview/ev-pixbuf-cache.c +++ b/libview/ev-pixbuf-cache.c @@ -97,8 +97,8 @@ static gboolean new_selection_surface_needed(EvPixbufCache *pixbuf_cac /* These are used for iterating through the prev and next arrays */ #define FIRST_VISIBLE_PREV(pixbuf_cache) \ (MAX (0, pixbuf_cache->preload_cache_size - pixbuf_cache->start_page)) -#define VISIBLE_NEXT_LEN(pixbuf_cache, page_cache) \ - (MIN(pixbuf_cache->preload_cache_size, ev_page_cache_get_n_pages (page_cache) - (1 + pixbuf_cache->end_page))) +#define VISIBLE_NEXT_LEN(pixbuf_cache) \ + (MIN(pixbuf_cache->preload_cache_size, ev_document_get_n_pages (pixbuf_cache->document) - (1 + pixbuf_cache->end_page))) #define PAGE_CACHE_LEN(pixbuf_cache) \ ((pixbuf_cache->end_page - pixbuf_cache->start_page) + 1) @@ -392,15 +392,12 @@ ev_pixbuf_cache_update_range (EvPixbufCache *pixbuf_cache, CacheJobInfo *new_job_list; CacheJobInfo *new_prev_job; CacheJobInfo *new_next_job; - EvPageCache *page_cache; int i, page; if (pixbuf_cache->start_page == start_page && pixbuf_cache->end_page == end_page) return; - page_cache = ev_page_cache_get (pixbuf_cache->document); - new_job_list = g_new0 (CacheJobInfo, (end_page - start_page) + 1); new_prev_job = g_new0 (CacheJobInfo, pixbuf_cache->preload_cache_size); new_next_job = g_new0 (CacheJobInfo, pixbuf_cache->preload_cache_size); @@ -432,7 +429,7 @@ ev_pixbuf_cache_update_range (EvPixbufCache *pixbuf_cache, } for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { - if (page >= ev_page_cache_get_n_pages (page_cache)) { + if (page >= ev_document_get_n_pages (pixbuf_cache->document)) { dispose_cache_job_info (pixbuf_cache->next_job + i, pixbuf_cache); } else { move_one_job (pixbuf_cache->next_job + i, @@ -620,7 +617,6 @@ get_selection_colors (GtkWidget *widget, GdkColor **text, GdkColor **base) static void add_job (EvPixbufCache *pixbuf_cache, CacheJobInfo *job_info, - EvPageCache *page_cache, GdkRegion *region, gint width, gint height, @@ -696,7 +692,7 @@ add_job_if_needed (EvPixbufCache *pixbuf_cache, cairo_image_surface_get_height (job_info->surface) == height) return; - add_job (pixbuf_cache, job_info, page_cache, NULL, + add_job (pixbuf_cache, job_info, NULL, width, height, page, rotation, scale, priority); } @@ -731,7 +727,7 @@ ev_pixbuf_cache_add_jobs_if_needed (EvPixbufCache *pixbuf_cache, EV_JOB_PRIORITY_LOW); } - for (i = 0; i < VISIBLE_NEXT_LEN(pixbuf_cache, page_cache); i++) { + for (i = 0; i < VISIBLE_NEXT_LEN(pixbuf_cache); i++) { job_info = (pixbuf_cache->next_job + i); page = pixbuf_cache->end_page + 1 + i; @@ -750,14 +746,10 @@ ev_pixbuf_cache_set_page_range (EvPixbufCache *pixbuf_cache, gfloat scale, GList *selection_list) { - EvPageCache *page_cache; - g_return_if_fail (EV_IS_PIXBUF_CACHE (pixbuf_cache)); - page_cache = ev_page_cache_get (pixbuf_cache->document); - - g_return_if_fail (start_page >= 0 && start_page < ev_page_cache_get_n_pages (page_cache)); - g_return_if_fail (end_page >= 0 && end_page < ev_page_cache_get_n_pages (page_cache)); + g_return_if_fail (start_page >= 0 && start_page < ev_document_get_n_pages (pixbuf_cache->document)); + g_return_if_fail (end_page >= 0 && end_page < ev_document_get_n_pages (pixbuf_cache->document)); g_return_if_fail (end_page >= start_page); /* First, resize the page_range as needed. We cull old pages @@ -1113,7 +1105,6 @@ void ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache, GList *selection_list) { - EvPageCache *page_cache; EvViewSelection *selection; GList *list = selection_list; int page; @@ -1124,8 +1115,6 @@ ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache, if (!EV_IS_SELECTION (pixbuf_cache->document)) return; - page_cache = ev_page_cache_get (pixbuf_cache->document); - /* We check each area to see what needs updating, and what needs freeing; */ page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size; for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { @@ -1171,7 +1160,7 @@ ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache, } for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { - if (page >= ev_page_cache_get_n_pages (page_cache)) + if (page >= ev_document_get_n_pages (pixbuf_cache->document)) break; selection = NULL; @@ -1198,7 +1187,6 @@ ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache, GList * ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache) { - EvPageCache *page_cache; EvViewSelection *selection; GList *retval = NULL; int page; @@ -1206,8 +1194,6 @@ ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache) g_return_val_if_fail (EV_IS_PIXBUF_CACHE (pixbuf_cache), NULL); - page_cache = ev_page_cache_get (pixbuf_cache->document); - /* We check each area to see what needs updating, and what needs freeing; */ page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size; for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { @@ -1243,7 +1229,7 @@ ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache) } for (i = 0; i < pixbuf_cache->preload_cache_size; i++) { - if (page >= ev_page_cache_get_n_pages (page_cache)) + if (page >= ev_document_get_n_pages (pixbuf_cache->document)) break; if (pixbuf_cache->next_job[i].selection_points.x1 != -1) { @@ -1261,7 +1247,7 @@ ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache) return retval; } -void +void ev_pixbuf_cache_reload_page (EvPixbufCache *pixbuf_cache, GdkRegion *region, gint page, @@ -1269,18 +1255,17 @@ ev_pixbuf_cache_reload_page (EvPixbufCache *pixbuf_cache, gdouble scale) { CacheJobInfo *job_info; - EvPageCache *page_cache; gint width, height; job_info = find_job_cache (pixbuf_cache, page); if (job_info == NULL) return; - - page_cache = ev_page_cache_get (pixbuf_cache->document); - ev_page_cache_get_size (page_cache, page, rotation, scale, + + ev_page_cache_get_size (ev_page_cache_get (pixbuf_cache->document), + page, rotation, scale, &width, &height); - add_job (pixbuf_cache, job_info, page_cache, region, + add_job (pixbuf_cache, job_info, region, width, height, page, rotation, scale, EV_JOB_PRIORITY_URGENT); } |