Change 20100222-maxcarlson-q by maxcarl...@bank on 2010-02-22 13:45:49 PST
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: UPDATED: Fix drawview.fillRect() in dhtml/swf8/10

Bugs Fixed: LPP-8778 - Drawview.fillRect() doesn't work properly in swf or 
dhtml when alpha is applied

Technical Reviewer: ptw
QA Reviewer: [email protected]

Details: Updated to address Andre's comments:
> - dhtml:
> -> remove "globalAlpha" handling from "__updateStyles()"

Fixed.

> swf:
> - can't use beginPath() etc, fillRect() must not affect the current path 
> [1]

Fixed.

> - swf8:
> createContainer()
> -> context menu handling broken

Good catch!  Fixed with a shared method that updates all drawing contexts.

> -> why calling getNextHighestDepth()?

Because everything (including the bitmap layer) is nested inside 
__drawcontainer.  __drawcontainer seems to end up at the right depth, as 
nesting, clickable, etc. works fine.  Do you see an issue with this?

> -> why assigning "this.context"?

You're right, this shouldn't be necessary.  Fixed.

> 
> - swf9/10:
> createContainer()
> -> "mouseEnabled" is set to false for __drawcontainer, but not for the 
> drawing context, maybe you want to use 
> "DisplayObjectContainer#mouseChildren" instead?

Yep, that helps.  Fixed.

> rebuildBitmap()
> -> "if (! dc) return;" - why? existence already checked right at the 
> beginning of the function

Fixed.

> 
> [1] 
> http://www.whatwg.org/specs/web-apps/current-work/#simple-shapes-%28rectangles%29
>  

Otherwise, the same.

Remove unused __rrfactors attribute.  DHTML's __updateFillStyle() now respects 
globalAlpha.  swf8/10 use restructured sprite/movieclip heirarchy - now 
everything drawview-related goes inside a single __drawcontainer, with the 
__bitmapcontainer always resting behind any drawing context(s).  
createContainer() calls __rebuildBitmap() directly, to ensure it's placed 
behind any drawing contexts.  fillRect() used vector graphics when alpha != 1 
to avoid issue where pixel values are replaced instead of drawn on top of.

Tests: Updated testcase from LPP-8778 looks consistend in dhtml, swf8 and 
swf10.  Testcase from LPP-7823 runs as before in dhtml, swf8 and swf10.

Files:
M       lps/components/extensions/drawview.lzx

Changeset: 
http://svn.openlaszlo.org/openlaszlo/patches/20100222-maxcarlson-q.tar

_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to