Public Member Functions | Protected Member Functions | Private Attributes

fb_LineBreaker Class Reference

#include <fb_LineBreaker.h>

List of all members.

Public Member Functions

 fb_LineBreaker ()
virtual ~fb_LineBreaker (void)
UT_sint32 breakParagraph (fl_BlockLayout *, fp_Line *pLineToStartAt, fp_Page *pPage)

Protected Member Functions

void _breakTheLineAtLastRunToKeep (fp_Line *pLine, fl_BlockLayout *pBlock, fp_Page *pPage)
UT_sint32 _moveBackToFirstNonBlankData (fp_Run *pCurrentRun, fp_Run **pOffendingRun)
bool _splitAtOrBeforeThisRun (fp_Run *pCurrentRun, UT_sint32 iTrailSpace)
bool _splitAtNextNonBlank (fp_Run *pCurrentRun)
void _splitRunAt (fp_Run *pCurrentRun, fp_RunSplitInfo &splitInfo)

Private Attributes

fp_Runm_pFirstRunToKeep
fp_Runm_pLastRunToKeep
UT_sint32 m_iMaxLineWidth
UT_sint32 m_iWorkingLineWidth

Constructor & Destructor Documentation

fb_LineBreaker::fb_LineBreaker (  ) 

References xxx_UT_DEBUGMSG.

fb_LineBreaker::~fb_LineBreaker ( void   )  [virtual]

References xxx_UT_DEBUGMSG.


Member Function Documentation

void fb_LineBreaker::_breakTheLineAtLastRunToKeep ( fp_Line pLine,
fl_BlockLayout pBlock,
fp_Page pPage 
) [protected]
UT_sint32 fb_LineBreaker::_moveBackToFirstNonBlankData ( fp_Run pCurrentRun,
fp_Run **  pOffendingRun 
) [protected]
bool fb_LineBreaker::_splitAtNextNonBlank ( fp_Run pCurrentRun  )  [protected]
bool fb_LineBreaker::_splitAtOrBeforeThisRun ( fp_Run pCurrentRun,
UT_sint32  iTrailSpace 
) [protected]
void fb_LineBreaker::_splitRunAt ( fp_Run pCurrentRun,
fp_RunSplitInfo splitInfo 
) [protected]
UT_sint32 fb_LineBreaker::breakParagraph ( fl_BlockLayout pBlock,
fp_Line pLineToStartAt,
fp_Page pPage 
)

Break paragraph of text into lines

Parameters:
pBlock Paragraph (block) of text
Returns:
0

LineBreaker shouldn't break a line until it finds a non-blank item past the end of the line. All trailing spaces should remain on the end of the line.

References _breakTheLineAtLastRunToKeep(), _moveBackToFirstNonBlankData(), fl_BlockLayout::_removeLine(), _splitAtNextNonBlank(), _splitAtOrBeforeThisRun(), fp_Line::addRun(), fp_Line::assertLineListIntegrity(), fp_Line::calculateWidthOfRun(), fp_Line::clearScreen(), fp_Line::coalesceRuns(), fp_Line::countRuns(), fp_Run::doesContainNonBlankData(), FPRUN_BOOKMARK, FPRUN_DIRECTIONMARKER, FPRUN_DUMMY, FPRUN_EMBED, FPRUN_ENDOFPARAGRAPH, FPRUN_FIELD, FPRUN_FIELDENDRUN, FPRUN_FIELDSTARTRUN, FPRUN_FMTMARK, FPRUN_FORCEDCOLUMNBREAK, FPRUN_FORCEDLINEBREAK, FPRUN_FORCEDPAGEBREAK, FPRUN_HYPERLINK, FPRUN_IMAGE, FPRUN_MATH, FPRUN_TAB, FPRUN_TEXT, fl_BlockLayout::getAlignment(), fp_Line::getAvailableWidth(), fp_Line::getFilledWidth(), fl_ContainerLayout::getFirstContainer(), fp_Line::getFirstRun(), fp_Line::getLastRun(), fp_Line::getLeftThick(), fp_Run::getLine(), fp_Container::getNext(), fp_Run::getNextRun(), fp_Run::getPrevRun(), fp_Run::getType(), fb_Alignment::getType(), fp_Run::getWidth(), fp_Line::getWorkingDirectionAndTabstops(), fp_Line::layout(), m_iMaxLineWidth, m_iWorkingLineWidth, m_pFirstRunToKeep, m_pLastRunToKeep, fp_Line::removeRun(), fp_Line::resetJustification(), UT_ASSERT, UT_ASSERT_HARMLESS, UT_SHOULD_NOT_HAPPEN, and xxx_UT_DEBUGMSG.

Referenced by fl_BlockLayout::format(), and fl_BlockLayout::formatWrappedFromHere().


Member Data Documentation


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