Added state to keep track of lines that are impacted by floaters

git-svn-id: svn://10.0.0.236/trunk@24602 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kipp%netscape.com
1999-03-21 01:14:05 +00:00
parent 4eefb39482
commit e8abf03de9
2 changed files with 12 additions and 2 deletions

View File

@@ -59,6 +59,7 @@ public:
void BeginLineReflow(nscoord aX, nscoord aY,
nscoord aWidth, nscoord aHeight,
PRBool aImpactedByFloaters,
PRBool aIsTopOfPage);
void EndLineReflow();
@@ -84,7 +85,6 @@ public:
nsIFrame** aNextRCFrame,
nsReflowStatus& aReflowStatus);
nscoord GetCarriedOutTopMargin() const {
return mCurrentSpan->mLastFrame->mCarriedOutTopMargin;
}
@@ -146,6 +146,10 @@ public:
return 0 == mTotalPlacedFrames;
}
PRBool LineIsBreakable() const {
return (0 != mTotalPlacedFrames) || mImpactedByFloaters;
}
//----------------------------------------
// Inform the line-layout engine about the presence of a BR frame
@@ -229,6 +233,7 @@ protected:
PRBool mWasInWord;
PRBool mCanBreakBeforeFrame;
PRBool mUpdatedBand;
PRBool mImpactedByFloaters;
PRUint8 mPlacedFloaters;
PRInt32 mTotalPlacedFrames;
nsVoidArray mWordFrames;

View File

@@ -59,6 +59,7 @@ public:
void BeginLineReflow(nscoord aX, nscoord aY,
nscoord aWidth, nscoord aHeight,
PRBool aImpactedByFloaters,
PRBool aIsTopOfPage);
void EndLineReflow();
@@ -84,7 +85,6 @@ public:
nsIFrame** aNextRCFrame,
nsReflowStatus& aReflowStatus);
nscoord GetCarriedOutTopMargin() const {
return mCurrentSpan->mLastFrame->mCarriedOutTopMargin;
}
@@ -146,6 +146,10 @@ public:
return 0 == mTotalPlacedFrames;
}
PRBool LineIsBreakable() const {
return (0 != mTotalPlacedFrames) || mImpactedByFloaters;
}
//----------------------------------------
// Inform the line-layout engine about the presence of a BR frame
@@ -229,6 +233,7 @@ protected:
PRBool mWasInWord;
PRBool mCanBreakBeforeFrame;
PRBool mUpdatedBand;
PRBool mImpactedByFloaters;
PRUint8 mPlacedFloaters;
PRInt32 mTotalPlacedFrames;
nsVoidArray mWordFrames;