Nope, we don't have any quirk conditionalization for IE9 yet.

On 12/16/10 8:30 AM, P T Withington wrote:
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