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 _______________________________________________ Gnash-commit mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnash-commit
