On 1/17/2011 1:47 PM, Robert O'Callahan wrote:
On Wed, Jan 5, 2011 at 12:05 PM, <[email protected] <mailto:[email protected]>> wrote:


    Given the statements above I no longer think that changing the
    spec in this regard is a good thing, but I still believe that the
    disappearance of shadows for the source-in and copy modes and the
    strange result when shadows are drawn and the composite operation
    is source-out should be corrected. To do this I suggested the
    following in my previous e-mail, but I got no comments about my
    suggestion so I repeat it here (please excuse my insistence):
    Replace steps 3 to 6 of the drawing model, with:
    3. When shadows are drawn
    
<http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#when-shadows-are-drawn>,
    composite B (source) with A (destination) using destination-over
    operation.
    4. Multiply the alpha component of every pixel in A by
    |globalAlpha
    
<http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-globalalpha>|.
    5. Composite A within the clipping region
    
<http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#clipping-region>over
    the current canvas bitmap using the current composition operator.


That might work. However, I have an alternative proposal: if we don't have good use cases for using shadows with non-"source-over" operators (I don't), let's just say that shadows don't draw for non-"source-over" operators. That would reduce spec and implementation complexity.


I stay away from shadows.

That said, I'd imagine they'd still be used for operations like xor and lighter, where you're "punching through" the bitmap to expose something underneath, or you're
blending with the existing bitmap, to display something with the lighter.

Not my use case, but I could see it happening.

-Charles

Reply via email to