#include <pd_Iterator.h>
PD_StruxIterator::PD_StruxIterator | ( | pf_Frag_Strux * | sdh, | |
UT_uint32 | offset = 0 , |
|||
UT_uint32 | maxOffset = 0xffffffff | |||
) |
doc | - the document which we want to iterate | |
sdh | - handle of the strux we want to start from | |
offset | - offset relative to strux we want to start from | |
maxOffset | - the upper limit of offset |
References _findFrag(), pf_Frag::getLength(), m_frag, m_pPT, m_sdh, m_strux_len, UT_return_if_fail, and xxx_UT_DEBUGMSG.
PD_StruxIterator::PD_StruxIterator | ( | ) | [inline, private] |
Referenced by makeCopy().
bool PD_StruxIterator::_findFrag | ( | ) | [private] |
References pf_Frag::getLength(), pf_Frag::getNext(), pf_Frag::getPrev(), m_frag, m_frag_offset, m_offset, m_sdh, and m_status.
Referenced by operator++(), operator+=(), operator--(), operator-=(), PD_StruxIterator(), and setPosition().
bool PD_StruxIterator::_incrementPos | ( | UT_sint32 | d | ) | [private] |
References m_max_offset, m_offset, m_status, m_strux_len, and UTIter_OK.
Referenced by operator++(), operator+=(), operator--(), and operator-=().
UT_uint32 PD_StruxIterator::find | ( | UT_TextIterator & | text, | |
UT_uint32 | iLen, | |||
bool | bForward = true | |||
) | [virtual] |
Implements UT_TextIterator.
References m_status, UT_ASSERT_HARMLESS, and UT_NOT_IMPLEMENTED.
UT_uint32 PD_StruxIterator::find | ( | UT_UCS4Char * | what, | |
UT_uint32 | iLen, | |||
bool | bForward = true | |||
) | [virtual] |
Implements UT_TextIterator.
References m_status, UT_ASSERT_HARMLESS, and UT_NOT_IMPLEMENTED.
UT_UCS4Char PD_StruxIterator::getChar | ( | ) | [virtual] |
get character at the curent position
Implements UT_TextIterator.
References pf_Frag_Text::getBufIndex(), pt_PieceTable::getPointer(), pf_Frag::getType(), m_frag, m_frag_offset, m_offset, m_pPT, m_status, UT_ASSERT_HARMLESS, UT_SHOULD_NOT_HAPPEN, and UTIter_OK.
Referenced by fp_TextRun::_drawInvisibleSpaces(), fp_TextRun::alwaysFits(), fp_TextRun::canMergeWithNext(), fp_TextRun::doesContainNonBlankData(), fp_TextRun::findCharacter(), fp_TextRun::findMaxLeftFitSplitPoint(), fp_TextRun::findTrailingSpaceDistance(), fp_TextRun::getCharacter(), fp_TextRun::getStr(), fp_TextRun::isOneItem(), operator[](), and fp_TextRun::setDirection().
virtual UT_uint32 PD_StruxIterator::getPosition | ( | ) | const [inline, virtual] |
Implements UT_TextIterator.
Referenced by fp_TextRun::_draw(), fp_TextRun::adjustCaretPosition(), fp_TextRun::adjustDeletePosition(), fp_TextRun::canBreakAfter(), fp_TextRun::canBreakBefore(), fp_TextRun::countJustificationPoints(), fp_TextRun::findMaxLeftFitSplitPoint(), fp_TextRun::isOneItem(), fp_TextRun::justify(), and fp_TextRun::setDirection().
virtual UTIterStatus PD_StruxIterator::getStatus | ( | ) | const [inline, virtual] |
Implements UT_TextIterator.
Referenced by fp_TextRun::_drawInvisibleSpaces(), fp_TextRun::adjustCaretPosition(), fp_TextRun::adjustDeletePosition(), fp_TextRun::alwaysFits(), fp_TextRun::breakMeAtDirBoundaries(), fp_TextRun::breakNeighborsAtDirBoundaries(), fp_TextRun::canBreakAfter(), fp_TextRun::canBreakBefore(), fp_TextRun::doesContainNonBlankData(), fp_TextRun::findCharacter(), fp_TextRun::findMaxLeftFitSplitPoint(), fp_TextRun::findPointCoords(), fp_TextRun::findTrailingSpaceDistance(), fp_TextRun::getCharacter(), fp_TextRun::getStr(), fp_TextRun::isOneItem(), fp_TextRun::mapXYToPosition(), and fp_TextRun::setDirection().
virtual UT_uint32 PD_StruxIterator::getUpperLimit | ( | ) | const [inline, virtual] |
Implements UT_TextIterator.
Referenced by fp_TextRun::adjustCaretPosition(), and fp_TextRun::adjustDeletePosition().
UT_TextIterator * PD_StruxIterator::makeCopy | ( | ) | const [virtual] |
Implements UT_TextIterator.
References m_frag, m_frag_offset, m_max_offset, m_offset, m_pPT, m_sdh, m_status, m_strux_len, PD_StruxIterator(), and UT_return_val_if_fail.
UT_TextIterator & PD_StruxIterator::operator++ | ( | ) | [virtual] |
various increment operators
Implements UT_TextIterator.
References _findFrag(), and _incrementPos().
UT_TextIterator & PD_StruxIterator::operator+= | ( | UT_sint32 | i | ) | [virtual] |
Implements UT_TextIterator.
References _findFrag(), and _incrementPos().
UT_TextIterator & PD_StruxIterator::operator-- | ( | ) | [virtual] |
Implements UT_TextIterator.
References _findFrag(), and _incrementPos().
UT_TextIterator & PD_StruxIterator::operator-= | ( | UT_sint32 | i | ) | [virtual] |
Implements UT_TextIterator.
References _findFrag(), and _incrementPos().
UT_UCS4Char PD_StruxIterator::operator[] | ( | UT_uint32 | dpos | ) | [virtual] |
advance iterator to document position dpos and return character at that position
Implements UT_TextIterator.
References getChar(), and setPosition().
void PD_StruxIterator::setPosition | ( | UT_uint32 | pos | ) | [virtual] |
Implements UT_TextIterator.
References _findFrag(), m_max_offset, m_offset, m_status, and m_strux_len.
Referenced by fp_TextRun::_draw(), fp_TextRun::_drawFirstChar(), fp_TextRun::_drawLastChar(), fp_TextRun::canMergeWithNext(), fp_TextRun::findMaxLeftFitSplitPoint(), and operator[]().
virtual void PD_StruxIterator::setUpperLimit | ( | UT_uint32 | maxpos | ) | [inline, virtual] |
Implements UT_TextIterator.
Referenced by fp_TextRun::adjustCaretPosition(), fp_TextRun::adjustDeletePosition(), fp_TextRun::canBreakAfter(), fp_TextRun::canBreakBefore(), fp_TextRun::countJustificationPoints(), fp_TextRun::findMaxLeftFitSplitPoint(), fp_TextRun::isOneItem(), fp_TextRun::justify(), and fp_TextRun::setDirection().
const pf_Frag* PD_StruxIterator::m_frag [private] |
Referenced by _findFrag(), getChar(), makeCopy(), and PD_StruxIterator().
UT_uint32 PD_StruxIterator::m_frag_offset [private] |
Referenced by _findFrag(), getChar(), and makeCopy().
UT_uint32 PD_StruxIterator::m_max_offset [private] |
Referenced by _incrementPos(), makeCopy(), and setPosition().
UT_uint32 PD_StruxIterator::m_offset [private] |
Referenced by _findFrag(), _incrementPos(), getChar(), makeCopy(), and setPosition().
pt_PieceTable* PD_StruxIterator::m_pPT [private] |
Referenced by getChar(), makeCopy(), and PD_StruxIterator().
pf_Frag_Strux* PD_StruxIterator::m_sdh [private] |
Referenced by _findFrag(), makeCopy(), and PD_StruxIterator().
UTIterStatus PD_StruxIterator::m_status [private] |
Referenced by _findFrag(), _incrementPos(), find(), getChar(), makeCopy(), and setPosition().
UT_uint32 PD_StruxIterator::m_strux_len [private] |
Referenced by _incrementPos(), makeCopy(), PD_StruxIterator(), and setPosition().