Aded nsFrameConstructorState structure

This commit is contained in:
troy@netscape.com
1999-04-28 19:08:14 +00:00
parent 3b3e9b2c27
commit f03c3b02a7
4 changed files with 1492 additions and 1552 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -32,6 +32,8 @@ struct nsStyleDisplay;
class nsIPresShell;
class nsVoidArray;
class nsFrameConstructorState;
class nsCSSFrameConstructor : public nsIStyleFrameConstruction {
public:
nsCSSFrameConstructor(void);
@@ -119,20 +121,18 @@ protected:
nsIStyleContext** aStyleContext);
nsresult ConstructFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool aHaveFirstLetterStyle);
PRBool aHaveFirstLetterStyle,
nsFrameItems& aFrameItems);
nsresult ConstructDocElementFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aDocElement,
nsIFrame* aParentFrame,
nsIStyleContext* aParentStyleContext,
nsIFrame*& aNewFrame,
nsAbsoluteItems& aFixedItems);
nsIFrame*& aNewFrame);
nsresult CreateGeneratedFrameFor(nsIPresContext* aPresContext,
nsIFrame* aParentFrame,
@@ -157,136 +157,123 @@ protected:
// BEGIN TABLE SECTION
nsresult ConstructTableFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAboluteItems,
nsIFrame*& aNewFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructAnonymousTableFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIFrame*& aNewTopFrame,
nsIFrame*& aOuterFrame,
nsIFrame*& aInnerFrame,
nsAbsoluteItems& aAbsoluteItems,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableCaptionFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewCaptionFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableGroupFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
PRBool aIsRowGroup,
nsIFrame*& aNewTopFrame,
nsIFrame*& aNewGroupFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
nsTableList* aToDo = nsnull);
nsresult ConstructTableGroupFrameOnly(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
PRBool aIsRowGroup,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewGroupFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
PRBool aProcessChildren = PR_TRUE);
nsresult ConstructTableRowFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewRowFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
nsTableList* aToDo = nsnull);
nsresult ConstructTableRowFrameOnly(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
PRBool aProcessChildren,
nsIFrame*& aNewRowFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableColFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewColFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableColFrameOnly(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewColFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableCellFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewCellFrame,
nsIFrame*& aNewCellBodyFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
PRBool aProcessChildren = PR_TRUE);
nsresult ConstructTableCellFrameOnly(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewCellFrame,
nsIFrame*& aNewCellBodyFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
PRBool aProcessChildren);
nsresult TableProcessChildren(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aChildList,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult TableProcessChild(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aChildContent,
nsIFrame* aParentFrame,
nsIStyleContext* aParentStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aChildItems,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult TableProcessTableList(nsIPresContext* aPresContext,
@@ -318,52 +305,45 @@ protected:
nsIFrame*& aFrame);
nsresult ConstructSelectFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIAtom* aTag,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewFrame,
PRBool & aProcessChildren,
PRBool& aProcessChildren,
PRBool aIsAbsolutelyPositioned,
PRBool & aFrameHasBeenInitialized,
PRBool& aFrameHasBeenInitialized,
PRBool aIsFixedPositioned,
nsAbsoluteItems& aFixedItems,
nsFrameItems& aFrameItems);
nsresult ConstructFrameByTag(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIAtom* aTag,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems);
nsFrameItems& aFrameItems);
#ifdef INCLUDE_XUL
nsresult ConstructXULFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIAtom* aTag,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool& aHaltProcessing);
#endif
nsresult ConstructFrameByDisplayType(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
const nsStyleDisplay* aDisplay,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool aHaveFirstLetterStyle);
PRBool aHaveFirstLetterStyle,
nsFrameItems& aFrameItems);
nsresult GetAdjustedParentFrame(nsIFrame* aCurrentParentFrame,
PRUint8 aChildDisplayType,
@@ -371,13 +351,11 @@ protected:
nsresult ProcessChildren(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aFrame,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool aCanHaveGeneratedContent = PR_FALSE);
PRBool aCanHaveGeneratedContent,
nsFrameItems& aFrameItems);
nsresult CreateInputFrame(nsIContent* aContent, nsIFrame*& aFrame);
@@ -392,14 +370,13 @@ protected:
nsIFrame* GetFloaterContainingBlock(nsIPresContext* aPresContext,
nsIFrame* aFrame);
nsresult InitializeScrollFrame(nsIFrame * aScrollFrame,
nsIPresContext* aPresContext,
nsresult InitializeScrollFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIFrame* aScrollFrame,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewFrame,
nsAbsoluteItems& aFixedItems,
PRBool aIsAbsolutelyPositioned,
PRBool aIsFixedPositioned,
PRBool aCreateBlock);
@@ -447,12 +424,10 @@ protected:
nsIStyleContext* aStyleContext);
nsresult ProcessBlockChildren(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aFrame,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool aCanHaveGeneratedContent,
PRBool aForBlock);

File diff suppressed because it is too large Load Diff

View File

@@ -32,6 +32,8 @@ struct nsStyleDisplay;
class nsIPresShell;
class nsVoidArray;
class nsFrameConstructorState;
class nsCSSFrameConstructor : public nsIStyleFrameConstruction {
public:
nsCSSFrameConstructor(void);
@@ -119,20 +121,18 @@ protected:
nsIStyleContext** aStyleContext);
nsresult ConstructFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool aHaveFirstLetterStyle);
PRBool aHaveFirstLetterStyle,
nsFrameItems& aFrameItems);
nsresult ConstructDocElementFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aDocElement,
nsIFrame* aParentFrame,
nsIStyleContext* aParentStyleContext,
nsIFrame*& aNewFrame,
nsAbsoluteItems& aFixedItems);
nsIFrame*& aNewFrame);
nsresult CreateGeneratedFrameFor(nsIPresContext* aPresContext,
nsIFrame* aParentFrame,
@@ -157,136 +157,123 @@ protected:
// BEGIN TABLE SECTION
nsresult ConstructTableFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAboluteItems,
nsIFrame*& aNewFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructAnonymousTableFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIFrame*& aNewTopFrame,
nsIFrame*& aOuterFrame,
nsIFrame*& aInnerFrame,
nsAbsoluteItems& aAbsoluteItems,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableCaptionFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewCaptionFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableGroupFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
PRBool aIsRowGroup,
nsIFrame*& aNewTopFrame,
nsIFrame*& aNewGroupFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
nsTableList* aToDo = nsnull);
nsresult ConstructTableGroupFrameOnly(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
PRBool aIsRowGroup,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewGroupFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
PRBool aProcessChildren = PR_TRUE);
nsresult ConstructTableRowFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewRowFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
nsTableList* aToDo = nsnull);
nsresult ConstructTableRowFrameOnly(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
PRBool aProcessChildren,
nsIFrame*& aNewRowFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableColFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParent,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewColFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableColFrameOnly(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewColFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult ConstructTableCellFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewTopMostFrame,
nsIFrame*& aNewCellFrame,
nsIFrame*& aNewCellBodyFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
PRBool aProcessChildren = PR_TRUE);
nsresult ConstructTableCellFrameOnly(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewCellFrame,
nsIFrame*& aNewCellBodyFrame,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator,
PRBool aProcessChildren);
nsresult TableProcessChildren(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aChildList,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult TableProcessChild(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aChildContent,
nsIFrame* aParentFrame,
nsIStyleContext* aParentStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aChildItems,
nsAbsoluteItems& aFixedItems,
nsTableCreator& aTableCreator);
nsresult TableProcessTableList(nsIPresContext* aPresContext,
@@ -318,52 +305,45 @@ protected:
nsIFrame*& aFrame);
nsresult ConstructSelectFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIAtom* aTag,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewFrame,
PRBool & aProcessChildren,
PRBool& aProcessChildren,
PRBool aIsAbsolutelyPositioned,
PRBool & aFrameHasBeenInitialized,
PRBool& aFrameHasBeenInitialized,
PRBool aIsFixedPositioned,
nsAbsoluteItems& aFixedItems,
nsFrameItems& aFrameItems);
nsresult ConstructFrameByTag(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIAtom* aTag,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems);
nsFrameItems& aFrameItems);
#ifdef INCLUDE_XUL
nsresult ConstructXULFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIAtom* aTag,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool& aHaltProcessing);
#endif
nsresult ConstructFrameByDisplayType(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
const nsStyleDisplay* aDisplay,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool aHaveFirstLetterStyle);
PRBool aHaveFirstLetterStyle,
nsFrameItems& aFrameItems);
nsresult GetAdjustedParentFrame(nsIFrame* aCurrentParentFrame,
PRUint8 aChildDisplayType,
@@ -371,13 +351,11 @@ protected:
nsresult ProcessChildren(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aFrame,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool aCanHaveGeneratedContent = PR_FALSE);
PRBool aCanHaveGeneratedContent,
nsFrameItems& aFrameItems);
nsresult CreateInputFrame(nsIContent* aContent, nsIFrame*& aFrame);
@@ -392,14 +370,13 @@ protected:
nsIFrame* GetFloaterContainingBlock(nsIPresContext* aPresContext,
nsIFrame* aFrame);
nsresult InitializeScrollFrame(nsIFrame * aScrollFrame,
nsIPresContext* aPresContext,
nsresult InitializeScrollFrame(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIFrame* aScrollFrame,
nsIContent* aContent,
nsIFrame* aParentFrame,
nsIStyleContext* aStyleContext,
nsAbsoluteItems& aAbsoluteItems,
nsIFrame*& aNewFrame,
nsAbsoluteItems& aFixedItems,
PRBool aIsAbsolutelyPositioned,
PRBool aIsFixedPositioned,
PRBool aCreateBlock);
@@ -447,12 +424,10 @@ protected:
nsIStyleContext* aStyleContext);
nsresult ProcessBlockChildren(nsIPresContext* aPresContext,
nsFrameConstructorState& aState,
nsIContent* aContent,
nsIFrame* aFrame,
nsAbsoluteItems& aAbsoluteItems,
nsFrameItems& aFrameItems,
nsAbsoluteItems& aFixedItems,
nsAbsoluteItems& aFloatingItems,
PRBool aCanHaveGeneratedContent,
PRBool aForBlock);