Summary: | opacity mask as image brush has no effect | ||
---|---|---|---|
Product: | GhostXPS | Reporter: | Tor Andersson <tor.andersson> |
Component: | General | Assignee: | Tor Andersson <tor.andersson> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P4 | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Customer: | Word Size: | --- |
Description
Tor Andersson
2009-03-26 06:51:00 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="..."> ... 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. |