summaryrefslogtreecommitdiff
path: root/pdf/pdf_annot.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2013-05-16 22:29:27 +0200
committerRobin Watts <robin.watts@artifex.com>2013-05-16 23:47:14 +0100
commit93bd1ff05bf315ed11b305d32eb510bd9a9a7e92 (patch)
tree10c2d846ed1193624a5119853bbc2ef9651e197c /pdf/pdf_annot.c
parent558ad511446cfa1d70891d9e7c9fb1ba942d3d9a (diff)
downloadmupdf-93bd1ff05bf315ed11b305d32eb510bd9a9a7e92.tar.xz
Add colorspace context.
To prepare for color management, we have to make the device colorspaces per-context and able to be overridden by users.
Diffstat (limited to 'pdf/pdf_annot.c')
-rw-r--r--pdf/pdf_annot.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/pdf/pdf_annot.c b/pdf/pdf_annot.c
index 0c2128a7..25ffd494 100644
--- a/pdf/pdf_annot.c
+++ b/pdf/pdf_annot.c
@@ -768,16 +768,16 @@ pdf_delete_annot(pdf_document *doc, pdf_page *page, pdf_annot *annot)
doc->dirty = 1;
}
-static fz_colorspace *pdf_to_color(pdf_obj *col, float color[4])
+static fz_colorspace *pdf_to_color(pdf_document *doc, pdf_obj *col, float color[4])
{
fz_colorspace *cs;
int i, ncol = pdf_array_len(col);
switch (ncol)
{
- case 1: cs = fz_device_gray; break;
- case 3: cs = fz_device_rgb; break;
- case 4: cs = fz_device_cmyk; break;
+ case 1: cs = fz_device_gray(doc->ctx); break;
+ case 3: cs = fz_device_rgb(doc->ctx); break;
+ case 4: cs = fz_device_cmyk(doc->ctx); break;
default: return NULL;
}
@@ -1031,7 +1031,7 @@ pdf_set_markup_obj_appearance(pdf_document *doc, pdf_obj *annot, float color[3],
if (stroke)
{
// assert(path)
- fz_stroke_path(dev, path, stroke, &fz_identity, fz_device_rgb, color, alpha);
+ fz_stroke_path(dev, path, stroke, &fz_identity, fz_device_rgb(ctx), color, alpha);
fz_drop_stroke_state(ctx, stroke);
stroke = NULL;
fz_free_path(ctx, path);
@@ -1049,7 +1049,7 @@ pdf_set_markup_obj_appearance(pdf_document *doc, pdf_obj *annot, float color[3],
if (stroke)
{
- fz_stroke_path(dev, path, stroke, &fz_identity, fz_device_rgb, color, alpha);
+ fz_stroke_path(dev, path, stroke, &fz_identity, fz_device_rgb(ctx), color, alpha);
}
pdf_set_annot_obj_appearance(doc, annot, &fz_identity, &rect, strike_list);
@@ -1090,10 +1090,10 @@ pdf_set_ink_obj_appearance(pdf_document *doc, pdf_obj *annot)
pdf_obj *list;
int n, m, i, j;
- cs = pdf_to_color(pdf_dict_gets(annot, "C"), color);
+ cs = pdf_to_color(doc, pdf_dict_gets(annot, "C"), color);
if (!cs)
{
- cs = fz_device_rgb;
+ cs = fz_device_rgb(ctx);
color[0] = 1.0f;
color[1] = 0.0f;
color[2] = 0.0f;