From e8abf03de9dacf8ecfdcbd4cd882dc514a809030 Mon Sep 17 00:00:00 2001 From: "kipp%netscape.com" Date: Sun, 21 Mar 1999 01:14:05 +0000 Subject: [PATCH] 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 --- mozilla/layout/generic/nsLineLayout.h | 7 ++++++- mozilla/layout/html/base/src/nsLineLayout.h | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mozilla/layout/generic/nsLineLayout.h b/mozilla/layout/generic/nsLineLayout.h index 1542bcd7dd5..308d0f6712b 100644 --- a/mozilla/layout/generic/nsLineLayout.h +++ b/mozilla/layout/generic/nsLineLayout.h @@ -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; diff --git a/mozilla/layout/html/base/src/nsLineLayout.h b/mozilla/layout/html/base/src/nsLineLayout.h index 1542bcd7dd5..308d0f6712b 100644 --- a/mozilla/layout/html/base/src/nsLineLayout.h +++ b/mozilla/layout/html/base/src/nsLineLayout.h @@ -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;