diff options
Diffstat (limited to 'content/handlers/image/image_cache.c')
-rw-r--r-- | content/handlers/image/image_cache.c | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/content/handlers/image/image_cache.c b/content/handlers/image/image_cache.c index a1de01da5..8f7ff89ff 100644 --- a/content/handlers/image/image_cache.c +++ b/content/handlers/image/image_cache.c @@ -438,6 +438,7 @@ image_cache_init(const struct image_cache_parameters *image_cache_parameters) nserror image_cache_fini(void) { unsigned int op_count; + uint64_t op_size; guit->misc->schedule(-1, image_cache__background_update, image_cache); @@ -452,6 +453,10 @@ nserror image_cache_fini(void) image_cache->miss_count + image_cache->fail_count; + op_size = image_cache->hit_size + + image_cache->miss_size + + image_cache->fail_size; + NSLOG(netsurf, INFO, "Age %ds", image_cache->current_age / 1000); NSLOG(netsurf, INFO, "Peak size %"PRIsizet" (in %d)", image_cache->max_bitmap_size, @@ -460,12 +465,7 @@ nserror image_cache_fini(void) image_cache->max_bitmap_count, image_cache->max_bitmap_count_size); - if (op_count > 0) { - uint64_t op_size; - - op_size = image_cache->hit_size + - image_cache->miss_size + - image_cache->fail_size; + if ((op_count > 0) && (op_size >0)) { NSLOG(netsurf, INFO, "Cache total/hit/miss/fail (counts) %d/%d/%d/%d (100%%/%d%%/%d%%/%d%%)", @@ -528,7 +528,7 @@ nserror image_cache_add(struct content *content, image_cache__link(centry); centry->content = content; - centry->bitmap_size = content->width * content->height * 4; + centry->bitmap_size = content->width * content->height * 4llu; } NSLOG(netsurf, INFO, "centry %p, content %p, bitmap %p", centry, @@ -632,15 +632,15 @@ case chr : \ slen++; break; - FMTCHR('a', PRIssizet, params.limit); - FMTCHR('b', PRIssizet, params.hysteresis); - FMTCHR('c', PRIssizet, total_bitmap_size); + FMTCHR('a', PRIsizet, params.limit); + FMTCHR('b', PRIsizet, params.hysteresis); + FMTCHR('c', PRIsizet, total_bitmap_size); FMTCHR('d', "d", bitmap_count); FMTCHR('e', "u", current_age / 1000); - FMTCHR('f', PRIssizet, max_bitmap_size); + FMTCHR('f', PRIsizet, max_bitmap_size); FMTCHR('g', "d", max_bitmap_size_count); FMTCHR('h', "d", max_bitmap_count); - FMTCHR('i', PRIssizet, max_bitmap_count_size); + FMTCHR('i', PRIsizet, max_bitmap_count_size); case 'j': @@ -770,7 +770,7 @@ image_cache_snentryf(char *string, if (centry->bitmap != NULL) { slen += snprintf(string + slen, size - slen, - "%" PRIssizet, + "%" PRIsizet, centry->bitmap_size); } else { slen += snprintf(string + slen, @@ -859,6 +859,17 @@ void *image_cache_get_internal(const struct content *c, void *context) } /* exported interface documented in image_cache.h */ +bool image_cache_is_opaque(struct content *c) +{ + struct bitmap *bmp; + bmp = image_cache_get_bitmap(c); + if (bmp != NULL) { + return guit->bitmap->get_opaque(bmp); + } + return false; +} + +/* exported interface documented in image_cache.h */ content_type image_cache_content_type(void) { return CONTENT_IMAGE; |