diff options
Diffstat (limited to 'fitz/fitz.h')
-rw-r--r-- | fitz/fitz.h | 66 |
1 files changed, 56 insertions, 10 deletions
diff --git a/fitz/fitz.h b/fitz/fitz.h index 44f1c070..8cd351ae 100644 --- a/fitz/fitz.h +++ b/fitz/fitz.h @@ -1030,6 +1030,50 @@ void fz_executedisplaylist(fz_displaylist *list, fz_device *dev, fz_matrix ctm); * They can be replaced by cpu-optimized versions. */ +/* +These are the blending primitives: + +span over span (text and path drawing to clip mask) +span in alpha over span +span in span over span +color in span over span (text and path drawing) + + fz_paintspan(dp, sp); + fz_paintspanalpha(dp, sp, alpha) + fz_paintspanmask(dp, sp, mask); + fz_paintspancolor(dp, color, mask); + +pixmap over pixmap (shading with function lookup) +pixmap in alpha over pixmap (xobject/shading with ca) +pixmap in pixmap over pixmap (xobject with softmask / clip) + + fz_paintpixmap() + fz_paintpixmapalpha() + fz_paintpixmapmask() + +affine over span +affine in alpha over span +color in affine over span + + fz_paintaffine() + fz_paintaffinealpha() + fz_paintaffinecolor() + +image over pixmap (image fill) +image in alpha over pixmap (image fill with ca) +color in image over pixmap (image mask fill) + + fz_paintimage() + fz_paintimagealpha() + fz_paintimagecolor() + +pixmap BLEND pixmap +pixmap in alpha BLEND pixmap + + fz_blendpixmap() + fz_blendpixmapalpha() +*/ + void fz_accelerate(void); void fz_acceleratearch(void); @@ -1037,18 +1081,20 @@ void fz_decodetile(fz_pixmap *pix, float *decode); void fz_decodeindexedtile(fz_pixmap *pix, float *decode, int maxval); void fz_unpacktile(fz_pixmap *dst, unsigned char * restrict src, int n, int depth, int stride, int scale); -void fz_blendpixmapswithmode(fz_pixmap *dst, fz_pixmap *src, fz_blendmode blendmode); -void fz_blendpixmapswithmask(fz_pixmap *dst, fz_pixmap *src, fz_pixmap *msk); -void fz_blendpixmapswithalpha(fz_pixmap *dst, fz_pixmap *src, float alpha); -void fz_blendpixmaps(fz_pixmap *dst, fz_pixmap *src); +void fz_paintspan(unsigned char * restrict dp, unsigned char * restrict sp, int n, int w, int alpha); +void fz_paintspancolor(unsigned char * restrict dp, unsigned char * restrict mp, int n, int w, unsigned char *color); +void fz_paintspanmask(unsigned char * restrict dp, unsigned char * restrict sp, unsigned char * restrict mp, int n, int w); + +void fz_paintaffine(unsigned char *dp, unsigned char *sp, int sw, int sh, int u, int v, int fa, int fb, int w, int n, int alpha); +void fz_paintaffinecolor(unsigned char *dp, unsigned char *sp, int sw, int sh, int u, int v, int fa, int fb, int w, int n, unsigned char *color); + +void fz_paintimage(fz_pixmap *dst, fz_bbox scissor, fz_pixmap *img, fz_matrix ctm, int alpha); +void fz_paintimagecolor(fz_pixmap *dst, fz_bbox scissor, fz_pixmap *img, fz_matrix ctm, unsigned char *colorbv); -void fz_blendmasks(unsigned char * restrict dp, unsigned char * restrict sp, int w); -void fz_blendwithcolormask(unsigned char * restrict dp, unsigned char * restrict sp, unsigned char * restrict mp, int n, int w); -void fz_blendnormal(unsigned char * restrict dp, unsigned char * restrict sp, int n, int w); -void fz_blendwithmask(unsigned char * restrict dp, unsigned char * restrict sp, unsigned char * restrict mp, int n, int w); +void fz_paintpixmap(fz_pixmap *dst, fz_pixmap *src, int alpha); +void fz_paintpixmapmask(fz_pixmap *dst, fz_pixmap *src, fz_pixmap *msk); -void fz_blendimage(fz_pixmap *dst, fz_bbox scissor, fz_pixmap *img, fz_matrix ctm); -void fz_blendimagewithcolor(fz_pixmap *dst, fz_bbox scissor, fz_pixmap *img, fz_matrix ctm, unsigned char *colorbv); +void fz_blendpixmap(fz_pixmap *dst, fz_pixmap *src, int alpha, fz_blendmode blendmode); extern void (*fz_srown)(unsigned char *restrict, unsigned char *restrict, int w, int denom, int n); extern void (*fz_srow1)(unsigned char *restrict, unsigned char *restrict, int w, int denom); |