Bug 690358 - opacity mask as image brush has no effect
Summary: opacity mask as image brush has no effect
Status: RESOLVED FIXED
Alias: None
Product: GhostXPS
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: All All
: P4 normal
Assignee: Tor Andersson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-26 06:51 UTC by Tor Andersson
Modified: 2009-03-31 06:15 UTC (History)
0 users

See Also:
Customer:
Word Size: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tor Andersson 2009-03-26 06:51:00 UTC
XPS FTS 0202 uses an opacity mask that references an image brush. The transparency mask and group 
setup functions are called, but the mask has no effect.
Comment 1 Tor Andersson 2009-03-27 05:29:29 UTC
After further investigation, it appears that the problem lies in the order of the application of 
RenderTransform to OpacityMask and Clip. The XPS spec is fairly unclear on the matter, and it's not 
made any easier by the fact that these things can be specified either as attributes or as child tags, in 
any mix.

Examples:

<Canvas OpacityMask="...">
<Canvas.RenderTransform />
...

versus

<Canvas RenderTransform="...">
<Canvas.OpacityMask="..." />
...

versus

<Canvas RenderTransform="..." OpacityMask="...">
...

versus

<Canvas OpacityMask="..." RenderTransform="...">
...
Comment 2 Tor Andersson 2009-03-31 06:15:43 UTC
It turns out that the mixing of the attributes and property tags is independent of rendering, and the 
internal order of property tags is strict. The bug was a gsave/grestore bracketing mismatch which
caused the Clip to interact badly with subsequent elements that used complicated brushes.

Fixed in revision 9605.