Do we correctly _not_ set quirks.use_filter_for_dropshadow for IE9?  And does 
IE9 correctly support CSS3 shadows?

On 2010-12-16, at 03:15, [email protected] wrote:

> Author: max
> Date: 2010-12-16 00:15:21 -0800 (Thu, 16 Dec 2010)
> New Revision: 18036
> 
> Modified:
>   openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
> Log:
> Change maxcarlson-20101215-2CJ by maxcarl...@friendly on 2010-12-15 21:19:38 
> PST
>    in /Users/maxcarlson/openlaszlo/trunk-clean
>    for http://svn.openlaszlo.org/openlaszlo/trunk
> 
> Summary: Fix shadowcolor for RGBA values in IE
> 
> Bugs Fixed: LPP-9565 - Control the opacity for view shadow
> 
> Technical Reviewer: hminsky
> QA Reviewer: ptw
> 
> Details: IE only accepts RGB colors.  Simplify offset code.
> 
> Tests: demos/house.lzx?lzr=dhtml&lzt=html with:
> 
> highlight-color: rgba(22,137,200,.5);  
> 
> runs normally in IE 8.
> 
> 
> 
> Modified: openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
> ===================================================================
> --- openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js 2010-12-16 
> 08:03:11 UTC (rev 18035)
> +++ openlaszlo/trunk/WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js 2010-12-16 
> 08:15:21 UTC (rev 18036)
> @@ -3447,21 +3447,21 @@
>     }
> 
>     if (this.quirks.use_filter_for_dropshadow) {
> -        // Use glow filter
> -        if (shadowdistance == 0) {
> +        // IE doesn't support shadow alpha, see 
> http://msdn.microsoft.com/en-us/library/ms533086%28v=vs.85%29.aspx 
> +        var rgbcolor = 
> LzColorUtils.inttohex(LzColorUtils.colorfrominternal(shadowcolor));
> +        if (shadowdistance === 0) {
>             // update x and y offsets to compensate for glow
> -            this.xoffset = this.yoffset = -shadowblurradius;
> -            this.applyCSS('left', this.x + this.xoffset);
> -            this.applyCSS('top', this.y + this.yoffset);
> -            if (shadowblurradius > 0) {
> -                var hexcolor = LzColorUtils.inttohex(shadowcolor);
> -                return "progid:DXImageTransform.Microsoft.Glow(Color='" + 
> hexcolor + "',Strength=" + shadowblurradius + ")";
> -            }
> +            this.applyCSS('left', this.x - shadowblurradius);
> +            this.applyCSS('top', this.y - shadowblurradius);
> +
> +            // Use glow filter when shadowdistance == 0
> +            return "progid:DXImageTransform.Microsoft.Glow(Color='" + 
> rgbcolor + "',Strength=" + shadowblurradius + ")";
>         } else {
> -            // to match Flash
> +            this.applyCSS('left', this.x);
> +            this.applyCSS('top', this.y);
> +            // adjust angle to match Flash
>             shadowangle += 90;
> -            var hexcolor = LzColorUtils.inttohex(shadowcolor);
> -            return "progid:DXImageTransform.Microsoft.Shadow(Color='" + 
> hexcolor + "',Direction=" + shadowangle + ",Strength=" + shadowdistance + ")";
> +            return "progid:DXImageTransform.Microsoft.Shadow(Color='" + 
> rgbcolor + "',Direction=" + shadowangle + ",Strength=" + shadowdistance + ")";
>         }
>     } else {
>         // CSS3 doesn't use angle, but x/y offset. So we need to
> 
> 
> _______________________________________________
> Laszlo-checkins mailing list
> [email protected]
> http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins


Reply via email to