From 4ea46c84ff8a8c0a3070937e8ebca7eca04ec18f Mon Sep 17 00:00:00 2001 From: "kipp%netscape.com" Date: Tue, 27 Oct 1998 16:51:21 +0000 Subject: [PATCH] Added methods to support justification git-svn-id: svn://10.0.0.236/trunk@13561 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/generic/nsFrame.cpp | 32 +++++++++++++++----- mozilla/layout/generic/nsFrame.h | 6 ++++ mozilla/layout/html/base/src/nsFrame.cpp | 32 +++++++++++++++----- mozilla/layout/html/base/src/nsFrame.h | 6 ++++ mozilla/layout/html/base/src/nsIHTMLReflow.h | 11 +++++++ 5 files changed, 73 insertions(+), 14 deletions(-) diff --git a/mozilla/layout/generic/nsFrame.cpp b/mozilla/layout/generic/nsFrame.cpp index 7257227c3b0..25680eb0938 100644 --- a/mozilla/layout/generic/nsFrame.cpp +++ b/mozilla/layout/generic/nsFrame.cpp @@ -1187,17 +1187,35 @@ nsFrame::FindTextRuns(nsLineLayout& aLineLayout) return NS_OK; } -NS_IMETHODIMP nsFrame::ContentChanged(nsIPresContext* aPresContext, - nsIContent* aChild, - nsISupports* aSubContent) +NS_IMETHODIMP +nsFrame::AdjustFrameSize(nscoord aExtraSpace, nscoord& aUsedSpace) +{ + aUsedSpace = 0; + return NS_OK; +} + +NS_IMETHODIMP +nsFrame::TrimTrailingWhiteSpace(nsIPresContext& aPresContext, + nsIRenderingContext& aRC, + nscoord& aDeltaWidth) +{ + aDeltaWidth = 0; + return NS_OK; +} + +NS_IMETHODIMP +nsFrame::ContentChanged(nsIPresContext* aPresContext, + nsIContent* aChild, + nsISupports* aSubContent) { return NS_OK; } -NS_IMETHODIMP nsFrame::AttributeChanged(nsIPresContext* aPresContext, - nsIContent* aChild, - nsIAtom* aAttribute, - PRInt32 aHint) +NS_IMETHODIMP +nsFrame::AttributeChanged(nsIPresContext* aPresContext, + nsIContent* aChild, + nsIAtom* aAttribute, + PRInt32 aHint) { return NS_OK; } diff --git a/mozilla/layout/generic/nsFrame.h b/mozilla/layout/generic/nsFrame.h index 5133db58dc0..cbcd09b8af8 100644 --- a/mozilla/layout/generic/nsFrame.h +++ b/mozilla/layout/generic/nsFrame.h @@ -208,6 +208,12 @@ public: NS_IMETHOD GetReflowMetrics(nsIPresContext& aPresContext, nsHTMLReflowMetrics& aMetrics); NS_IMETHOD FindTextRuns(nsLineLayout& aLineLayout); + + NS_IMETHOD AdjustFrameSize(nscoord aExtraSpace, nscoord& aUsedSpace); + + NS_IMETHOD TrimTrailingWhiteSpace(nsIPresContext& aPresContext, + nsIRenderingContext& aRC, + nscoord& aDeltaWidth); //@} // Selection Methods diff --git a/mozilla/layout/html/base/src/nsFrame.cpp b/mozilla/layout/html/base/src/nsFrame.cpp index 7257227c3b0..25680eb0938 100644 --- a/mozilla/layout/html/base/src/nsFrame.cpp +++ b/mozilla/layout/html/base/src/nsFrame.cpp @@ -1187,17 +1187,35 @@ nsFrame::FindTextRuns(nsLineLayout& aLineLayout) return NS_OK; } -NS_IMETHODIMP nsFrame::ContentChanged(nsIPresContext* aPresContext, - nsIContent* aChild, - nsISupports* aSubContent) +NS_IMETHODIMP +nsFrame::AdjustFrameSize(nscoord aExtraSpace, nscoord& aUsedSpace) +{ + aUsedSpace = 0; + return NS_OK; +} + +NS_IMETHODIMP +nsFrame::TrimTrailingWhiteSpace(nsIPresContext& aPresContext, + nsIRenderingContext& aRC, + nscoord& aDeltaWidth) +{ + aDeltaWidth = 0; + return NS_OK; +} + +NS_IMETHODIMP +nsFrame::ContentChanged(nsIPresContext* aPresContext, + nsIContent* aChild, + nsISupports* aSubContent) { return NS_OK; } -NS_IMETHODIMP nsFrame::AttributeChanged(nsIPresContext* aPresContext, - nsIContent* aChild, - nsIAtom* aAttribute, - PRInt32 aHint) +NS_IMETHODIMP +nsFrame::AttributeChanged(nsIPresContext* aPresContext, + nsIContent* aChild, + nsIAtom* aAttribute, + PRInt32 aHint) { return NS_OK; } diff --git a/mozilla/layout/html/base/src/nsFrame.h b/mozilla/layout/html/base/src/nsFrame.h index 5133db58dc0..cbcd09b8af8 100644 --- a/mozilla/layout/html/base/src/nsFrame.h +++ b/mozilla/layout/html/base/src/nsFrame.h @@ -208,6 +208,12 @@ public: NS_IMETHOD GetReflowMetrics(nsIPresContext& aPresContext, nsHTMLReflowMetrics& aMetrics); NS_IMETHOD FindTextRuns(nsLineLayout& aLineLayout); + + NS_IMETHOD AdjustFrameSize(nscoord aExtraSpace, nscoord& aUsedSpace); + + NS_IMETHOD TrimTrailingWhiteSpace(nsIPresContext& aPresContext, + nsIRenderingContext& aRC, + nscoord& aDeltaWidth); //@} // Selection Methods diff --git a/mozilla/layout/html/base/src/nsIHTMLReflow.h b/mozilla/layout/html/base/src/nsIHTMLReflow.h index 2c7998f9c17..59a4e53e5e8 100644 --- a/mozilla/layout/html/base/src/nsIHTMLReflow.h +++ b/mozilla/layout/html/base/src/nsIHTMLReflow.h @@ -282,6 +282,17 @@ public: // Helper method used by block reflow to identify runs of text so that // proper word-breaking can be done. NS_IMETHOD FindTextRuns(nsLineLayout& aLineLayout) = 0; + + // Justification helper method used to distribute extra space in a + // line to leaf frames. aUsedSpace is filled in with the amount of + // space actually used. + NS_IMETHOD AdjustFrameSize(nscoord aExtraSpace, nscoord& aUsedSpace) = 0; + + // Justification helper method that is used to remove trailing + // whitespace before justification. + NS_IMETHOD TrimTrailingWhiteSpace(nsIPresContext& aPresContext, + nsIRenderingContext& aRC, + nscoord& aDeltaWidth) = 0; }; //----------------------------------------------------------------------