gnash-commit
[Top][All Lists]
Advanced

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

Re: [Gnash-commit] gnash ChangeLog server/character.cpp server/cha...


From: Udo Giacomozzi
Subject: Re: [Gnash-commit] gnash ChangeLog server/character.cpp server/cha...
Date: Tue, 13 Feb 2007 13:35:33 +0100

Hello Sandro,

Wednesday, December 6, 2006, 1:48:51 PM, you wrote:
SS>         void clear_invalidated() {
SS>                 m_invalidated = false;    
SS> +               // Is it correct to set old bounds to null ?
SS> +               // Why are we doing so ?
SS>                 m_old_invalidated_bounds.set_null();
SS>         }


Yes, it's corrent. m_old_invalidated_bounds is used to keep track of
the character's position prior to any visual change.
For example, when you move a character horizontally, then
m_old_invalidated_bounds will contain the bounding rect prior to the
movement and get_invalidated_bounds() will internally get the bounding
rect of the new position. But since both positions need to be redrawn
both rects need to be unified.


   +----------------------------------+
   |.............        ooooooooooooo|
   |.           .        o           o|
   |.           .   ->   o           o|
   |.           .        o           o|
   |.............        ooooooooooooo|
   +----------------------------------+

   .... = old position
   oooo = new position
   ---- = combined invalidated rect (what's being re-rendered)
   

Udo





reply via email to

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