gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: [Gnash-commit] gnash ChangeLog server/character.h server/dlist...


From: Udo Giacomozzi
Subject: Re[2]: [Gnash-commit] gnash ChangeLog server/character.h server/dlist...
Date: Tue, 30 Oct 2007 10:33:26 +0100

Hello Sandro,

Tuesday, October 30, 2007, 10:17:16 AM, you wrote:
SS> Yes, makes sense, thanks.
SS> "top of each other" is not necessarely true though....
SS> if the mask and the maskee do not overlap moving the mask out of the
SS> maskee bounding box  shouldn't make the maskee invalidated.

The maskee should *never* become invalidated unless it changes itself.

The situation "mask and maskee do not overlap" is handled by
add_invalidated_bounds(), btw. It intersects the mask bounds with the
maskee bounds leading to NULL ranges and thus not adding anything to
the invalidated *bounds*. This intelligence has been added some days
ago. But anyway this case is *not* related to set_invalidated()
because it is only about *avoiding* useless re-rendering (which is a
performance issue in contrast to incorrect rendering).


SS> Maybe more then talking about invalidated *state* the TODO is about
SS> the invalidated *bounds*.
SS> Like, get_invalidated_bounds for a masked object might only returns
SS> the invalidated bounds resulting from intersection of own 
SS> invalidated bounds and maks's invalidated bounds.

Yeah, that's what it does already. The relevant patch is:
http://cvs.savannah.gnu.org/viewvc/gnash/server/dlist.cpp?root=gnash&r1=1.96&r2=1.97

But again, this does *not* change the rendering output, it's just a
optimization.


Udo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]