summaryrefslogtreecommitdiff
path: root/fitz/dev_list.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2011-04-10 01:54:25 +0200
committerTor Andersson <tor.andersson@artifex.com>2011-04-10 01:54:25 +0200
commitb83d1cfdd14cde26eb7d6ce3b741f9e35e5168a0 (patch)
tree1d9a886b78452f7d1ca6da94f731aa58b3919c78 /fitz/dev_list.c
parent2e6b26a5541e7f3c4729deddf6b0f4e3eb55bfb8 (diff)
downloadmupdf-b83d1cfdd14cde26eb7d6ce3b741f9e35e5168a0.tar.xz
Make display list struct opaque.
Diffstat (limited to 'fitz/dev_list.c')
-rw-r--r--fitz/dev_list.c52
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 *