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
