Public Member Functions | Private Member Functions | Private Attributes

fp_FrameContainer Class Reference

#include <fp_FrameContainer.h>

Inheritance diagram for fp_FrameContainer:
fp_VerticalContainer fp_Container fp_ContainerObject

List of all members.

Public Member Functions

 fp_FrameContainer (fl_SectionLayout *pSectionLayout)
virtual ~fp_FrameContainer ()
void layout (void)
virtual void clearScreen (void)
virtual void draw (dg_DrawArgs *)
virtual void draw (GR_Graphics *)
void drawHandles (dg_DrawArgs *pDA)
void drawBoundaries (dg_DrawArgs *pDA)
virtual void setContainer (fp_Container *pContainer)
virtual fp_ContainergetNextContainerInSection (void) const
virtual fp_ContainergetPrevContainerInSection (void) const
virtual fp_PagegetPage (void) const
virtual UT_sint32 getX () const
virtual UT_sint32 getY () const
virtual UT_sint32 getWidth () const
virtual UT_sint32 getHeight () const
virtual void setHeight (UT_sint32 iHeight)
UT_sint32 getLeftPad (UT_sint32 y, UT_sint32 height)
UT_sint32 getRightPad (UT_sint32 y, UT_sint32 height)
virtual bool isVBreakable (void)
UT_sint32 getFullX () const
UT_sint32 getFullY () const
UT_sint32 getFullWidth () const
UT_sint32 getFullHeight () const
void setXpad (UT_sint32 xPad)
void setYpad (UT_sint32 yPad)
UT_sint32 getXPad (void) const
UT_sint32 getYPad (void) const
void setPage (fp_Page *pPage)
fl_DocSectionLayoutgetDocSectionLayout (void)
void getBlocksAroundFrame (UT_GenericVector< fl_BlockLayout * > &vecBlocks)
PP_PropertyMap::Background getBackground () const
void setPreferedPageNo (UT_sint32 i)
UT_sint32 getPreferedPageNo (void)
void setPreferedColumnNo (UT_sint32 i)
UT_sint32 getPreferedColumnNo (void)
void setBackground (const PP_PropertyMap::Background &style)
void setBottomStyle (const PP_PropertyMap::Line &style)
void setLeftStyle (const PP_PropertyMap::Line &style)
void setRightStyle (const PP_PropertyMap::Line &style)
void setTopStyle (const PP_PropertyMap::Line &style)
void setOverWrote (void)
void setWrapping (bool bWrapping)
bool isWrappingSet (void) const
void setTightWrapping (bool bTight)
bool isTightWrapped (void) const
bool isTopBot (void) const
void setTopBot (bool b)
bool isLeftWrapped (void) const
void setLeftWrapped (bool b)
bool isRightWrapped (void) const
void setRightWrapped (bool b)
bool overlapsRect (const UT_Rect &rec)
bool isAbove (void)
void setAbove (bool bAbove)

Private Member Functions

void _drawLine (const PP_PropertyMap::Line &style, UT_sint32 left, UT_sint32 top, UT_sint32 right, UT_sint32 bot, GR_Graphics *pGr)

Private Attributes

fp_Pagem_pPage
UT_sint32 m_iXpad
UT_sint32 m_iYpad
bool m_bNeverDrawn
PP_PropertyMap::Background m_background
PP_PropertyMap::Line m_lineBottom
PP_PropertyMap::Line m_lineLeft
PP_PropertyMap::Line m_lineRight
PP_PropertyMap::Line m_lineTop
bool m_bOverWrote
bool m_bIsWrapped
bool m_bIsTightWrapped
bool m_bIsAbove
bool m_bIsTopBot
bool m_bIsLeftWrapped
bool m_bIsRightWrapped
UT_sint32 m_iPreferedPageNo
UT_sint32 m_iPreferedColumnNo

Constructor & Destructor Documentation

fp_FrameContainer::fp_FrameContainer ( fl_SectionLayout pSectionLayout  ) 

Create Frame container

Parameters:
iType Container type
pSectionLayout Section layout type used for this container
fp_FrameContainer::~fp_FrameContainer (  )  [virtual]

Destruct container

Note:
The Containers in vector of the container are not destructed. They are owned by the logical hierarchy (i.e., the fl_Container classes like fl_BlockLayout), not the physical hierarchy.

References m_pPage, and UT_DEBUGMSG.


Member Function Documentation

virtual void fp_FrameContainer::draw ( GR_Graphics  )  [inline, virtual]

Reimplemented from fp_VerticalContainer.

PP_PropertyMap::Background fp_FrameContainer::getBackground (  )  const
UT_sint32 fp_FrameContainer::getHeight ( void   )  const [virtual]
UT_sint32 fp_FrameContainer::getLeftPad ( UT_sint32  y,
UT_sint32  height 
)

This method returns the padding to be applied between a line approaching wrapped frame or image from the left. y Is the top of the line in logical units as defined relative to the y position on the screen. height is the height of the line. If tight wrapping is set on a positioned object this number can be negative which means the line can encroach into the rectangular region of the image provided the region is transparent.

References FL_FRAME_TEXTBOX_TYPE, fl_SectionLayout::getBackgroundImage(), fl_FrameLayout::getBoundingSpace(), fl_FrameLayout::getFrameType(), getFullWidth(), fp_ContainerObject::getGraphics(), GR_Image::GetOffsetFromLeft(), fp_VerticalContainer::getScreenRect(), fp_ContainerObject::getSectionLayout(), isTightWrapped(), isWrappingSet(), UT_Rect::top, and xxx_UT_DEBUGMSG.

Referenced by fl_BlockLayout::getLeftRightForWrapping().

fp_Container * fp_FrameContainer::getNextContainerInSection ( void   )  const [virtual]

FrameContainers are not in the linked list of physical containers

Reimplemented from fp_VerticalContainer.

UT_sint32 fp_FrameContainer::getPreferedColumnNo ( void   )  [inline]
UT_sint32 fp_FrameContainer::getPreferedPageNo ( void   )  [inline]
fp_Container * fp_FrameContainer::getPrevContainerInSection ( void   )  const [virtual]

FrameContainers are not in the linked list of physical containers

Reimplemented from fp_VerticalContainer.

UT_sint32 fp_FrameContainer::getRightPad ( UT_sint32  y,
UT_sint32  height 
)

This method returns the padding to be applied between a line approaching wrapped frame or image from the right. y Is the top of the line in logical units as defined relative to the y position on the screen. height is the height of the line. If tight wrapping is set on a positioned object this number can be negative which means the line can encroach into the rectangular region of the image provided the region is transparent.

References FL_FRAME_TEXTBOX_TYPE, fl_SectionLayout::getBackgroundImage(), fl_FrameLayout::getBoundingSpace(), fl_FrameLayout::getFrameType(), getFullWidth(), fp_ContainerObject::getGraphics(), GR_Image::GetOffsetFromRight(), fp_VerticalContainer::getScreenRect(), fp_ContainerObject::getSectionLayout(), isTightWrapped(), isWrappingSet(), UT_Rect::top, and xxx_UT_DEBUGMSG.

Referenced by fl_BlockLayout::getLeftRightForWrapping().

UT_sint32 fp_FrameContainer::getWidth ( void   )  const [virtual]
UT_sint32 fp_FrameContainer::getXPad ( void   )  const [inline]
UT_sint32 fp_FrameContainer::getYPad ( void   )  const [inline]
bool fp_FrameContainer::isAbove ( void   ) 
bool fp_FrameContainer::isLeftWrapped ( void   )  const [inline]
bool fp_FrameContainer::isRightWrapped ( void   )  const [inline]
bool fp_FrameContainer::isTightWrapped ( void   )  const [inline]
bool fp_FrameContainer::isTopBot ( void   )  const [inline]
virtual bool fp_FrameContainer::isVBreakable ( void   )  [inline, virtual]

Reimplemented from fp_VerticalContainer.

bool fp_FrameContainer::isWrappingSet ( void   )  const [inline]
void fp_FrameContainer::setAbove ( bool  bAbove  )  [inline]
void fp_FrameContainer::setBottomStyle ( const PP_PropertyMap::Line style  )  [inline]
void fp_FrameContainer::setContainer ( fp_Container pContainer  )  [virtual]

Reimplemented from fp_Container.

References UT_ASSERT, and UT_SHOULD_NOT_HAPPEN.

void fp_FrameContainer::setHeight ( UT_sint32  iHeight  )  [virtual]
void fp_FrameContainer::setLeftStyle ( const PP_PropertyMap::Line style  )  [inline]
void fp_FrameContainer::setLeftWrapped ( bool  b  )  [inline]
void fp_FrameContainer::setOverWrote ( void   )  [inline]
void fp_FrameContainer::setRightStyle ( const PP_PropertyMap::Line style  )  [inline]
void fp_FrameContainer::setRightWrapped ( bool  b  )  [inline]
void fp_FrameContainer::setTightWrapping ( bool  bTight  )  [inline]
void fp_FrameContainer::setTopBot ( bool  b  )  [inline]
void fp_FrameContainer::setTopStyle ( const PP_PropertyMap::Line style  )  [inline]
void fp_FrameContainer::setWrapping ( bool  bWrapping  )  [inline]
void fp_FrameContainer::setXpad ( UT_sint32  xPad  )  [inline]
void fp_FrameContainer::setYpad ( UT_sint32  yPad  )  [inline]

Member Data Documentation

Referenced by isAbove().

Referenced by clearScreen(), and draw().

Referenced by draw().


The documentation for this class was generated from the following files: