summaryrefslogtreecommitdiff
path: root/pdf
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2011-04-10 01:24:01 +0200
committerTor Andersson <tor.andersson@artifex.com>2011-04-10 01:24:01 +0200
commitd914e3415af1c9c7d8644dfa50fdcf9a79cc01d5 (patch)
tree42b1abdc4ebe58dd008d9f8906db24fa5187324d /pdf
parente8e507b38b8c4429abd6e7b32fe8e3029bfab065 (diff)
downloadmupdf-d914e3415af1c9c7d8644dfa50fdcf9a79cc01d5.tar.xz
Make blendmode opaque.
Diffstat (limited to 'pdf')
-rw-r--r--pdf/mupdf.h2
-rw-r--r--pdf/pdf_build.c10
-rw-r--r--pdf/pdf_interpret.c11
3 files changed, 9 insertions, 14 deletions
diff --git a/pdf/mupdf.h b/pdf/mupdf.h
index 80942a80..228cd714 100644
--- a/pdf/mupdf.h
+++ b/pdf/mupdf.h
@@ -591,7 +591,7 @@ struct pdf_gstate_s
float rise;
/* transparency */
- fz_blendmode blendmode;
+ int blendmode;
pdf_xobject *softmask;
fz_matrix softmask_ctm;
float softmask_bc[FZ_MAX_COLORS];
diff --git a/pdf/pdf_build.c b/pdf/pdf_build.c
index 8c043107..e22b50c9 100644
--- a/pdf/pdf_build.c
+++ b/pdf/pdf_build.c
@@ -40,7 +40,7 @@ pdf_init_gstate(pdf_gstate *gs, fz_matrix ctm)
gs->render = 0;
gs->rise = 0;
- gs->blendmode = FZ_BLEND_NORMAL;
+ gs->blendmode = 0;
gs->softmask = NULL;
gs->softmask_ctm = fz_identity;
gs->luminosity = 0;
@@ -274,7 +274,7 @@ pdf_begin_group(pdf_csi *csi, fz_rect bbox)
gstate->softmask = softmask;
}
- if (gstate->blendmode != FZ_BLEND_NORMAL)
+ if (gstate->blendmode)
fz_begin_group(csi->dev, bbox, 0, 0, gstate->blendmode, 1);
}
@@ -283,7 +283,7 @@ pdf_end_group(pdf_csi *csi)
{
pdf_gstate *gstate = csi->gstate + csi->gtop;
- if (gstate->blendmode != FZ_BLEND_NORMAL)
+ if (gstate->blendmode)
fz_end_group(csi->dev);
if (gstate->softmask)
@@ -316,7 +316,7 @@ pdf_show_image(pdf_csi *csi, fz_pixmap *image)
if (image->mask)
{
/* apply blend group even though we skip the softmask */
- if (gstate->blendmode != FZ_BLEND_NORMAL)
+ if (gstate->blendmode)
fz_begin_group(csi->dev, bbox, 0, 0, gstate->blendmode, 1);
fz_clip_image_mask(csi->dev, image->mask, gstate->ctm);
}
@@ -360,7 +360,7 @@ pdf_show_image(pdf_csi *csi, fz_pixmap *image)
if (image->mask)
{
fz_pop_clip(csi->dev);
- if (gstate->blendmode != FZ_BLEND_NORMAL)
+ if (gstate->blendmode)
fz_end_group(csi->dev);
}
else
diff --git a/pdf/pdf_interpret.c b/pdf/pdf_interpret.c
index d045d54f..d2f0df1c 100644
--- a/pdf/pdf_interpret.c
+++ b/pdf/pdf_interpret.c
@@ -218,7 +218,7 @@ pdf_run_xobject(pdf_csi *csi, fz_obj *resources, pdf_xobject *xobj, fz_matrix tr
fz_transform_rect(gstate->ctm, xobj->bbox),
xobj->isolated, xobj->knockout, gstate->blendmode, gstate->fill.alpha);
- gstate->blendmode = FZ_BLEND_NORMAL;
+ gstate->blendmode = 0;
gstate->stroke.alpha = 1;
gstate->fill.alpha = 1;
}
@@ -364,11 +364,7 @@ pdf_run_extgstate(pdf_csi *csi, fz_obj *rdb, fz_obj *extgstate)
{
if (fz_is_array(val))
val = fz_array_get(val, 0);
-
- gstate->blendmode = FZ_BLEND_NORMAL;
- for (k = 0; fz_blendmode_names[k]; k++)
- if (!strcmp(fz_blendmode_names[k], fz_to_name(val)))
- gstate->blendmode = k;
+ gstate->blendmode = fz_find_blendmode(fz_to_name(val));
}
else if (!strcmp(s, "SMask"))
@@ -1408,8 +1404,7 @@ pdf_run_page_with_usage(pdf_xref *xref, pdf_page *page, fz_device *dev, fz_matri
int flags;
if (page->transparency)
- fz_begin_group(dev, fz_transform_rect(ctm, page->mediabox),
- 0, 0, FZ_BLEND_NORMAL, 1);
+ fz_begin_group(dev, fz_transform_rect(ctm, page->mediabox), 0, 0, 0, 1);
csi = pdf_new_csi(xref, dev, ctm, target);
error = pdf_run_csi_buffer(csi, page->resources, page->contents);