From 8fa41c7a751d5d61ff6be9b3a2610fe42b0b242a Mon Sep 17 00:00:00 2001 From: troy Date: Tue, 21 Apr 1998 23:06:41 +0000 Subject: [PATCH] Changed space manager to pass in the frame that's associated with a block of unavailable space git-svn-id: svn://10.0.0.236/trunk@479 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/base/public/nsISpaceManager.h | 10 +++++----- mozilla/layout/base/src/nsSpaceManager.cpp | 2 +- mozilla/layout/base/src/nsSpaceManager.h | 2 +- mozilla/layout/generic/nsBlockFrame.cpp | 4 ++-- mozilla/layout/generic/nsBlockReflowState.cpp | 4 ++-- mozilla/layout/generic/nsBlockReflowState.h | 4 ++-- mozilla/layout/generic/nsSpaceManager.cpp | 2 +- mozilla/layout/generic/nsSpaceManager.h | 2 +- mozilla/layout/html/base/src/nsBlockFrame.cpp | 4 ++-- mozilla/layout/html/base/src/nsBlockReflowState.cpp | 4 ++-- mozilla/layout/html/base/src/nsBlockReflowState.h | 4 ++-- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/mozilla/layout/base/public/nsISpaceManager.h b/mozilla/layout/base/public/nsISpaceManager.h index 6f97b9baf3b..9efb34caac8 100644 --- a/mozilla/layout/base/public/nsISpaceManager.h +++ b/mozilla/layout/base/public/nsISpaceManager.h @@ -43,10 +43,10 @@ struct nsSize; struct nsBandTrapezoid { enum State {smAvailable, smOccupied, smOccupiedMultiple}; - nscoord yTop, yBottom; // horizontal top and bottom coordinates - nscoord xTopLeft, xBottomLeft; - nscoord xTopRight, xBottomRight; - State state; // state of the space + nscoord yTop, yBottom; // top and bottom y-coordinates + nscoord xTopLeft, xBottomLeft; // left edge x-coordinates + nscoord xTopRight, xBottomRight; // right edge x-coordinates + State state; // state of the space union { nsIFrame* frame; // frame occupying the space const nsVoidArray* frames; // list of frames occupying the space @@ -128,7 +128,7 @@ public: * Add a rectangular region of unavailable space. The space is relative to * the local coordinate system. */ - virtual void AddRectRegion(const nsRect& aUnavailableSpace) = 0; + virtual void AddRectRegion(const nsRect& aUnavailableSpace, nsIFrame* aFrame) = 0; /** * Clears the list of regions representing the unavailable space. diff --git a/mozilla/layout/base/src/nsSpaceManager.cpp b/mozilla/layout/base/src/nsSpaceManager.cpp index 01a5b43b911..2906abc65d5 100644 --- a/mozilla/layout/base/src/nsSpaceManager.cpp +++ b/mozilla/layout/base/src/nsSpaceManager.cpp @@ -407,7 +407,7 @@ void SpaceManager::AddRectToBand(nsRect* aBand, // | R | // +-----+ // -void SpaceManager::AddRectRegion(const nsRect& aUnavailableSpace) +void SpaceManager::AddRectRegion(const nsRect& aUnavailableSpace, nsIFrame* aFrame) { // Convert from local to world coordinates nsRect rect(aUnavailableSpace.x + mX, aUnavailableSpace.y + mY, diff --git a/mozilla/layout/base/src/nsSpaceManager.h b/mozilla/layout/base/src/nsSpaceManager.h index 978d6ae5cf8..fe0d3f789b7 100644 --- a/mozilla/layout/base/src/nsSpaceManager.h +++ b/mozilla/layout/base/src/nsSpaceManager.h @@ -39,7 +39,7 @@ public: virtual PRInt32 GetBandData(nscoord aYOffset, const nsSize& aMaxSize, nsBandData& aAvailableSpace) const; - virtual void AddRectRegion(const nsRect& aUnavailableSpace); + virtual void AddRectRegion(const nsRect& aUnavailableSpace, nsIFrame* aFrame); virtual void ClearRegions(); protected: diff --git a/mozilla/layout/generic/nsBlockFrame.cpp b/mozilla/layout/generic/nsBlockFrame.cpp index a916aa72118..adf886a9586 100644 --- a/mozilla/layout/generic/nsBlockFrame.cpp +++ b/mozilla/layout/generic/nsBlockFrame.cpp @@ -363,7 +363,7 @@ void nsBlockFrame::PlaceBelowCurrentLineFloaters(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, floater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; @@ -1976,7 +1976,7 @@ void nsBlockFrame::PlaceFloater(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, aFloater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; diff --git a/mozilla/layout/generic/nsBlockReflowState.cpp b/mozilla/layout/generic/nsBlockReflowState.cpp index a916aa72118..adf886a9586 100644 --- a/mozilla/layout/generic/nsBlockReflowState.cpp +++ b/mozilla/layout/generic/nsBlockReflowState.cpp @@ -363,7 +363,7 @@ void nsBlockFrame::PlaceBelowCurrentLineFloaters(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, floater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; @@ -1976,7 +1976,7 @@ void nsBlockFrame::PlaceFloater(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, aFloater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; diff --git a/mozilla/layout/generic/nsBlockReflowState.h b/mozilla/layout/generic/nsBlockReflowState.h index a916aa72118..adf886a9586 100644 --- a/mozilla/layout/generic/nsBlockReflowState.h +++ b/mozilla/layout/generic/nsBlockReflowState.h @@ -363,7 +363,7 @@ void nsBlockFrame::PlaceBelowCurrentLineFloaters(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, floater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; @@ -1976,7 +1976,7 @@ void nsBlockFrame::PlaceFloater(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, aFloater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; diff --git a/mozilla/layout/generic/nsSpaceManager.cpp b/mozilla/layout/generic/nsSpaceManager.cpp index 01a5b43b911..2906abc65d5 100644 --- a/mozilla/layout/generic/nsSpaceManager.cpp +++ b/mozilla/layout/generic/nsSpaceManager.cpp @@ -407,7 +407,7 @@ void SpaceManager::AddRectToBand(nsRect* aBand, // | R | // +-----+ // -void SpaceManager::AddRectRegion(const nsRect& aUnavailableSpace) +void SpaceManager::AddRectRegion(const nsRect& aUnavailableSpace, nsIFrame* aFrame) { // Convert from local to world coordinates nsRect rect(aUnavailableSpace.x + mX, aUnavailableSpace.y + mY, diff --git a/mozilla/layout/generic/nsSpaceManager.h b/mozilla/layout/generic/nsSpaceManager.h index 978d6ae5cf8..fe0d3f789b7 100644 --- a/mozilla/layout/generic/nsSpaceManager.h +++ b/mozilla/layout/generic/nsSpaceManager.h @@ -39,7 +39,7 @@ public: virtual PRInt32 GetBandData(nscoord aYOffset, const nsSize& aMaxSize, nsBandData& aAvailableSpace) const; - virtual void AddRectRegion(const nsRect& aUnavailableSpace); + virtual void AddRectRegion(const nsRect& aUnavailableSpace, nsIFrame* aFrame); virtual void ClearRegions(); protected: diff --git a/mozilla/layout/html/base/src/nsBlockFrame.cpp b/mozilla/layout/html/base/src/nsBlockFrame.cpp index a916aa72118..adf886a9586 100644 --- a/mozilla/layout/html/base/src/nsBlockFrame.cpp +++ b/mozilla/layout/html/base/src/nsBlockFrame.cpp @@ -363,7 +363,7 @@ void nsBlockFrame::PlaceBelowCurrentLineFloaters(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, floater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; @@ -1976,7 +1976,7 @@ void nsBlockFrame::PlaceFloater(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, aFloater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; diff --git a/mozilla/layout/html/base/src/nsBlockReflowState.cpp b/mozilla/layout/html/base/src/nsBlockReflowState.cpp index a916aa72118..adf886a9586 100644 --- a/mozilla/layout/html/base/src/nsBlockReflowState.cpp +++ b/mozilla/layout/html/base/src/nsBlockReflowState.cpp @@ -363,7 +363,7 @@ void nsBlockFrame::PlaceBelowCurrentLineFloaters(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, floater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; @@ -1976,7 +1976,7 @@ void nsBlockFrame::PlaceFloater(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, aFloater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; diff --git a/mozilla/layout/html/base/src/nsBlockReflowState.h b/mozilla/layout/html/base/src/nsBlockReflowState.h index a916aa72118..adf886a9586 100644 --- a/mozilla/layout/html/base/src/nsBlockReflowState.h +++ b/mozilla/layout/html/base/src/nsBlockReflowState.h @@ -363,7 +363,7 @@ void nsBlockFrame::PlaceBelowCurrentLineFloaters(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, floater); // Set the origin of the floater in world coordinates nscoord worldX, worldY; @@ -1976,7 +1976,7 @@ void nsBlockFrame::PlaceFloater(nsIPresContext* aCX, // XXX Don't forget the floater's margins... mCurrentState->spaceManager->Translate(mCurrentState->borderPadding.left, 0); - mCurrentState->spaceManager->AddRectRegion(region); + mCurrentState->spaceManager->AddRectRegion(region, aFloater); // Set the origin of the floater in world coordinates nscoord worldX, worldY;