diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2011-04-10 01:54:25 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2011-04-10 01:54:25 +0200 |
commit | b83d1cfdd14cde26eb7d6ce3b741f9e35e5168a0 (patch) | |
tree | 1d9a886b78452f7d1ca6da94f731aa58b3919c78 /fitz/dev_list.c | |
parent | 2e6b26a5541e7f3c4729deddf6b0f4e3eb55bfb8 (diff) | |
download | mupdf-b83d1cfdd14cde26eb7d6ce3b741f9e35e5168a0.tar.xz |
Make display list struct opaque.
Diffstat (limited to 'fitz/dev_list.c')
-rw-r--r-- | fitz/dev_list.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/fitz/dev_list.c b/fitz/dev_list.c index fc9342fc..eeb4e485 100644 --- a/fitz/dev_list.c +++ b/fitz/dev_list.c @@ -1,5 +1,57 @@ #include "fitz.h" +typedef struct fz_display_node_s fz_display_node; + +typedef enum fz_display_command_e +{ + FZ_CMD_FILL_PATH, + FZ_CMD_STROKE_PATH, + FZ_CMD_CLIP_PATH, + FZ_CMD_CLIP_STROKE_PATH, + FZ_CMD_FILL_TEXT, + FZ_CMD_STROKE_TEXT, + FZ_CMD_CLIP_TEXT, + FZ_CMD_CLIP_STROKE_TEXT, + FZ_CMD_IGNORE_TEXT, + FZ_CMD_FILL_SHADE, + FZ_CMD_FILL_IMAGE, + FZ_CMD_FILL_IMAGE_MASK, + FZ_CMD_CLIP_IMAGE_MASK, + FZ_CMD_POP_CLIP, + FZ_CMD_BEGIN_MASK, + FZ_CMD_END_MASK, + FZ_CMD_BEGIN_GROUP, + FZ_CMD_END_GROUP, + FZ_CMD_BEGIN_TILE, + FZ_CMD_END_TILE +} fz_display_command; + +struct fz_display_node_s +{ + fz_display_command cmd; + fz_display_node *next; + fz_rect rect; + union { + fz_path *path; + fz_text *text; + fz_shade *shade; + fz_pixmap *image; + int blendmode; + } item; + fz_stroke_state *stroke; + int flag; /* even_odd, accumulate, isolated/knockout... */ + fz_matrix ctm; + fz_colorspace *colorspace; + float alpha; + float color[FZ_MAX_COLORS]; +}; + +struct fz_display_list_s +{ + fz_display_node *first; + fz_display_node *last; +}; + enum { ISOLATED = 1, KNOCKOUT = 2 }; static fz_display_node * |