summaryrefslogtreecommitdiff
path: root/fitz
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2013-01-16 16:03:20 +0100
committerTor Andersson <tor.andersson@artifex.com>2013-01-30 14:07:21 +0100
commit29f09279714f4f9b81d9b5488072860142f86f24 (patch)
tree6a26bf5f77028bb5637b1ec3430660af801688e5 /fitz
parentddb92b7c3fdfcf9bf3d7463dde4e662ca10f79ba (diff)
downloadmupdf-29f09279714f4f9b81d9b5488072860142f86f24.tar.xz
Pass content/clip bbox to device functions by value.
Diffstat (limited to 'fitz')
-rw-r--r--fitz/dev_list.c21
-rw-r--r--fitz/dev_null.c6
-rw-r--r--fitz/dev_trace.c11
-rw-r--r--fitz/fitz-internal.h12
4 files changed, 23 insertions, 27 deletions
diff --git a/fitz/dev_list.c b/fitz/dev_list.c
index 26693e0f..55ef4e7d 100644
--- a/fitz/dev_list.c
+++ b/fitz/dev_list.c
@@ -262,7 +262,7 @@ fz_list_stroke_path(fz_device *dev, fz_path *path, fz_stroke_state *stroke, fz_m
}
static void
-fz_list_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, fz_matrix ctm)
+fz_list_clip_path(fz_device *dev, fz_path *path, fz_rect rect, int even_odd, fz_matrix ctm)
{
fz_display_node *node;
fz_context *ctx = dev->ctx;
@@ -270,8 +270,7 @@ fz_list_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, fz
fz_try(ctx)
{
node->rect = fz_bound_path(dev->ctx, path, NULL, ctm);
- if (rect)
- node->rect = fz_intersect_rect(node->rect, *rect);
+ node->rect = fz_intersect_rect(node->rect, rect);
node->item.path = fz_clone_path(dev->ctx, path);
node->flag = even_odd;
}
@@ -284,7 +283,7 @@ fz_list_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, fz
}
static void
-fz_list_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect *rect, fz_stroke_state *stroke, fz_matrix ctm)
+fz_list_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect rect, fz_stroke_state *stroke, fz_matrix ctm)
{
fz_display_node *node;
fz_context *ctx = dev->ctx;
@@ -292,8 +291,7 @@ fz_list_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect *rect, fz_stroke
fz_try(ctx)
{
node->rect = fz_bound_path(dev->ctx, path, stroke, ctm);
- if (rect)
- node->rect = fz_intersect_rect(node->rect, *rect);
+ node->rect = fz_intersect_rect(node->rect, rect);
node->item.path = fz_clone_path(dev->ctx, path);
node->stroke = fz_keep_stroke_state(dev->ctx, stroke);
}
@@ -452,13 +450,12 @@ fz_list_fill_image_mask(fz_device *dev, fz_image *image, fz_matrix ctm,
}
static void
-fz_list_clip_image_mask(fz_device *dev, fz_image *image, fz_rect *rect, fz_matrix ctm)
+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->rect = fz_intersect_rect(node->rect, rect);
node->item.image = fz_keep_image(dev->ctx, image);
fz_append_display_node(dev->user, node);
}
@@ -675,13 +672,13 @@ visible:
case FZ_CMD_CLIP_PATH:
{
fz_rect trect = fz_transform_rect(top_ctm, node->rect);
- fz_clip_path(dev, node->item.path, &trect, node->flag, ctm);
+ fz_clip_path(dev, node->item.path, trect, node->flag, ctm);
break;
}
case FZ_CMD_CLIP_STROKE_PATH:
{
fz_rect trect = fz_transform_rect(top_ctm, node->rect);
- fz_clip_stroke_path(dev, node->item.path, &trect, node->stroke, ctm);
+ fz_clip_stroke_path(dev, node->item.path, trect, node->stroke, ctm);
break;
}
case FZ_CMD_FILL_TEXT:
@@ -714,7 +711,7 @@ visible:
case FZ_CMD_CLIP_IMAGE_MASK:
{
fz_rect trect = fz_transform_rect(top_ctm, node->rect);
- fz_clip_image_mask(dev, node->item.image, &trect, ctm);
+ fz_clip_image_mask(dev, node->item.image, trect, ctm);
break;
}
case FZ_CMD_POP_CLIP:
diff --git a/fitz/dev_null.c b/fitz/dev_null.c
index ac495cef..e3d28fe4 100644
--- a/fitz/dev_null.c
+++ b/fitz/dev_null.c
@@ -43,7 +43,7 @@ fz_stroke_path(fz_device *dev, fz_path *path, fz_stroke_state *stroke, fz_matrix
}
void
-fz_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, fz_matrix ctm)
+fz_clip_path(fz_device *dev, fz_path *path, fz_rect rect, int even_odd, fz_matrix ctm)
{
fz_context *ctx = dev->ctx;
@@ -67,7 +67,7 @@ fz_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, fz_matr
}
void
-fz_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect *rect, fz_stroke_state *stroke, fz_matrix ctm)
+fz_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect rect, fz_stroke_state *stroke, fz_matrix ctm)
{
fz_context *ctx = dev->ctx;
@@ -212,7 +212,7 @@ fz_fill_image_mask(fz_device *dev, fz_image *image, fz_matrix ctm,
}
void
-fz_clip_image_mask(fz_device *dev, fz_image *image, fz_rect *rect, fz_matrix ctm)
+fz_clip_image_mask(fz_device *dev, fz_image *image, fz_rect rect, fz_matrix ctm)
{
fz_context *ctx = dev->ctx;
diff --git a/fitz/dev_trace.c b/fitz/dev_trace.c
index a56cc67b..78533cf4 100644
--- a/fitz/dev_trace.c
+++ b/fitz/dev_trace.c
@@ -112,7 +112,7 @@ fz_trace_stroke_path(fz_device *dev, fz_path *path, fz_stroke_state *stroke, fz_
}
static void
-fz_trace_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, fz_matrix ctm)
+fz_trace_clip_path(fz_device *dev, fz_path *path, fz_rect rect, int even_odd, fz_matrix ctm)
{
printf("<clip_path");
if (even_odd)
@@ -120,13 +120,13 @@ fz_trace_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, f
else
printf(" winding=\"nonzero\"");
fz_trace_matrix(ctm);
- printf(" contentbbox=\"%g %g %g %g\">\n", rect->x0, rect->y0, rect->x1, rect->y1);
+ printf(" contentbbox=\"%g %g %g %g\">\n", rect.x0, rect.y0, rect.x1, rect.y1);
fz_trace_path(path, 0);
printf("</clip_path>\n");
}
static void
-fz_trace_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect *rect, fz_stroke_state *stroke, fz_matrix ctm)
+fz_trace_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect rect, fz_stroke_state *stroke, fz_matrix ctm)
{
printf("<clip_stroke_path");
fz_trace_matrix(ctm);
@@ -213,8 +213,7 @@ fz_trace_fill_shade(fz_device *dev, fz_shade *shade, fz_matrix ctm, float alpha)
}
static void
-fz_trace_fill_image_mask(fz_device *dev, fz_image *image, fz_matrix ctm,
-fz_colorspace *colorspace, float *color, float alpha)
+fz_trace_fill_image_mask(fz_device *dev, fz_image *image, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha)
{
printf("<fill_image_mask");
fz_trace_matrix(ctm);
@@ -224,7 +223,7 @@ fz_colorspace *colorspace, float *color, float alpha)
}
static void
-fz_trace_clip_image_mask(fz_device *dev, fz_image *image, fz_rect *rect, fz_matrix ctm)
+fz_trace_clip_image_mask(fz_device *dev, fz_image *image, fz_rect rect, fz_matrix ctm)
{
printf("<clip_image_mask");
fz_trace_matrix(ctm);
diff --git a/fitz/fitz-internal.h b/fitz/fitz-internal.h
index 0ac4c93a..e7e7ca3b 100644
--- a/fitz/fitz-internal.h
+++ b/fitz/fitz-internal.h
@@ -1391,8 +1391,8 @@ struct fz_device_s
void (*fill_path)(fz_device *, fz_path *, int even_odd, fz_matrix, fz_colorspace *, float *color, float alpha);
void (*stroke_path)(fz_device *, fz_path *, fz_stroke_state *, fz_matrix, fz_colorspace *, float *color, float alpha);
- void (*clip_path)(fz_device *, fz_path *, fz_rect *rect, int even_odd, fz_matrix);
- void (*clip_stroke_path)(fz_device *, fz_path *, fz_rect *rect, fz_stroke_state *, fz_matrix);
+ void (*clip_path)(fz_device *, fz_path *, fz_rect rect, int even_odd, fz_matrix);
+ void (*clip_stroke_path)(fz_device *, fz_path *, fz_rect rect, fz_stroke_state *, fz_matrix);
void (*fill_text)(fz_device *, fz_text *, fz_matrix, fz_colorspace *, float *color, float alpha);
void (*stroke_text)(fz_device *, fz_text *, fz_stroke_state *, fz_matrix, fz_colorspace *, float *color, float alpha);
@@ -1403,7 +1403,7 @@ struct fz_device_s
void (*fill_shade)(fz_device *, fz_shade *shd, fz_matrix ctm, float alpha);
void (*fill_image)(fz_device *, fz_image *img, fz_matrix ctm, float alpha);
void (*fill_image_mask)(fz_device *, fz_image *img, fz_matrix ctm, fz_colorspace *, float *color, float alpha);
- void (*clip_image_mask)(fz_device *, fz_image *img, fz_rect *rect, fz_matrix ctm);
+ void (*clip_image_mask)(fz_device *, fz_image *img, fz_rect rect, fz_matrix ctm);
void (*pop_clip)(fz_device *);
@@ -1421,8 +1421,8 @@ struct fz_device_s
void fz_fill_path(fz_device *dev, fz_path *path, int even_odd, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha);
void fz_stroke_path(fz_device *dev, fz_path *path, fz_stroke_state *stroke, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha);
-void fz_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, fz_matrix ctm);
-void fz_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect *rect, fz_stroke_state *stroke, fz_matrix ctm);
+void fz_clip_path(fz_device *dev, fz_path *path, fz_rect rect, int even_odd, fz_matrix ctm);
+void fz_clip_stroke_path(fz_device *dev, fz_path *path, fz_rect rect, fz_stroke_state *stroke, fz_matrix ctm);
void fz_fill_text(fz_device *dev, fz_text *text, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha);
void fz_stroke_text(fz_device *dev, fz_text *text, fz_stroke_state *stroke, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha);
void fz_clip_text(fz_device *dev, fz_text *text, fz_matrix ctm, int accumulate);
@@ -1432,7 +1432,7 @@ void fz_pop_clip(fz_device *dev);
void fz_fill_shade(fz_device *dev, fz_shade *shade, fz_matrix ctm, float alpha);
void fz_fill_image(fz_device *dev, fz_image *image, fz_matrix ctm, float alpha);
void fz_fill_image_mask(fz_device *dev, fz_image *image, fz_matrix ctm, fz_colorspace *colorspace, float *color, float alpha);
-void fz_clip_image_mask(fz_device *dev, fz_image *image, fz_rect *rect, fz_matrix ctm);
+void fz_clip_image_mask(fz_device *dev, fz_image *image, fz_rect rect, fz_matrix ctm);
void fz_begin_mask(fz_device *dev, fz_rect area, int luminosity, fz_colorspace *colorspace, float *bc);
void fz_end_mask(fz_device *dev);
void fz_begin_group(fz_device *dev, fz_rect area, int isolated, int knockout, int blendmode, float alpha);