summaryrefslogtreecommitdiff
path: root/pdf
diff options
context:
space:
mode:
Diffstat (limited to 'pdf')
-rw-r--r--pdf/pdf_annot.c16
-rw-r--r--pdf/pdf_colorspace.c40
-rw-r--r--pdf/pdf_device.c12
-rw-r--r--pdf/pdf_interpret.c24
4 files changed, 46 insertions, 46 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;
diff --git a/pdf/pdf_colorspace.c b/pdf/pdf_colorspace.c
index a398b44f..21d67eeb 100644
--- a/pdf/pdf_colorspace.c
+++ b/pdf/pdf_colorspace.c
@@ -12,9 +12,9 @@ load_icc_based(pdf_document *xref, pdf_obj *dict)
switch (n)
{
- case 1: return fz_device_gray;
- case 3: return fz_device_rgb;
- case 4: return fz_device_cmyk;
+ case 1: return fz_device_gray(xref->ctx);
+ case 3: return fz_device_rgb(xref->ctx);
+ case 4: return fz_device_cmyk(xref->ctx);
}
fz_throw(xref->ctx, "syntaxerror: ICCBased must have 1, 3 or 4 components");
@@ -224,19 +224,19 @@ pdf_load_colorspace_imp(pdf_document *xref, pdf_obj *obj)
{
const char *str = pdf_to_name(obj);
if (!strcmp(str, "Pattern"))
- return fz_device_gray;
+ return fz_device_gray(ctx);
else if (!strcmp(str, "G"))
- return fz_device_gray;
+ return fz_device_gray(ctx);
else if (!strcmp(str, "RGB"))
- return fz_device_rgb;
+ return fz_device_rgb(ctx);
else if (!strcmp(str, "CMYK"))
- return fz_device_cmyk;
+ return fz_device_cmyk(ctx);
else if (!strcmp(str, "DeviceGray"))
- return fz_device_gray;
+ return fz_device_gray(ctx);
else if (!strcmp(str, "DeviceRGB"))
- return fz_device_rgb;
+ return fz_device_rgb(ctx);
else if (!strcmp(str, "DeviceCMYK"))
- return fz_device_cmyk;
+ return fz_device_cmyk(ctx);
else
fz_throw(ctx, "unknown colorspace: %s", pdf_to_name(obj));
}
@@ -250,23 +250,23 @@ pdf_load_colorspace_imp(pdf_document *xref, pdf_obj *obj)
{
/* load base colorspace instead */
if (!strcmp(str, "G"))
- return fz_device_gray;
+ return fz_device_gray(ctx);
else if (!strcmp(str, "RGB"))
- return fz_device_rgb;
+ return fz_device_rgb(ctx);
else if (!strcmp(str, "CMYK"))
- return fz_device_cmyk;
+ return fz_device_cmyk(ctx);
else if (!strcmp(str, "DeviceGray"))
- return fz_device_gray;
+ return fz_device_gray(ctx);
else if (!strcmp(str, "DeviceRGB"))
- return fz_device_rgb;
+ return fz_device_rgb(ctx);
else if (!strcmp(str, "DeviceCMYK"))
- return fz_device_cmyk;
+ return fz_device_cmyk(ctx);
else if (!strcmp(str, "CalGray"))
- return fz_device_gray;
+ return fz_device_gray(ctx);
else if (!strcmp(str, "CalRGB"))
- return fz_device_rgb;
+ return fz_device_rgb(ctx);
else if (!strcmp(str, "CalCMYK"))
- return fz_device_cmyk;
+ return fz_device_cmyk(ctx);
else if (!strcmp(str, "Lab"))
return fz_device_lab;
else
@@ -295,7 +295,7 @@ pdf_load_colorspace_imp(pdf_document *xref, pdf_obj *obj)
pobj = pdf_array_get(obj, 1);
if (!pobj)
{
- cs = fz_device_gray;
+ cs = fz_device_gray(ctx);
break;
}
diff --git a/pdf/pdf_device.c b/pdf/pdf_device.c
index dd21fb4b..37256316 100644
--- a/pdf/pdf_device.c
+++ b/pdf/pdf_device.c
@@ -420,11 +420,11 @@ pdf_dev_color(pdf_device *pdev, fz_colorspace *colorspace, float *color, int str
float rgb[FZ_MAX_COLORS];
gstate *gs = CURRENT_GSTATE(pdev);
- if (colorspace == fz_device_gray)
+ if (colorspace == fz_device_gray(ctx))
cspace = 1;
- else if (colorspace == fz_device_rgb)
+ else if (colorspace == fz_device_rgb(ctx))
cspace = 3;
- else if (colorspace == fz_device_cmyk)
+ else if (colorspace == fz_device_cmyk(ctx))
cspace = 4;
if (cspace == 0)
@@ -432,7 +432,7 @@ pdf_dev_color(pdf_device *pdev, fz_colorspace *colorspace, float *color, int str
/* If it's an unknown colorspace, fallback to rgb */
colorspace->to_rgb(ctx, colorspace, color, rgb);
color = rgb;
- colorspace = fz_device_rgb;
+ colorspace = fz_device_rgb(ctx);
}
if (gs->colorspace[stroke] != colorspace)
@@ -1208,8 +1208,8 @@ fz_device *pdf_new_pdf_device(pdf_document *doc, pdf_obj *contents, pdf_obj *res
pdev->gstates = fz_malloc_struct(ctx, gstate);
pdev->gstates[0].buf = fz_new_buffer(ctx, 256);
pdev->gstates[0].ctm = *ctm;
- pdev->gstates[0].colorspace[0] = fz_device_gray;
- pdev->gstates[0].colorspace[1] = fz_device_gray;
+ pdev->gstates[0].colorspace[0] = fz_device_gray(ctx);
+ pdev->gstates[0].colorspace[1] = fz_device_gray(ctx);
pdev->gstates[0].color[0][0] = 1;
pdev->gstates[0].color[1][0] = 1;
pdev->gstates[0].alpha[0] = 1.0;
diff --git a/pdf/pdf_interpret.c b/pdf/pdf_interpret.c
index 2a50116e..b6821d27 100644
--- a/pdf/pdf_interpret.c
+++ b/pdf/pdf_interpret.c
@@ -969,7 +969,7 @@ pdf_init_gstate(fz_context *ctx, pdf_gstate *gs, const fz_matrix *ctm)
gs->stroke_state = fz_new_stroke_state(ctx);
gs->stroke.kind = PDF_MAT_COLOR;
- gs->stroke.colorspace = fz_device_gray; /* No fz_keep_colorspace as static */
+ gs->stroke.colorspace = fz_device_gray(ctx); /* No fz_keep_colorspace as static */
gs->stroke.v[0] = 0;
gs->stroke.pattern = NULL;
gs->stroke.shade = NULL;
@@ -977,7 +977,7 @@ pdf_init_gstate(fz_context *ctx, pdf_gstate *gs, const fz_matrix *ctm)
gs->stroke.gstate_num = -1;
gs->fill.kind = PDF_MAT_COLOR;
- gs->fill.colorspace = fz_device_gray; /* No fz_keep_colorspace as static */
+ gs->fill.colorspace = fz_device_gray(ctx); /* No fz_keep_colorspace as static */
gs->fill.v[0] = 0;
gs->fill.pattern = NULL;
gs->fill.shade = NULL;
@@ -1697,7 +1697,7 @@ pdf_run_extgstate(pdf_csi *csi, pdf_obj *rdb, pdf_obj *extgstate)
colorspace = xobj->colorspace;
if (!colorspace)
- colorspace = fz_device_gray;
+ colorspace = fz_device_gray(ctx);
/* The softmask_ctm no longer has the softmask matrix rolled into it, as this
* causes the softmask matrix to be applied twice. */
@@ -1869,11 +1869,11 @@ static void pdf_run_cs_imp(pdf_csi *csi, pdf_obj *rdb, int what)
else
{
if (!strcmp(csi->name, "DeviceGray"))
- colorspace = fz_device_gray; /* No fz_keep_colorspace as static */
+ colorspace = fz_device_gray(ctx); /* No fz_keep_colorspace as static */
else if (!strcmp(csi->name, "DeviceRGB"))
- colorspace = fz_device_rgb; /* No fz_keep_colorspace as static */
+ colorspace = fz_device_rgb(ctx); /* No fz_keep_colorspace as static */
else if (!strcmp(csi->name, "DeviceCMYK"))
- colorspace = fz_device_cmyk; /* No fz_keep_colorspace as static */
+ colorspace = fz_device_cmyk(ctx); /* No fz_keep_colorspace as static */
else
{
dict = pdf_dict_gets(rdb, "ColorSpace");
@@ -2016,7 +2016,7 @@ static void pdf_run_F(pdf_csi *csi)
static void pdf_run_G(pdf_csi *csi)
{
csi->dev->flags &= ~FZ_DEVFLAG_STROKECOLOR_UNDEFINED;
- pdf_set_colorspace(csi, PDF_STROKE, fz_device_gray);
+ pdf_set_colorspace(csi, PDF_STROKE, fz_device_gray(csi->dev->ctx));
pdf_set_color(csi, PDF_STROKE, csi->stack);
}
@@ -2033,7 +2033,7 @@ static void pdf_run_J(pdf_csi *csi)
static void pdf_run_K(pdf_csi *csi)
{
csi->dev->flags &= ~FZ_DEVFLAG_STROKECOLOR_UNDEFINED;
- pdf_set_colorspace(csi, PDF_STROKE, fz_device_cmyk);
+ pdf_set_colorspace(csi, PDF_STROKE, fz_device_cmyk(csi->dev->ctx));
pdf_set_color(csi, PDF_STROKE, csi->stack);
}
@@ -2057,7 +2057,7 @@ static void pdf_run_Q(pdf_csi *csi)
static void pdf_run_RG(pdf_csi *csi)
{
csi->dev->flags &= ~FZ_DEVFLAG_STROKECOLOR_UNDEFINED;
- pdf_set_colorspace(csi, PDF_STROKE, fz_device_rgb);
+ pdf_set_colorspace(csi, PDF_STROKE, fz_device_rgb(csi->dev->ctx));
pdf_set_color(csi, PDF_STROKE, csi->stack);
}
@@ -2348,7 +2348,7 @@ static void pdf_run_fstar(pdf_csi *csi)
static void pdf_run_g(pdf_csi *csi)
{
csi->dev->flags &= ~FZ_DEVFLAG_FILLCOLOR_UNDEFINED;
- pdf_set_colorspace(csi, PDF_FILL, fz_device_gray);
+ pdf_set_colorspace(csi, PDF_FILL, fz_device_gray(csi->dev->ctx));
pdf_set_color(csi, PDF_FILL, csi->stack);
}
@@ -2389,7 +2389,7 @@ static void pdf_run_j(pdf_csi *csi)
static void pdf_run_k(pdf_csi *csi)
{
csi->dev->flags &= ~FZ_DEVFLAG_FILLCOLOR_UNDEFINED;
- pdf_set_colorspace(csi, PDF_FILL, fz_device_cmyk);
+ pdf_set_colorspace(csi, PDF_FILL, fz_device_cmyk(csi->dev->ctx));
pdf_set_color(csi, PDF_FILL, csi->stack);
}
@@ -2439,7 +2439,7 @@ static void pdf_run_re(pdf_csi *csi)
static void pdf_run_rg(pdf_csi *csi)
{
csi->dev->flags &= ~FZ_DEVFLAG_FILLCOLOR_UNDEFINED;
- pdf_set_colorspace(csi, PDF_FILL, fz_device_rgb);
+ pdf_set_colorspace(csi, PDF_FILL, fz_device_rgb(csi->dev->ctx));
pdf_set_color(csi, PDF_FILL, csi->stack);
}