nsContainerFrame Class Reference

#include <nsContainerFrame.h>

Inheritance diagram for nsContainerFrame:

Inheritance graph
[legend]
List of all members.

Detailed Description

Implementation of a container frame.

Definition at line 53 of file nsContainerFrame.h.

Public Member Functions

Static Public Member Functions

Protected Member Functions

Protected Attributes


Constructor & Destructor Documentation

nsContainerFrame::nsContainerFrame  )  [protected]
 

nsContainerFrame::~nsContainerFrame  )  [protected]
 


Member Function Documentation

virtual nsresult nsContainerFrame::Init nsIPresContext *  aPresContext,
nsIContent *  aContent,
nsIFrame aParent,
nsStyleContext *  aContext,
nsIFrame aPrevInFlow
[virtual]
 

Reimplemented in nsSVGGenericContainerFrame, nsSVGGFrame, nsSVGOuterSVGFrame, nsSVGTextFrame, and nsSVGTSpanFrame.

virtual nsresult nsContainerFrame::SetInitialChildList nsIPresContext *  aPresContext,
nsIAtom *  aListName,
nsIFrame aChildList
[virtual]
 

virtual nsresult nsContainerFrame::FirstChild nsIPresContext *  aPresContext,
nsIAtom *  aListName,
nsIFrame **  aFirstChild
const [virtual]
 

virtual nsresult nsContainerFrame::GetAdditionalChildListName PRInt32  aIndex,
nsIAtom **  aListName
const [virtual]
 

virtual nsresult nsContainerFrame::Destroy nsIPresContext *  aPresContext  )  [virtual]
 

virtual nsresult nsContainerFrame::Paint nsIPresContext *  aPresContext,
nsIRenderingContext &  aRenderingContext,
const nsRect &  aDirtyRect,
nsFramePaintLayer  aWhichLayer,
PRUint32  aFlags = 0
[virtual]
 

Reimplemented in nsSVGOuterSVGFrame.

virtual nsresult nsContainerFrame::GetFrameForPoint nsIPresContext *  aPresContext,
const nsPoint &  aPoint,
nsFramePaintLayer  aWhichLayer,
nsIFrame **  aFrame
[virtual]
 

Reimplemented in nsSVGOuterSVGFrame.

virtual nsresult nsContainerFrame::ReplaceFrame nsIPresContext *  aPresContext,
nsIPresShell &  aPresShell,
nsIAtom *  aListName,
nsIFrame aOldFrame,
nsIFrame aNewFrame
[virtual]
 

Reimplemented in nsSVGGenericContainerFrame, nsSVGGFrame, nsSVGOuterSVGFrame, nsSVGTextFrame, and nsSVGTSpanFrame.

virtual nsresult nsContainerFrame::ReflowDirtyChild nsIPresShell *  aPresShell,
nsIFrame aChild
[virtual]
 

virtual void nsContainerFrame::DeleteNextInFlowChild nsIPresContext *  aPresContext,
nsIFrame aNextInFlow
[virtual]
 

PRInt32 nsContainerFrame::LengthOf nsIFrame aFrameList  )  [inline, static]
 

Definition at line 95 of file nsContainerFrame.h.

void nsContainerFrame::PositionFrameView nsIPresContext *  aPresContext,
nsIFrame aKidFrame
[static]
 

void nsContainerFrame::SyncFrameViewAfterReflow nsIPresContext *  aPresContext,
nsIFrame aFrame,
nsIView *  aView,
const nsRect *  aCombinedArea,
PRUint32  aFlags = 0
[static]
 

void nsContainerFrame::SyncFrameViewAfterSizeChange nsIPresContext *  aPresContext,
nsIFrame aFrame,
nsStyleContext *  aStyleContext,
nsIView *  aView,
PRUint32  aFlags = 0
[static]
 

void nsContainerFrame::SyncFrameViewProperties nsIPresContext *  aPresContext,
nsIFrame aFrame,
nsStyleContext *  aStyleContext,
nsIView *  aView,
PRUint32  aFlags = 0
[static]
 

PRBool nsContainerFrame::FrameNeedsView nsIPresContext *  aPresContext,
nsIFrame aFrame,
nsStyleContext *  aStyleContext
[static]
 

nsresult nsContainerFrame::ReflowChild nsIFrame aKidFrame,
nsIPresContext *  aPresContext,
nsHTMLReflowMetrics &  aDesiredSize,
const nsHTMLReflowState &  aReflowState,
nscoord  aX,
nscoord  aY,
PRUint32  aFlags,
nsReflowStatus aStatus
 

Invokes the WillReflow() function, positions the frame and its view (if requested), and then calls Reflow(). If the reflow succeeds and the child frame is complete, deletes any next-in-flows using DeleteNextInFlowChild()

Flags: NS_FRAME_NO_MOVE_VIEW - don't position the frame's view. Set this if you don't want to automatically sync the frame and view NS_FRAME_NO_MOVE_VIEW - don't move the frame. aX and aY are ignored in this case. Also implies NS_FRAME_NO_MOVE_VIEW

nsresult nsContainerFrame::FinishReflowChild nsIFrame aKidFrame,
nsIPresContext *  aPresContext,
const nsHTMLReflowState *  aReflowState,
nsHTMLReflowMetrics &  aDesiredSize,
nscoord  aX,
nscoord  aY,
PRUint32  aFlags
[static]
 

The second half of frame reflow. Does the following:

  • sets the frame's bounds
  • sizes and positions (if requested) the frame's view. If the frame's final position differs from the current position and the frame itself does not have a view, then any child frames with views are positioned so they stay in sync
  • sets the view's visibility, opacity, content transparency, and clip
  • invoked the DidReflow() function

Flags: NS_FRAME_NO_MOVE_FRAME - don't move the frame. aX and aY are ignored in this case. Also implies NS_FRAME_NO_MOVE_VIEW NS_FRAME_NO_MOVE_VIEW - don't position the frame's view. Set this if you don't want to automatically sync the frame and view NS_FRAME_NO_SIZE_VIEW - don't size the frame's view

void nsContainerFrame::PositionChildViews nsIPresContext *  aPresContext,
nsIFrame aFrame
[static]
 

nsresult nsContainerFrame::GetFrameForPointUsing nsIPresContext *  aPresContext,
const nsPoint &  aPoint,
nsIAtom *  aList,
nsFramePaintLayer  aWhichLayer,
PRBool  aConsiderSelf,
nsIFrame **  aFrame
[protected]
 

virtual void nsContainerFrame::PaintChildren nsIPresContext *  aPresContext,
nsIRenderingContext &  aRenderingContext,
const nsRect &  aDirtyRect,
nsFramePaintLayer  aWhichLayer,
PRUint32  aFlags = 0
[protected, virtual]
 

virtual void nsContainerFrame::PaintChild nsIPresContext *  aPresContext,
nsIRenderingContext &  aRenderingContext,
const nsRect &  aDirtyRect,
nsIFrame aFrame,
nsFramePaintLayer  aWhichLayer,
PRUint32  aFlags = 0
[protected, virtual]
 

nsIFrame* nsContainerFrame::GetOverflowFrames nsIPresContext *  aPresContext,
PRBool  aRemoveProperty
const [protected]
 

Get the frames on the overflow list

nsresult nsContainerFrame::SetOverflowFrames nsIPresContext *  aPresContext,
nsIFrame aOverflowFrames
[protected]
 

Set the overflow list

PRBool nsContainerFrame::MoveOverflowToChildList nsIPresContext *  aPresContext  )  [protected]
 

Moves any frames on both the prev-in-flow's overflow list and the receiver's overflow to the receiver's child list.

Resets the overlist pointers to nsnull, and updates the receiver's child count and content mapping.

Returns:
PR_TRUE if any frames were moved and PR_FALSE otherwise

void nsContainerFrame::PushChildren nsIPresContext *  aPresContext,
nsIFrame aFromChild,
nsIFrame aPrevSibling
[protected]
 

Push aFromChild and its next siblings to the next-in-flow. Change the geometric parent of each frame that's pushed. If there is no next-in-flow the frames are placed on the overflow list (and the geometric parent is left unchanged).

Updates the next-in-flow's child count. Does not update the pusher's child count.

Parameters:
aFromChild the first child frame to push. It is disconnected from aPrevSibling
aPrevSibling aFromChild's previous sibling. Must not be null. It's an error to push a parent's first child frame


Member Data Documentation

nsFrameList nsContainerFrame::mFrames [protected]
 

Definition at line 258 of file nsContainerFrame.h.


The documentation for this class was generated from the following file:
Generated on Wed Sep 10 22:25:38 2003 for Mozilla SVG Project Rendering Backend by doxygen1.3