Opened 9 years ago

Closed 8 years ago

#11668 closed defect (fixed)

VML setFill function breaks alpha filter

Reported by: mrbluecoat Owned by: Eugene Lazutkin
Priority: high Milestone: 1.6
Component: DojoX GFX Version: 1.5
Keywords: dojox.gfx, vml, alpha, filter Cc: mrbluecoat@…
Blocked By: Blocking:

Description

DXImageTransform.Microsoft.Alpha is necessary for applying various filters to VML. The setFill function in vml.js currently breaks this filter. To fix this, please add two lines to the Dojo.gfx vml.js file ('setFill' function) as shown in this diff: ...

fo.type = "solid"; fo.opacity = this.fillStyle.a;

+ var alphaFilter = this.rawNode.filtersDXImageTransform.Microsoft.Alpha?; + if(alphaFilter) alphaFilter.opacity = this.fillStyle.a * 100;

this.rawNode.fillcolor = this.fillStyle.toHex(); this.rawNode.filled = true;

...

Change History (5)

comment:1 Changed 9 years ago by mrbluecoat

The Trac ticket system messes up the diff formatting above. Please see the diff referenced here: http://github.com/mrbluecoat/Dojox.gfx-Plugins/blob/master/Blur/dojox.gfx.plugins.Blur.js

comment:2 Changed 9 years ago by mrbluecoat

Correct diff:

...
  fo.type = "solid";
  fo.opacity = this.fillStyle.a;
+ var alphaFilter = this.rawNode.filters["DXImageTransform.Microsoft.Alpha"];
+ if(alphaFilter) alphaFilter.opacity = this.fillStyle.a * 100;
  this.rawNode.fillcolor = this.fillStyle.toHex();
  this.rawNode.filled = true;
...

comment:3 Changed 9 years ago by Eugene Lazutkin

Milestone: tbd1.7
Status: newassigned

Filters turn off antialiasing in IE. We need to investigate it better.

comment:4 Changed 8 years ago by Eugene Lazutkin

Milestone: 1.71.6

comment:5 Changed 8 years ago by Eugene Lazutkin

Resolution: fixed
Status: assignedclosed

(In [23697]) gfx: coordinated VML's alpha with filters, thx mrbluecoat!, !strict, fixes #11668.

Note: See TracTickets for help on using tickets.