summaryrefslogtreecommitdiff
path: root/source/fitz/bbox-device.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2015-01-21 16:42:45 +0100
committerTor Andersson <tor.andersson@artifex.com>2015-02-17 18:05:39 +0100
commitf84a189d5f94250e46d2cbd1a75aba00130e2dd6 (patch)
tree8ee614ab90de1baa8941f91ae4946ed5c2e70721 /source/fitz/bbox-device.c
parent681039767f2ccc72e236246178893eb0989169c9 (diff)
downloadmupdf-f84a189d5f94250e46d2cbd1a75aba00130e2dd6.tar.xz
Add ctx parameter and remove embedded contexts for API regularity.
Purge several embedded contexts: Remove embedded context in fz_output. Remove embedded context in fz_stream. Remove embedded context in fz_device. Remove fz_rebind_stream (since it is no longer necessary). Remove embedded context in svg_device. Remove embedded context in XML parser. Add ctx argument to fz_document functions. Remove embedded context in fz_document. Remove embedded context in pdf_document. Remove embedded context in pdf_obj. Make fz_page independent of fz_document in the interface. We shouldn't need to pass the document to all functions handling a page. If a page is tied to the source document, it's redundant; otherwise it's just pointless. Fix reference counting oddity in fz_new_image_from_pixmap.
Diffstat (limited to 'source/fitz/bbox-device.c')
-rw-r--r--source/fitz/bbox-device.c82
1 files changed, 41 insertions, 41 deletions
diff --git a/source/fitz/bbox-device.c b/source/fitz/bbox-device.c
index b8e63b56..b11a78a7 100644
--- a/source/fitz/bbox-device.c
+++ b/source/fitz/bbox-device.c
@@ -12,7 +12,7 @@ typedef struct fz_bbox_data_s
} fz_bbox_data;
static void
-fz_bbox_add_rect(fz_device *dev, const fz_rect *rect, int clip)
+fz_bbox_add_rect(fz_context *ctx, fz_device *dev, const fz_rect *rect, int clip)
{
fz_bbox_data *data = dev->user;
fz_rect r = *rect;
@@ -32,117 +32,117 @@ fz_bbox_add_rect(fz_device *dev, const fz_rect *rect, int clip)
}
static void
-fz_bbox_fill_path(fz_device *dev, fz_path *path, int even_odd, const fz_matrix *ctm,
+fz_bbox_fill_path(fz_context *ctx, fz_device *dev, fz_path *path, int even_odd, const fz_matrix *ctm,
fz_colorspace *colorspace, float *color, float alpha)
{
fz_rect r;
- fz_bbox_add_rect(dev, fz_bound_path(dev->ctx, path, NULL, ctm, &r), 0);
+ fz_bbox_add_rect(ctx, dev, fz_bound_path(ctx, path, NULL, ctm, &r), 0);
}
static void
-fz_bbox_stroke_path(fz_device *dev, fz_path *path, fz_stroke_state *stroke,
+fz_bbox_stroke_path(fz_context *ctx, fz_device *dev, fz_path *path, fz_stroke_state *stroke,
const fz_matrix *ctm, fz_colorspace *colorspace, float *color, float alpha)
{
fz_rect r;
- fz_bbox_add_rect(dev, fz_bound_path(dev->ctx, path, stroke, ctm, &r), 0);
+ fz_bbox_add_rect(ctx, dev, fz_bound_path(ctx, path, stroke, ctm, &r), 0);
}
static void
-fz_bbox_fill_text(fz_device *dev, fz_text *text, const fz_matrix *ctm,
+fz_bbox_fill_text(fz_context *ctx, fz_device *dev, fz_text *text, const fz_matrix *ctm,
fz_colorspace *colorspace, float *color, float alpha)
{
fz_rect r;
- fz_bbox_add_rect(dev, fz_bound_text(dev->ctx, text, NULL, ctm, &r), 0);
+ fz_bbox_add_rect(ctx, dev, fz_bound_text(ctx, text, NULL, ctm, &r), 0);
}
static void
-fz_bbox_stroke_text(fz_device *dev, fz_text *text, fz_stroke_state *stroke,
+fz_bbox_stroke_text(fz_context *ctx, fz_device *dev, fz_text *text, fz_stroke_state *stroke,
const fz_matrix *ctm, fz_colorspace *colorspace, float *color, float alpha)
{
fz_rect r;
- fz_bbox_add_rect(dev, fz_bound_text(dev->ctx, text, stroke, ctm, &r), 0);
+ fz_bbox_add_rect(ctx, dev, fz_bound_text(ctx, text, stroke, ctm, &r), 0);
}
static void
-fz_bbox_fill_shade(fz_device *dev, fz_shade *shade, const fz_matrix *ctm, float alpha)
+fz_bbox_fill_shade(fz_context *ctx, fz_device *dev, fz_shade *shade, const fz_matrix *ctm, float alpha)
{
fz_rect r;
- fz_bbox_add_rect(dev, fz_bound_shade(dev->ctx, shade, ctm, &r), 0);
+ fz_bbox_add_rect(ctx, dev, fz_bound_shade(ctx, shade, ctm, &r), 0);
}
static void
-fz_bbox_fill_image(fz_device *dev, fz_image *image, const fz_matrix *ctm, float alpha)
+fz_bbox_fill_image(fz_context *ctx, fz_device *dev, fz_image *image, const fz_matrix *ctm, float alpha)
{
fz_rect r = fz_unit_rect;
- fz_bbox_add_rect(dev, fz_transform_rect(&r, ctm), 0);
+ fz_bbox_add_rect(ctx, dev, fz_transform_rect(&r, ctm), 0);
}
static void
-fz_bbox_fill_image_mask(fz_device *dev, fz_image *image, const fz_matrix *ctm,
+fz_bbox_fill_image_mask(fz_context *ctx, fz_device *dev, fz_image *image, const fz_matrix *ctm,
fz_colorspace *colorspace, float *color, float alpha)
{
fz_rect r = fz_unit_rect;
- fz_bbox_add_rect(dev, fz_transform_rect(&r, ctm), 0);
+ fz_bbox_add_rect(ctx, dev, fz_transform_rect(&r, ctm), 0);
}
static void
-fz_bbox_clip_path(fz_device *dev, fz_path *path, const fz_rect *rect, int even_odd, const fz_matrix *ctm)
+fz_bbox_clip_path(fz_context *ctx, fz_device *dev, fz_path *path, const fz_rect *rect, int even_odd, const fz_matrix *ctm)
{
fz_rect r;
- fz_bbox_add_rect(dev, fz_bound_path(dev->ctx, path, NULL, ctm, &r), 1);
+ fz_bbox_add_rect(ctx, dev, fz_bound_path(ctx, path, NULL, ctm, &r), 1);
}
static void
-fz_bbox_clip_stroke_path(fz_device *dev, fz_path *path, const fz_rect *rect, fz_stroke_state *stroke, const fz_matrix *ctm)
+fz_bbox_clip_stroke_path(fz_context *ctx, fz_device *dev, fz_path *path, const fz_rect *rect, fz_stroke_state *stroke, const fz_matrix *ctm)
{
fz_rect r;
- fz_bbox_add_rect(dev, fz_bound_path(dev->ctx, path, stroke, ctm, &r), 1);
+ fz_bbox_add_rect(ctx, dev, fz_bound_path(ctx, path, stroke, ctm, &r), 1);
}
static void
-fz_bbox_clip_text(fz_device *dev, fz_text *text, const fz_matrix *ctm, int accumulate)
+fz_bbox_clip_text(fz_context *ctx, fz_device *dev, fz_text *text, const fz_matrix *ctm, int accumulate)
{
fz_rect r = fz_infinite_rect;
if (accumulate)
- fz_bbox_add_rect(dev, &r, accumulate != 2);
+ fz_bbox_add_rect(ctx, dev, &r, accumulate != 2);
else
- fz_bbox_add_rect(dev, fz_bound_text(dev->ctx, text, NULL, ctm, &r), 1);
+ fz_bbox_add_rect(ctx, dev, fz_bound_text(ctx, text, NULL, ctm, &r), 1);
}
static void
-fz_bbox_clip_stroke_text(fz_device *dev, fz_text *text, fz_stroke_state *stroke, const fz_matrix *ctm)
+fz_bbox_clip_stroke_text(fz_context *ctx, fz_device *dev, fz_text *text, fz_stroke_state *stroke, const fz_matrix *ctm)
{
fz_rect r;
- fz_bbox_add_rect(dev, fz_bound_text(dev->ctx, text, stroke, ctm, &r), 1);
+ fz_bbox_add_rect(ctx, dev, fz_bound_text(ctx, text, stroke, ctm, &r), 1);
}
static void
-fz_bbox_clip_image_mask(fz_device *dev, fz_image *image, const fz_rect *rect, const fz_matrix *ctm)
+fz_bbox_clip_image_mask(fz_context *ctx, fz_device *dev, fz_image *image, const fz_rect *rect, const fz_matrix *ctm)
{
fz_rect r = fz_unit_rect;
- fz_bbox_add_rect(dev, fz_transform_rect(&r, ctm), 1);
+ fz_bbox_add_rect(ctx, dev, fz_transform_rect(&r, ctm), 1);
}
static void
-fz_bbox_pop_clip(fz_device *dev)
+fz_bbox_pop_clip(fz_context *ctx, fz_device *dev)
{
fz_bbox_data *data = dev->user;
if (data->top > 0)
data->top--;
else
- fz_warn(dev->ctx, "unexpected pop clip");
+ fz_warn(ctx, "unexpected pop clip");
}
static void
-fz_bbox_begin_mask(fz_device *dev, const fz_rect *rect, int luminosity, fz_colorspace *colorspace, float *color)
+fz_bbox_begin_mask(fz_context *ctx, fz_device *dev, const fz_rect *rect, int luminosity, fz_colorspace *colorspace, float *color)
{
fz_bbox_data *data = dev->user;
- fz_bbox_add_rect(dev, rect, 1);
+ fz_bbox_add_rect(ctx, dev, rect, 1);
data->ignore++;
}
static void
-fz_bbox_end_mask(fz_device *dev)
+fz_bbox_end_mask(fz_context *ctx, fz_device *dev)
{
fz_bbox_data *data = dev->user;
assert(data->ignore > 0);
@@ -150,29 +150,29 @@ fz_bbox_end_mask(fz_device *dev)
}
static void
-fz_bbox_begin_group(fz_device *dev, const fz_rect *rect, int isolated, int knockout, int blendmode, float alpha)
+fz_bbox_begin_group(fz_context *ctx, fz_device *dev, const fz_rect *rect, int isolated, int knockout, int blendmode, float alpha)
{
- fz_bbox_add_rect(dev, rect, 1);
+ fz_bbox_add_rect(ctx, dev, rect, 1);
}
static void
-fz_bbox_end_group(fz_device *dev)
+fz_bbox_end_group(fz_context *ctx, fz_device *dev)
{
- fz_bbox_pop_clip(dev);
+ fz_bbox_pop_clip(ctx, dev);
}
static int
-fz_bbox_begin_tile(fz_device *dev, const fz_rect *area, const fz_rect *view, float xstep, float ystep, const fz_matrix *ctm, int id)
+fz_bbox_begin_tile(fz_context *ctx, fz_device *dev, const fz_rect *area, const fz_rect *view, float xstep, float ystep, const fz_matrix *ctm, int id)
{
fz_bbox_data *data = dev->user;
fz_rect r = *area;
- fz_bbox_add_rect(dev, fz_transform_rect(&r, ctm), 0);
+ fz_bbox_add_rect(ctx, dev, fz_transform_rect(&r, ctm), 0);
data->ignore++;
return 0;
}
static void
-fz_bbox_end_tile(fz_device *dev)
+fz_bbox_end_tile(fz_context *ctx, fz_device *dev)
{
fz_bbox_data *data = dev->user;
assert(data->ignore > 0);
@@ -180,12 +180,12 @@ fz_bbox_end_tile(fz_device *dev)
}
static void
-fz_bbox_drop_user(fz_device *dev)
+fz_bbox_drop_user(fz_context *ctx, fz_device *dev)
{
fz_bbox_data *data = dev->user;
if (data->top > 0)
- fz_warn(dev->ctx, "items left on stack in bbox device: %d", data->top);
- fz_free(dev->ctx, dev->user);
+ fz_warn(ctx, "items left on stack in bbox device: %d", data->top);
+ fz_free(ctx, dev->user);
}
fz_device *