summaryrefslogtreecommitdiff
path: root/fitz/fitz-internal.h
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2012-11-21 15:59:56 +0000
committerRobin Watts <robin.watts@artifex.com>2012-11-21 17:31:02 +0000
commit678904ef2e6fb9c449b8bdaeba5802643592d4a4 (patch)
treec5c5b97fc6a9a62d25a1ce8331feb76683522990 /fitz/fitz-internal.h
parent06fd5ad8a48b0339bb00ef531d84733fb05f19c6 (diff)
downloadmupdf-678904ef2e6fb9c449b8bdaeba5802643592d4a4.tar.xz
Add weights caches for pixmap scaling.
This means that repeated scaling of the same pixmap (or scales of 'stacked' pixmaps) will do less needless recalculation.
Diffstat (limited to 'fitz/fitz-internal.h')
-rw-r--r--fitz/fitz-internal.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/fitz/fitz-internal.h b/fitz/fitz-internal.h
index d7bbb5cb..914bed68 100644
--- a/fitz/fitz-internal.h
+++ b/fitz/fitz-internal.h
@@ -860,6 +860,13 @@ fz_pixmap *fz_alpha_from_gray(fz_context *ctx, fz_pixmap *gray, int luminosity);
unsigned int fz_pixmap_size(fz_context *ctx, fz_pixmap *pix);
fz_pixmap *fz_scale_pixmap(fz_context *ctx, fz_pixmap *src, float x, float y, float w, float h, fz_bbox *clip);
+
+typedef struct fz_scale_cache_s fz_scale_cache;
+
+fz_scale_cache *fz_new_scale_cache(fz_context *ctx);
+void fz_free_scale_cache(fz_context *ctx, fz_scale_cache *cache);
+fz_pixmap *fz_scale_pixmap_cached(fz_context *ctx, fz_pixmap *src, float x, float y, float w, float h, fz_bbox *clip, fz_scale_cache *cache_x, fz_scale_cache *cache_y);
+
void fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor);
fz_bbox fz_pixmap_bbox_no_ctx(fz_pixmap *src);