#include <docview.h>
Inheritance diagram for PendingRedraws:
Public Member Functions | |
PendingRedraws () | |
Initialise a PendingRedraws object. | |
~PendingRedraws () | |
Destroys a PendingRedraws object. | |
BOOL | AddInvalidRegion (Spread *, DocRect, Node *pInvalidNode) |
Add another invalid region to the specified Spread's collection. | |
void | FlushRedraw (DocView *) |
Cause all pending update regions on all spreads for this DocView to be updated immediately. | |
void | HandleNodeDeletion (Node *pNode) |
Cause all pending update regions on all spreads for this DocView to be updated immediately. | |
Private Member Functions | |
CC_DECLARE_MEMDUMP (PendingRedraws) |
Definition at line 174 of file docview.h.
|
Initialise a PendingRedraws object.
Definition at line 538 of file docview.cpp.
|
|
Destroys a PendingRedraws object.
Definition at line 554 of file docview.cpp. 00555 { 00556 DeleteAll(); 00557 }
|
|
Add another invalid region to the specified Spread's collection.
Definition at line 576 of file docview.cpp. 00577 { 00578 // Look for this spread in our list 00579 SpreadRedraws *pItem = (SpreadRedraws *) GetHead(); 00580 00581 while ((pItem != NULL) && (pItem->GetSpread() != pSpread)) 00582 { 00583 // Nope - try next item 00584 pItem = (SpreadRedraws *) GetNext(pItem); 00585 } 00586 00587 if (pItem == NULL) 00588 { 00589 // No entry for the spread - we'd better make one 00590 pItem = new SpreadRedraws(pSpread); 00591 00592 // Did it work? 00593 if (pItem == NULL) 00594 return FALSE; 00595 00596 // Yes - add to the list 00597 AddTail(pItem); 00598 } 00599 00600 // Got an an entry for this spread - add the region 00601 pItem->AddInvalidRegion(Rect, pInvalidNode); 00602 00603 // All ok 00604 return TRUE; 00605 }
|
|
|
|
Cause all pending update regions on all spreads for this DocView to be updated immediately.
Definition at line 620 of file docview.cpp. 00621 { 00622 // Invalidate the regions on each spread... 00623 SpreadRedraws *pItem = (SpreadRedraws *) GetHead(); 00624 00625 while (pItem != NULL) 00626 { 00627 // Invalid the regions on this spread, and delete this item 00628 pItem->FlushRedraw(pDocView); 00629 delete RemoveItem(pItem); 00630 00631 // Now try the next item... 00632 pItem = (SpreadRedraws *) GetHead(); 00633 } 00634 }
|
|
Cause all pending update regions on all spreads for this DocView to be updated immediately.
Definition at line 650 of file docview.cpp. 00651 { 00652 // Invalidate the regions on each spread... 00653 SpreadRedraws *pItem = (SpreadRedraws *) GetHead(); 00654 00655 while (pItem != NULL) 00656 { 00657 pItem->ClearBackmostChangedNode(pNode); 00658 00659 // Now try the next item... 00660 pItem = (SpreadRedraws *) this->GetNext(pItem); 00661 } 00662 }
|