1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
typedef struct fz_renderer_s fz_renderer;
typedef struct fz_rastfuncs_s fz_rastfuncs;
#define FZ_BYTE unsigned char
#define FZ_PID \
FZ_BYTE *src, int w, int h, int nx, int ny, \
FZ_BYTE *dst0, int dstw, \
int u0, int v0, int fa, int fb, int fc, int fd
#define FZ_PIM \
FZ_BYTE *src, int w, int h, int nx, int ny, \
FZ_BYTE *dst0, int dstw, \
FZ_BYTE *msk0, int mskw, \
int u0, int v0, int fa, int fb, int fc, int fd
struct fz_rastfuncs_s
{
void (*mask_g)(int, FZ_BYTE*, FZ_BYTE*);
void (*mask_i1)(int, FZ_BYTE*, FZ_BYTE*);
void (*mask_o1)(int, FZ_BYTE*, FZ_BYTE*);
void (*mask_i1o1)(int, FZ_BYTE*, FZ_BYTE*, FZ_BYTE*);
void (*mask_o4w3)(int, FZ_BYTE*, FZ_BYTE*, FZ_BYTE*);
void (*mask_i1o4w3)(int, FZ_BYTE*, FZ_BYTE*, FZ_BYTE*, FZ_BYTE*);
void (*img1_g)(FZ_PID);
void (*img1_i1)(FZ_PID);
void (*img1_o1)(FZ_PID);
void (*img1_i1o1)(FZ_PIM);
void (*img1_o4w3)(FZ_PID, FZ_BYTE*);
void (*img1_i1o4w3)(FZ_PIM, FZ_BYTE*);
void (*img4_g)(FZ_PID);
void (*img4_o4)(FZ_PID);
void (*img4_i1o4)(FZ_PIM);
};
#undef FZ_PIM
#undef FZ_PID
#undef FZ_BYTE
struct fz_renderer_s
{
int maskonly;
fz_colorspace *model;
fz_glyphcache *cache;
fz_gel *gel;
fz_ael *ael;
fz_rastfuncs rast;
fz_irect clip;
fz_pixmap *dest;
fz_pixmap *over;
fz_pixmap *mask;
unsigned char rgb[3];
int flag;
};
void fz_defaultrastfuncs(fz_rastfuncs *);
fz_error *fz_newrenderer(fz_renderer **gcp, fz_colorspace *pcm, int maskonly, int gcmem);
void fz_droprenderer(fz_renderer *gc);
fz_error *fz_rendertree(fz_pixmap **out, fz_renderer *gc, fz_tree *tree, fz_matrix ctm, fz_irect bbox, int white);
|