Added in an immedate flag for controlling Invalidate rendering

git-svn-id: svn://10.0.0.236/trunk@10993 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kipp%netscape.com
1998-09-24 23:56:15 +00:00
parent 3aec276c63
commit fa13ca7bfd
2 changed files with 8 additions and 4 deletions

View File

@@ -1340,13 +1340,16 @@ NS_METHOD nsFrame::GetWindow(nsIWidget*& aWindow) const
return NS_OK;
}
void nsFrame::Invalidate(const nsRect& aDamageRect) const
void
nsFrame::Invalidate(const nsRect& aDamageRect,
PRBool aImmediate) const
{
nsIViewManager* viewManager = nsnull;
PRUint32 flags = aImmediate ? NS_VMREFRESH_IMMEDIATE : NS_VMREFRESH_NO_SYNC;
if (nsnull != mView) {
mView->GetViewManager(viewManager);
viewManager->UpdateView(mView, aDamageRect, NS_VMREFRESH_NO_SYNC);
viewManager->UpdateView(mView, aDamageRect, flags);
} else {
nsRect rect(aDamageRect);
@@ -1357,7 +1360,7 @@ void nsFrame::Invalidate(const nsRect& aDamageRect) const
NS_ASSERTION(nsnull != view, "no view");
rect += offset;
view->GetViewManager(viewManager);
viewManager->UpdateView(view, rect, NS_VMREFRESH_NO_SYNC);
viewManager->UpdateView(view, rect, flags);
}
NS_IF_RELEASE(viewManager);

View File

@@ -221,7 +221,8 @@ public:
// Invalidate part of the frame by asking the view manager to repaint.
// aDamageRect is in the frame's local coordinate space
void Invalidate(const nsRect& aDamageRect) const;
void Invalidate(const nsRect& aDamageRect,
PRBool aImmediate = PR_FALSE) const;
#ifdef NS_DEBUG
/**