added a few comments

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15623 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus 2005-12-20 22:23:48 +00:00
parent f6cef39e1e
commit ef4635a3f9
1 changed files with 9 additions and 0 deletions

View File

@ -1225,6 +1225,7 @@ Desktop::MoveWindowBy(WindowLayer* window, float x, float y)
BRegion copyRegion(window->VisibleRegion()); BRegion copyRegion(window->VisibleRegion());
copyRegion.OffsetBy(-x, -y); copyRegion.OffsetBy(-x, -y);
copyRegion.IntersectWith(&newDirtyRegion); copyRegion.IntersectWith(&newDirtyRegion);
// newDirtyRegion == the windows old visible region
// include the the new visible region of the window being // include the the new visible region of the window being
// moved into the dirty region (for now) // moved into the dirty region (for now)
@ -1251,7 +1252,11 @@ Desktop::ResizeWindowBy(WindowLayer* window, float x, float y)
if (!LockAllWindows()) if (!LockAllWindows())
return; return;
// the dirty region for the inside of the window is
// constructed by the window itself in ResizeBy()
BRegion newDirtyRegion; BRegion newDirtyRegion;
// track the dirty region outside the window in case
// it is shrunk in "previouslyOccupiedRegion"
BRegion previouslyOccupiedRegion(window->VisibleRegion()); BRegion previouslyOccupiedRegion(window->VisibleRegion());
window->ResizeBy(x, y, &newDirtyRegion); window->ResizeBy(x, y, &newDirtyRegion);
@ -1259,9 +1264,13 @@ Desktop::ResizeWindowBy(WindowLayer* window, float x, float y)
BRegion background; BRegion background;
_RebuildClippingForAllWindows(background); _RebuildClippingForAllWindows(background);
// we just care for the region outside the window
previouslyOccupiedRegion.Exclude(&window->VisibleRegion()); previouslyOccupiedRegion.Exclude(&window->VisibleRegion());
// make sure the window cannot mark stuff dirty outside
// its visible region...
newDirtyRegion.IntersectWith(&window->VisibleRegion()); newDirtyRegion.IntersectWith(&window->VisibleRegion());
// ...because we do this outself
newDirtyRegion.Include(&previouslyOccupiedRegion); newDirtyRegion.Include(&previouslyOccupiedRegion);
MarkDirty(newDirtyRegion); MarkDirty(newDirtyRegion);