static void fz_list_pop_clip(void *user) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_POP_CLIP, fz_identity, NULL, NULL, 0); fz_append_display_node(user, node); }
static void fz_list_end_tile(fz_device *dev) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_END_TILE, &fz_identity, NULL, NULL, 0); fz_append_display_node(dev->user, node); }
static void fz_list_end_page(fz_device *dev) { fz_context *ctx = dev->ctx; fz_display_node *node = fz_new_display_node(ctx, FZ_CMD_END_PAGE, &fz_identity, NULL, NULL, 0); fz_append_display_node(dev->user, node); }
static void fz_list_pop_clip(fz_device *dev) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_POP_CLIP, &fz_identity, NULL, NULL, 0); fz_append_display_node(dev->user, node); }
static void fz_list_end_group(fz_device *dev) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_END_GROUP, fz_identity, NULL, NULL, 0); fz_append_display_node(dev->user, node); }
static void fz_list_end_group(void *user) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_END_GROUP, fz_identity, NULL, NULL, 0); fz_append_display_node(user, node); }
static void fz_list_end_tile(void *user) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_END_TILE, fz_identity, NULL, NULL, 0); fz_append_display_node(user, node); }
static void fz_list_begin_page(fz_device *dev, const fz_rect *mediabox, const fz_matrix *ctm) { fz_context *ctx = dev->ctx; fz_display_node *node = fz_new_display_node(ctx, FZ_CMD_BEGIN_PAGE, ctm, NULL, NULL, 0); node->rect = *mediabox; fz_transform_rect(&node->rect, ctm); fz_append_display_node(dev->user, node); }
static void fz_list_begin_mask(fz_device *dev, const fz_rect *rect, int luminosity, fz_colorspace *colorspace, float *color) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_BEGIN_MASK, &fz_identity, colorspace, color, 0); node->rect = *rect; node->flag = luminosity; fz_append_display_node(dev->user, node); }
static void fz_list_end_tile(fz_device *dev) { //PDFLOGI("[dev_list.c] fz_list_end_tile, start \n"); fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_END_TILE, fz_identity, NULL, NULL, 0); fz_append_display_node(dev->user, node); }
static void fz_list_fill_image(fz_device *dev, fz_image *image, fz_matrix ctm, float alpha) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_FILL_IMAGE, ctm, NULL, NULL, alpha); node->rect = fz_transform_rect(ctm, fz_unit_rect); node->item.image = fz_keep_image(dev->ctx, image); fz_append_display_node(dev->user, node); }
static void fz_list_fill_image(void *user, fz_pixmap *image, fz_matrix ctm, float alpha) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_FILL_IMAGE, ctm, NULL, NULL, alpha); node->rect = fz_transform_rect(ctm, fz_unit_rect); node->item.image = fz_keep_pixmap(image); fz_append_display_node(user, node); }
static void fz_list_begin_mask(void *user, fz_rect rect, int luminosity, fz_colorspace *colorspace, float *color) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_BEGIN_MASK, fz_identity, colorspace, color, 0); node->rect = rect; node->flag = luminosity; fz_append_display_node(user, node); }
static void fz_list_fill_shade(void *user, fz_shade *shade, fz_matrix ctm, float alpha) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_FILL_SHADE, ctm, NULL, NULL, alpha); node->rect = fz_bound_shade(shade, ctm); node->item.shade = fz_keep_shade(shade); fz_append_display_node(user, node); }
static void fz_list_ignore_text(void *user, fz_text *text, fz_matrix ctm) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_IGNORE_TEXT, ctm, NULL, NULL, 0); node->rect = fz_bound_text(text, ctm); node->item.text = fz_clone_text(text); fz_append_display_node(user, node); }
static void fz_list_fill_shade(fz_device *dev, fz_shade *shade, const fz_matrix *ctm, float alpha) { fz_display_node *node; fz_context *ctx = dev->ctx; node = fz_new_display_node(ctx, FZ_CMD_FILL_SHADE, ctm, NULL, NULL, alpha); fz_bound_shade(ctx, shade, ctm, &node->rect); node->item.shade = fz_keep_shade(ctx, shade); fz_append_display_node(dev->user, node); }
static void fz_list_clip_stroke_text(void *user, fz_text *text, fz_stroke_state *stroke, fz_matrix ctm) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_CLIP_STROKE_TEXT, ctm, NULL, NULL, 0); node->rect = fz_bound_text(text, ctm); node->item.text = fz_clone_text(text); node->stroke = fz_clone_stroke_state(stroke); fz_append_display_node(user, node); }
static void fz_list_fill_text(void *user, fz_text *text, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_FILL_TEXT, ctm, colorspace, color, alpha); node->rect = fz_bound_text(text, ctm); node->item.text = fz_clone_text(text); fz_append_display_node(user, node); }
/* SumatraPDF: support transfer functions */ static void fz_list_apply_transfer_function(fz_device *dev, fz_transfer_function *tr, int for_mask) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_APPLY_TRANSFER_FUNCTION, &fz_identity, NULL, NULL, 0); node->item.tr = fz_keep_transfer_function(dev->ctx, tr); node->flag = for_mask; node->rect = fz_infinite_rect; fz_append_display_node(dev->user, node); }
static void fz_list_fill_image_mask(fz_device *dev, fz_image *image, const fz_matrix *ctm, fz_colorspace *colorspace, float *color, float alpha) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_FILL_IMAGE_MASK, ctm, colorspace, color, alpha); node->rect = fz_unit_rect; fz_transform_rect(&node->rect, ctm); node->item.image = fz_keep_image(dev->ctx, image); fz_append_display_node(dev->user, node); }
static void fz_list_stroke_path(void *user, fz_path *path, fz_stroke_state *stroke, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_STROKE_PATH, ctm, colorspace, color, alpha); node->rect = fz_bound_path(path, stroke, ctm); node->item.path = fz_clone_path(path); node->stroke = fz_clone_stroke_state(stroke); fz_append_display_node(user, node); }
static void fz_list_fill_path(void *user, fz_path *path, int even_odd, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_FILL_PATH, ctm, colorspace, color, alpha); node->rect = fz_bound_path(path, NULL, ctm); node->item.path = fz_clone_path(path); node->flag = even_odd; fz_append_display_node(user, node); }
static void fz_list_begin_group(fz_device *dev, const fz_rect *rect, int isolated, int knockout, int blendmode, float alpha) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_BEGIN_GROUP, &fz_identity, NULL, NULL, alpha); node->rect = *rect; node->item.blendmode = blendmode; node->flag |= isolated ? ISOLATED : 0; node->flag |= knockout ? KNOCKOUT : 0; fz_append_display_node(dev->user, node); }
static void fz_list_clip_image_mask(fz_device *dev, fz_image *image, fz_rect *rect, fz_matrix ctm) { fz_display_node *node; node = fz_new_display_node(dev->ctx, FZ_CMD_CLIP_IMAGE_MASK, ctm, NULL, NULL, 0); node->rect = fz_transform_rect(ctm, fz_unit_rect); if (rect) node->rect = fz_intersect_rect(node->rect, *rect); node->item.image = fz_keep_image(dev->ctx, image); fz_append_display_node(dev->user, node); }
static void fz_list_begin_group(void *user, fz_rect rect, int isolated, int knockout, int blendmode, float alpha) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_BEGIN_GROUP, fz_identity, NULL, NULL, alpha); node->rect = rect; node->item.blendmode = blendmode; node->flag |= isolated ? ISOLATED : 0; node->flag |= knockout ? KNOCKOUT : 0; fz_append_display_node(user, node); }
static void fz_list_clip_image_mask(void *user, fz_pixmap *image, fz_rect *rect, fz_matrix ctm) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_CLIP_IMAGE_MASK, ctm, NULL, NULL, 0); node->rect = fz_transform_rect(ctm, fz_unit_rect); if (rect != NULL) node->rect = fz_intersect_rect(node->rect, *rect); node->item.image = fz_keep_pixmap(image); fz_append_display_node(user, node); }
static void fz_list_clip_path(void *user, fz_path *path, fz_rect *rect, int even_odd, fz_matrix ctm) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_CLIP_PATH, ctm, NULL, NULL, 0); node->rect = fz_bound_path(path, NULL, ctm); if (rect != NULL) node->rect = fz_intersect_rect(node->rect, *rect); node->item.path = fz_clone_path(path); node->flag = even_odd; fz_append_display_node(user, node); }
static void fz_list_clip_stroke_path(void *user, fz_path *path, fz_rect *rect, fz_stroke_state *stroke, fz_matrix ctm) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_CLIP_STROKE_PATH, ctm, NULL, NULL, 0); node->rect = fz_bound_path(path, stroke, ctm); if (rect != NULL) node->rect = fz_intersect_rect(node->rect, *rect); node->item.path = fz_clone_path(path); node->stroke = fz_clone_stroke_state(stroke); fz_append_display_node(user, node); }
static void fz_list_clip_text(void *user, fz_text *text, fz_matrix ctm, int accumulate) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_CLIP_TEXT, ctm, NULL, NULL, 0); node->rect = fz_bound_text(text, ctm); node->item.text = fz_clone_text(text); node->flag = accumulate; /* when accumulating, be conservative about culling */ if (accumulate) node->rect = fz_infinite_rect; fz_append_display_node(user, node); }
static void fz_list_begin_tile(void *user, fz_rect area, fz_rect view, float xstep, float ystep, fz_matrix ctm) { fz_display_node *node; node = fz_new_display_node(FZ_CMD_BEGIN_TILE, ctm, NULL, NULL, 0); node->rect = area; node->color[0] = xstep; node->color[1] = ystep; node->color[2] = view.x0; node->color[3] = view.y0; node->color[4] = view.x1; node->color[5] = view.y1; fz_append_display_node(user, node); }