summaryrefslogtreecommitdiff
path: root/source/fitz/draw-imp.h
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2016-05-27 17:13:56 +0100
committerRobin Watts <robin.watts@artifex.com>2016-05-29 10:11:30 +0100
commit6ac9843782043fd221db156de525fc825ecdeb0c (patch)
tree0de733d065f4a5a5f0df0c80278c07a09247ca02 /source/fitz/draw-imp.h
parent37dbda6399654f4aaf6a5062e70d85b578d2d584 (diff)
downloadmupdf-6ac9843782043fd221db156de525fc825ecdeb0c.tar.xz
Split draw-paint.c plotters out into separate functions.
Again, mainly so profiling works nicely.
Diffstat (limited to 'source/fitz/draw-imp.h')
-rw-r--r--source/fitz/draw-imp.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/source/fitz/draw-imp.h b/source/fitz/draw-imp.h
index 7b035d08..bb94be4d 100644
--- a/source/fitz/draw-imp.h
+++ b/source/fitz/draw-imp.h
@@ -29,10 +29,14 @@ fz_irect *fz_bound_path_accurate(fz_context *ctx, fz_irect *bbox, const fz_irect
* Plotting functions.
*/
-void fz_paint_solid_color(unsigned char * restrict dp, int n, int w, const unsigned char * restrict color, int da);
+typedef void (fz_solid_color_painter_t)(unsigned char * restrict dp, int n, int w, const unsigned char * restrict color, int da);
-void fz_paint_span(unsigned char * restrict dp, int da, const unsigned char * restrict sp, int sa, int n, int w, int alpha);
-void fz_paint_span_with_color(unsigned char * restrict dp, const unsigned char * restrict mp, int n, int w, const unsigned char * restrict color, int da);
+typedef void (fz_span_painter_t)(unsigned char * restrict dp, int da, const unsigned char * restrict sp, int sa, int n, int w, int alpha);
+typedef void (fz_span_color_painter_t)(unsigned char * restrict dp, const unsigned char * restrict mp, int n, int w, const unsigned char * restrict color, int da);
+
+fz_solid_color_painter_t *fz_get_solid_color_painter(int n, const unsigned char * restrict color, int da);
+fz_span_painter_t *fz_get_span_painter(int da, int sa, int n, int alpha);
+fz_span_color_painter_t *fz_get_span_color_painter(int n, int da, const unsigned char * restrict color);
void fz_paint_image(fz_pixmap *dst, const fz_irect * restrict scissor, fz_pixmap * restrict shape, const fz_pixmap * restrict img, const fz_matrix * restrict ctm, int alpha, int lerp_allowed, int gridfit_as_tiled);
void fz_paint_image_with_color(fz_pixmap * restrict dst, const fz_irect * restrict scissor, fz_pixmap *restrict shape, const fz_pixmap * restrict img, const fz_matrix * restrict ctm, const unsigned char * restrict colorbv, int lerp_allowed, int gridfit_as_tiled);