I just found a regression in swf10 :(. See the pink box in http://localhost:8080/trunk-clean/test/drawing/drawing.lzx?lzr=dhtml&lzt=html vs http://localhost:8080/trunk-clean/test/drawing/drawing.lzx?lzr=swf10&lzt=html. This has to do with the way the alpha color is processed in drawview...

On 11/15/10 2:53 PM, P T Withington wrote:
Change ptw-20101115-YPt by [email protected] on 2010-11-15 17:28:26 EST
     in /Users/ptw/OpenLaszlo/trunk-devo
     for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Change internal color representation to encode alpha accurately

Bugs Fixed:
LPP-9154 Investigate using 32bit ints instead of floats in LzColorUtils
LPP-9528 LzColorUtils does not handle rbga(n,n,n,0) correctly

Technical Reviewer: [email protected], [email protected] (pending)
QA Reviewer: [email protected] (pending)

Release Notes:

     Colors are now represented internally as 32-bit integers with any
     alpha value being stored as its complement in the high 8 bits.
     Thus, a color with an alpha of 1 will be represented by the 24-bit
     color as before, for compatibilty with code that does not
     understand alpha.

     Code that intends to respect alpha needs to be aware of the alpha
     component of colors and be sure to preserve it when manipulating
     colors.  This is best done by unpacking the internal representaion
     into components, manipulating the components, and then repacking
     them.  All standard color models are supported for unpacking and
     repacking -- choose the one best suited to your manipulations.

Overview:

     Basically implemented a whole new substrate in LzColorUtils that
     knows how to pack/unpack internal representations from/to any of
     rgba, hsla, hsva, 8-digit # colors, etc.  Wrote a much more
     complete CSS colorspec parser and unparser.  Shoved these
     underneath the existing API's in as compatible a manner as
     possible.

Details:
     lzunit-lzutils: Updated tests that depended on internal
     representation, which has changed.

     LzUtils: New color representation, pack/unpack methods, css
     colorspec parser and unparser.  Use those as the substrate for the
     existing color APIs.

     style: Bug discovered by new code -- the color type auto-quotes
     its value property.  If you want the value to be an expression,
     you must use ${}.

Tests:
     {smokecheck, lzuint-lzutils} x {swf8, swf10, dhtml}

Files:
M       test/lfc/lzunit-lzutils.lzx
M       WEB-INF/lps/lfc/services/LzUtils.lzs
M       lps/components/base/style.lzx

Changeset: http://svn.openlaszlo.org/openlaszlo/patches/ptw-20101115-YPt.tar

Reply via email to