summaryrefslogtreecommitdiff
path: root/fitz/dev_list.c
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2010-07-23 18:26:01 +0000
committerTor Andersson <tor@ghostscript.com>2010-07-23 18:26:01 +0000
commit0da7075063e13032b2f11ca39fc9624f3c91e3c7 (patch)
tree956117fa67ca63f118a2e4e966f0cf3049ea1acb /fitz/dev_list.c
parent84b1d89a5cd68182175c0761431707294798aed5 (diff)
downloadmupdf-0da7075063e13032b2f11ca39fc9624f3c91e3c7.tar.xz
Support constant alpha for shadings, images and transparency groups.
Diffstat (limited to 'fitz/dev_list.c')
-rw-r--r--fitz/dev_list.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/fitz/dev_list.c b/fitz/dev_list.c
index 65c2c731..4dcd1470 100644
--- a/fitz/dev_list.c
+++ b/fitz/dev_list.c
@@ -210,20 +210,20 @@ fz_listpopclip(void *user)
}
static void
-fz_listfillshade(void *user, fz_shade *shade, fz_matrix ctm)
+fz_listfillshade(void *user, fz_shade *shade, fz_matrix ctm, float alpha)
{
fz_displaynode *node;
- node = fz_newdisplaynode(FZ_CMDFILLSHADE, ctm, nil, nil, 0);
+ node = fz_newdisplaynode(FZ_CMDFILLSHADE, ctm, nil, nil, alpha);
node->rect = fz_boundshade(shade, ctm);
node->item.shade = fz_keepshade(shade);
fz_appenddisplaynode(user, node);
}
static void
-fz_listfillimage(void *user, fz_pixmap *image, fz_matrix ctm)
+fz_listfillimage(void *user, fz_pixmap *image, fz_matrix ctm, float alpha)
{
fz_displaynode *node;
- node = fz_newdisplaynode(FZ_CMDFILLIMAGE, ctm, nil, nil, 0);
+ node = fz_newdisplaynode(FZ_CMDFILLIMAGE, ctm, nil, nil, alpha);
node->rect = fz_transformrect(ctm, fz_unitrect);
node->item.image = fz_keeppixmap(image);
fz_appenddisplaynode(user, node);
@@ -269,10 +269,10 @@ fz_listendmask(void *user)
}
static void
-fz_listbegingroup(void *user, fz_rect rect, int isolated, int knockout, fz_blendmode blendmode)
+fz_listbegingroup(void *user, fz_rect rect, int isolated, int knockout, fz_blendmode blendmode, float alpha)
{
fz_displaynode *node;
- node = fz_newdisplaynode(FZ_CMDBEGINGROUP, fz_identity, nil, nil, 0);
+ node = fz_newdisplaynode(FZ_CMDBEGINGROUP, fz_identity, nil, nil, alpha);
node->rect = rect;
node->item.blendmode = blendmode;
node->flag |= isolated ? ISOLATED : 0;
@@ -383,10 +383,10 @@ fz_executedisplaylist(fz_displaylist *list, fz_device *dev, fz_matrix topctm)
dev->ignoretext(dev->user, node->item.text, ctm);
break;
case FZ_CMDFILLSHADE:
- dev->fillshade(dev->user, node->item.shade, ctm);
+ dev->fillshade(dev->user, node->item.shade, ctm, node->alpha);
break;
case FZ_CMDFILLIMAGE:
- dev->fillimage(dev->user, node->item.image, ctm);
+ dev->fillimage(dev->user, node->item.image, ctm, node->alpha);
break;
case FZ_CMDFILLIMAGEMASK:
dev->fillimagemask(dev->user, node->item.image, ctm,
@@ -409,7 +409,7 @@ fz_executedisplaylist(fz_displaylist *list, fz_device *dev, fz_matrix topctm)
bbox = fz_transformrect(topctm, node->rect);
dev->begingroup(dev->user, bbox,
node->flag & ISOLATED, node->flag & KNOCKOUT,
- node->item.blendmode);
+ node->item.blendmode, node->alpha);
break;
case FZ_CMDENDGROUP:
dev->endgroup(dev->user);