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