#include <fp_TextRun.h>

anonymous enum [private] |
| fp_TextRun::fp_TextRun | ( | fl_BlockLayout * | pBL, | |
| UT_uint32 | iOffsetFirst, | |||
| UT_uint32 | iLen, | |||
| bool | bLookupProperties = true | |||
| ) |
| fp_TextRun::~fp_TextRun | ( | ) | [virtual] |
References DELETEP, m_pItem, m_pRenderInfo, and xxx_UT_DEBUGMSG.
| void fp_TextRun::mapXYToPosition | ( | UT_sint32 | xPos, | |
| UT_sint32 | yPos, | |||
| PT_DocPosition & | pos, | |||
| bool & | bBOL, | |||
| bool & | bEOL, | |||
| bool & | isTOC | |||
| ) | [virtual] |
Implements fp_Run.
References fp_Run::_getRefreshDrawBuffer(), _refreshDrawBuffer(), fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), fl_BlockLayout::getDominantDirection(), fp_Run::getGraphics(), fp_Run::getLength(), fp_Run::getOffsetFirstVis(), fl_BlockLayout::getPosition(), PD_StruxIterator::getStatus(), GR_RenderInfo::getType(), fp_Run::getVisDirection(), fp_Run::getWidth(), GRRI_XP, GRSR_Unknown, GR_RenderInfo::m_iLength, m_pRenderInfo, GR_RenderInfo::m_pText, GR_XPRenderInfo::m_pWidths, text, UT_ASSERT, UT_BIDI_RTL, UT_return_if_fail, UT_SHOULD_NOT_HAPPEN, UTIter_OK, xxx_UT_DEBUGMSG, and GR_Graphics::XYToPosition().
| void fp_TextRun::findPointCoords | ( | UT_uint32 | iOffset, | |
| UT_sint32 & | x, | |||
| UT_sint32 & | y, | |||
| UT_sint32 & | x2, | |||
| UT_sint32 & | y2, | |||
| UT_sint32 & | height, | |||
| bool & | bDirection | |||
| ) | [virtual] |
Implements fp_Run.
References fp_Run::_getRefreshDrawBuffer(), _refreshDrawBuffer(), fl_BLOCK_STRUX_OFFSET, FPRUN_ENDOFPARAGRAPH, fp_Run::getAscent(), fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getDescent(), fp_Run::getGraphics(), fp_Run::getHeight(), fp_Run::getLength(), fp_Run::getLine(), fp_Run::getNextRun(), fp_Line::getOffsets(), PD_StruxIterator::getStatus(), fp_Run::getType(), GR_RenderInfo::getType(), fp_Run::getVisDirection(), fp_Run::getWidth(), GRRI_XP, GRSR_Unknown, m_fPosition, GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, m_pRenderInfo, GR_RenderInfo::m_pText, GR_XPRenderInfo::m_pWidths, GR_Graphics::positionToXY(), text, TEXT_POSITION_SUBSCRIPT, TEXT_POSITION_SUPERSCRIPT, UT_BIDI_LTR, UT_BIDI_RTL, UT_MIN, UT_return_if_fail, UTIter_OK, and xxx_UT_DEBUGMSG.
| bool fp_TextRun::canBreakAfter | ( | void | ) | const [virtual] |
Implements fp_Run.
References fp_Run::canBreakBefore(), fl_BLOCK_STRUX_OFFSET, FPRUN_TEXT, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getGraphics(), fp_Run::getLength(), fp_Run::getNextRun(), PD_StruxIterator::getPosition(), PD_StruxIterator::getStatus(), fp_Run::getType(), GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, m_pRenderInfo, GR_RenderInfo::m_pText, PD_StruxIterator::setUpperLimit(), text, UT_return_val_if_fail, and UTIter_OK.
| bool fp_TextRun::canBreakBefore | ( | void | ) | const [virtual] |
Implements fp_Run.
References fp_Run::canBreakBefore(), fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getGraphics(), fp_Run::getLength(), fp_Run::getNextRun(), PD_StruxIterator::getPosition(), PD_StruxIterator::getStatus(), GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, m_pRenderInfo, GR_RenderInfo::m_pText, PD_StruxIterator::setUpperLimit(), text, UT_return_val_if_fail, and UTIter_OK.
| bool fp_TextRun::alwaysFits | ( | void | ) | const [virtual] |
Reimplemented from fp_Run.
References fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), PD_StruxIterator::getChar(), fp_Run::getLength(), PD_StruxIterator::getStatus(), text, UCS_SPACE, and UTIter_OK.
| bool fp_TextRun::findMaxLeftFitSplitPoint | ( | UT_sint32 | iMaxLeftWidth, | |
| fp_RunSplitInfo & | si, | |||
| bool | bForce = false | |||
| ) | [virtual] |
Reimplemented from fp_Run.
References GR_Graphics::canBreak(), fl_BLOCK_STRUX_OFFSET, FPRUN_TEXT, fp_Run::getBlock(), fp_Run::getBlockOffset(), PD_StruxIterator::getChar(), fp_Run::getGraphics(), fp_Run::getLength(), fp_Run::getNextRun(), PD_StruxIterator::getPosition(), PD_StruxIterator::getStatus(), GR_Graphics::getTextWidth(), fp_Run::getType(), fp_Run::getWidth(), fp_RunSplitInfo::iLeftWidth, fp_RunSplitInfo::iOffset, fp_RunSplitInfo::iRightWidth, GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, m_pRenderInfo, GR_RenderInfo::m_pText, PD_StruxIterator::setPosition(), PD_StruxIterator::setUpperLimit(), text, UCS_SPACE, UT_return_val_if_fail, UTIter_OK, and xxx_UT_DEBUGMSG.
| UT_sint32 fp_TextRun::findTrailingSpaceDistance | ( | void | ) | const [virtual] |
Reimplemented from fp_Run.
References fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), PD_StruxIterator::getChar(), fp_Run::getGraphics(), fp_Run::getLength(), PD_StruxIterator::getStatus(), GR_Graphics::getTextWidth(), GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, m_pRenderInfo, text, UCS_SPACE, UT_return_val_if_fail, UTIter_OK, and xxx_UT_DEBUGMSG.
| bool fp_TextRun::split | ( | UT_uint32 | iSplitOffset | ) |
References _addupCharWidths(), fp_Run::_getColorFG(), fp_Run::_getColorHL(), fp_Run::_getDecorations(), fp_Run::_getDirection(), fp_Run::_getFont(), fp_Run::_getLineWidth(), fp_Run::_getRefreshDrawBuffer(), fp_Run::_setAscent(), fp_Run::_setColorFG(), fp_Run::_setColorHL(), fp_Run::_setDecorations(), fp_Run::_setDescent(), fp_Run::_setDirection(), fp_Run::_setDirty(), fp_Run::_setField(), fp_Run::_setFont(), fp_Run::_setHeight(), fp_Run::_setHyperlink(), fp_Run::_setLineWidth(), fp_Run::_setRefreshDrawBuffer(), fp_Run::_setRevisions(), fp_Run::_setX(), fp_Run::_setY(), fp_TextRun(), fp_Run::getAscent(), fp_Run::getAuthorNum(), fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getDescent(), fp_Run::getField(), getFont(), fp_Run::getGraphics(), fp_Run::getHeight(), fp_Run::getHyperlink(), fp_Run::getLength(), fp_Run::getLine(), fp_Run::getNextRun(), fp_Run::getRevisions(), fp_Run::getVisDirection(), fp_Run::getVisibility(), fp_Run::getWidth(), fp_Run::getX(), fp_Run::getY(), GRSR_Unknown, fp_Line::insertRunAfter(), m_fPosition, m_iDirOverride, GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, GR_RenderInfo::m_pFont, GR_RenderInfo::m_pGraphics, GR_RenderInfo::m_pItem, m_pItem, m_pLanguage, m_pRenderInfo, GR_Item::makeCopy(), fp_Run::markAsDirty(), fp_Run::recalcWidth(), s_bBidiOS, fp_Run::setAuthorNum(), fp_Run::setLength(), fp_Run::setNextRun(), fp_Run::setPrevRun(), fp_Run::setVisDirection(), fp_Run::setVisibility(), GR_RenderInfo::split(), UT_ASSERT, UT_ASSERT_HARMLESS, UT_BIDI_LTR, UT_BIDI_RTL, and xxx_UT_DEBUGMSG.
Referenced by fp_Line::_splitRunsAtSpaces(), breakMeAtDirBoundaries(), breakNeighborsAtDirBoundaries(), and fl_BlockLayout::doclistener_changeSpan().
| void fp_TextRun::appendTextToBuf | ( | UT_GrowBuf & | buf | ) |
This method append the text in this run to the growbuf supplied in the parameter.
References UT_GrowBuf::append(), fp_Run::getBlock(), fl_BlockLayout::getBlockBuf(), fp_Run::getBlockOffset(), fp_Run::getLength(), and UT_GrowBuf::getPointer().
Referenced by fl_BlockLayout::appendTextToBuf(), and Abi_GrammarCheck::GetEnglishText().
| bool fp_TextRun::hasLayoutProperties | ( | void | ) | const [virtual] |
Reimplemented from fp_Run.
| bool fp_TextRun::canMergeWithNext | ( | void | ) |
References fp_Run::_getColorFG(), fp_Run::_getColorHL(), fp_Run::_getDecorations(), fp_Run::_getFont(), GR_RenderInfo::canAppend(), fl_BLOCK_STRUX_OFFSET, FPRUN_TEXT, fp_Run::getAuthorNum(), fp_Run::getBlock(), fp_Run::getBlockOffset(), PD_StruxIterator::getChar(), fp_Run::getField(), fp_Run::getHeight(), fp_Run::getLength(), fp_Run::getLine(), fp_Run::getNextRun(), fp_Run::getRevisions(), fp_Run::getType(), fp_Run::getVisDirection(), fp_Run::getVisibility(), UT_RGBColor::isTransparent(), m_fPosition, m_iDirOverride, m_pLanguage, m_pRenderInfo, PD_StruxIterator::setPosition(), text, and UT_UCS4_isspace().
Referenced by fp_Line::coalesceRuns(), and FV_View::toggleCase().
| void fp_TextRun::mergeWithNext | ( | void | ) |
References fp_Run::_getDecorations(), fp_Run::_getDirection(), fp_Run::_getFont(), fp_Run::_getLineWidth(), fp_Run::_getRefreshDrawBuffer(), fp_Run::_setDirection(), fp_Run::_setDirty(), fp_Run::_setField(), fp_Run::_setLength(), fp_Run::_setRefreshDrawBuffer(), fp_Run::_setWidth(), fp_Run::_setX(), fp_Line::addDirectionUsed(), GR_RenderInfo::append(), FPRUN_TEXT, fp_Run::getAscent(), fp_Run::getBlockOffset(), fp_Run::getDescent(), fp_Run::getField(), fp_Run::getHeight(), fp_Run::getLength(), fp_Run::getLine(), fp_Run::getNextRun(), fp_Run::getType(), fp_Run::getVisDirection(), fp_Run::getWidth(), fp_Run::getX(), GRSR_Ligatures, GRSR_Unknown, fp_Run::isDirty(), GR_RenderInfo::m_eShapingResult, m_fPosition, m_iDirOverride, GR_RenderInfo::m_iLength, m_pLanguage, m_pRenderInfo, fp_Line::removeRun(), s_bBidiOS, fp_Run::setMustClearScreen(), fp_Run::setNextRun(), fp_Run::setPrevRun(), UT_ASSERT, UT_BIDI_IS_NUMBER, UT_BIDI_IS_STRONG, UT_BIDI_IS_WEAK, UT_BIDI_LTR, UT_BIDI_RTL, and xxx_UT_DEBUGMSG.
Referenced by fl_BlockLayout::_mergeRuns(), and fp_Line::coalesceRuns().
| bool fp_TextRun::findFirstNonBlankSplitPoint | ( | fp_RunSplitInfo & | splitInfo | ) | [virtual] |
Reimplemented from fp_Run.
References XAP_EncodingManager::get_instance(), fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getLength(), UT_GrowBuf::getPointer(), fp_Run::getWidth(), fp_RunSplitInfo::iLeftWidth, fp_RunSplitInfo::iOffset, fp_RunSplitInfo::iRightWidth, UT_ASSERT, and UT_SHOULD_NOT_HAPPEN.
| void fp_TextRun::resetJustification | ( | bool | bPermanent | ) |
References fp_Run::_getRefreshDrawBuffer(), _refreshDrawBuffer(), fp_Run::_setRecalcWidth(), fp_Run::_setWidth(), GR_Graphics::DGP_SCREEN, fp_Run::getGraphics(), fp_Run::getLength(), fp_Run::getWidth(), GRSR_Unknown, GR_RenderInfo::m_iLength, m_pRenderInfo, GR_Graphics::resetJustification(), UT_return_if_fail, and xxx_UT_DEBUGMSG.
Referenced by fp_Line::resetJustification().
This metod distributes an extra width needed to make the line justified betten the spaces in this run
| UT_sint32 | iAmount : the extra width to distribute | |
| UT_uint32 | iSpacesInRun : the number of spaces in this run |
References fp_Run::_setWidth(), fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getGraphics(), fp_Run::getLength(), PD_StruxIterator::getPosition(), fp_Run::getWidth(), GR_Graphics::justify(), GR_RenderInfo::m_iJustificationAmount, GR_RenderInfo::m_iJustificationPoints, GR_RenderInfo::m_iLength, m_pRenderInfo, GR_RenderInfo::m_pText, PD_StruxIterator::setUpperLimit(), text, and UT_return_if_fail.
Referenced by fp_Line::justify().
| UT_sint32 fp_TextRun::countJustificationPoints | ( | bool | bLast | ) | const |
References GR_Graphics::countJustificationPoints(), fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getGraphics(), fp_Run::getLength(), PD_StruxIterator::getPosition(), GR_RenderInfo::m_bLastOnLine, GR_RenderInfo::m_iLength, m_pRenderInfo, GR_RenderInfo::m_pText, PD_StruxIterator::setUpperLimit(), text, and UT_return_val_if_fail.
Referenced by fp_Line::countJustificationPoints(), and fp_Line::justify().
| bool fp_TextRun::getCharacter | ( | UT_uint32 | run_offset, | |
| UT_UCSChar & | Character | |||
| ) | const |
References fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), PD_StruxIterator::getChar(), fp_Run::getLength(), PD_StruxIterator::getStatus(), text, UT_return_val_if_fail, UTIter_OK, and xxx_UT_DEBUGMSG.
Referenced by isFirstCharacter(), and isLastCharacter().
| UT_sint32 fp_TextRun::findCharacter | ( | UT_uint32 | startPosition, | |
| UT_UCSChar | Character | |||
| ) | const |
References fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), PD_StruxIterator::getChar(), fp_Run::getLength(), PD_StruxIterator::getStatus(), text, and UTIter_OK.
Referenced by fp_Line::_splitRunsAtSpaces().
| bool fp_TextRun::isFirstCharacter | ( | UT_UCSChar | Character | ) | const |
References getCharacter().
| bool fp_TextRun::isLastCharacter | ( | UT_UCSChar | Character | ) | const |
| bool fp_TextRun::doesContainNonBlankData | ( | void | ) | const [virtual] |
Reimplemented from fp_Run.
References fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), PD_StruxIterator::getChar(), fp_Run::getLength(), PD_StruxIterator::getStatus(), text, UCS_SPACE, and UTIter_OK.
| bool fp_TextRun::isSuperscript | ( | void | ) | const [inline, virtual] |
| bool fp_TextRun::isSubscript | ( | void | ) | const [inline, virtual] |
| const GR_Font* fp_TextRun::getFont | ( | void | ) | const [inline] |
| const gchar * fp_TextRun::getLanguage | ( | void | ) | const |
| UT_sint32 fp_TextRun::getStr | ( | UT_UCSChar * | str, | |
| UT_uint32 & | iMax | |||
| ) |
| void fp_TextRun::setDirection | ( | UT_BidiCharType | dir, | |
| UT_BidiCharType | override | |||
| ) |
References fp_Run::_getDirection(), fp_Run::_setDirection(), fp_Line::changeDirectionUsed(), fp_Run::clearScreen(), fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), PD_StruxIterator::getChar(), fp_Run::getLength(), fp_Run::getLine(), PD_StruxIterator::getPosition(), PD_StruxIterator::getStatus(), m_iDirOverride, fp_Run::markDrawBufferDirty(), fp_Line::setMapOfRunsDirty(), PD_StruxIterator::setUpperLimit(), fp_Run::setVisDirection(), text, UT_ASSERT, UT_ASSERT_HARMLESS, UT_BIDI_IGNORE, UT_BIDI_IS_STRONG, UT_BIDI_UNSET, UT_bidiGetCharType(), and UTIter_OK.
Referenced by _lookupProperties(), breakMeAtDirBoundaries(), and breakNeighborsAtDirBoundaries().
| void fp_TextRun::setDirOverride | ( | UT_BidiCharType | dir | ) |
References PD_Document::changeSpanFmt(), gchar, fp_Run::getBlock(), fp_Run::getBlockOffset(), fl_Layout::getDocument(), fp_Run::getLength(), fl_BlockLayout::getPosition(), m_iDirOverride, PTC_AddFmt, UT_ASSERT, UT_BIDI_LTR, UT_BIDI_RTL, UT_BIDI_UNSET, UT_DEBUGMSG, and UT_SHOULD_NOT_HAPPEN.
Referenced by fl_BlockLayout::_doInsertTextSpan().
| virtual UT_BidiCharType fp_TextRun::getDirection | ( | void | ) | const [inline, virtual] |
Reimplemented from fp_Run.
References fp_Run::_getDirection(), and UT_BIDI_UNSET.
Referenced by breakNeighborsAtDirBoundaries().
| UT_BidiCharType fp_TextRun::getDirOverride | ( | ) | const [inline] |
Referenced by breakNeighborsAtDirBoundaries().
| void fp_TextRun::breakNeighborsAtDirBoundaries | ( | ) |
A word of explanaiton of the break*AtDirBoundaries() functions. In order to reduce our memory use, we merge runs that resolve to the same embeding level. For example, if we have the sequence 'RTL white_space RTL', we will merge it into one run that gets treated as RTL. However, if we insert a new character into this combined run, or on its left or right, this might result in the embeding level of the white_space segment changing. In order to handle this, we have to break the present run into segments that contain characters of the same type, do the bidi processing, and then we can again merge anything that is on the same embeding level. The two functions below are responsible for the breaking, and are invoked from inside the fl_BlockLayout class.
References fl_BLOCK_STRUX_OFFSET, FPRUN_TEXT, fp_Run::getBlock(), fp_Run::getBlockOffset(), getDirection(), getDirOverride(), fp_Run::getLength(), fp_Run::getNextRun(), fp_Run::getPrevRun(), PD_StruxIterator::getStatus(), fp_Run::getType(), fp_Run::getVisDirection(), setDirection(), split(), text, UT_ASSERT, UT_BIDI_IS_STRONG, UT_BIDI_UNSET, UT_bidiGetCharType(), UT_return_if_fail, and UTIter_OK.
Referenced by _lookupProperties().
| void fp_TextRun::breakMeAtDirBoundaries | ( | UT_BidiCharType | iNewOverride | ) |
References fl_BLOCK_STRUX_OFFSET, FPRUN_TEXT, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getLength(), fp_Run::getNextRun(), PD_StruxIterator::getStatus(), fp_Run::getType(), setDirection(), split(), text, UT_ASSERT, UT_BIDI_IGNORE, UT_BIDI_UNSET, UT_bidiGetCharType(), UT_return_if_fail, and UTIter_OK.
Referenced by fl_BlockLayout::_delete(), _lookupProperties(), and fl_BlockLayout::_lookupProperties().
| void fp_TextRun::setShapingRequired | ( | GRShapingResult | eR | ) | [inline] |
| void fp_TextRun::orShapingRequired | ( | GRShapingResult | eR | ) | [inline] |
| void fp_TextRun::setItem | ( | GR_Item * | i | ) | [inline] |
Referenced by fl_BlockLayout::_doInsertTextSpan().
| const GR_Item* fp_TextRun::getItem | ( | ) | const [inline] |
The following function allows us to respond to deletion of part of the text represented by this run in a smart way (smart here means avoiding recalculating the draw buffer when we do not have to)
| offset,: | run offset at which deletion starts | |
| iLen,: | length of the deleted section, can reach past the end of the run |
Reimplemented from fp_Run.
References fp_Run::_getRefreshDrawBuffer(), GR_RenderInfo::cut(), fl_BLOCK_STRUX_OFFSET, FPRUN_BOOKMARK, FPRUN_FMTMARK, FPRUN_HYPERLINK, FPRUN_TEXT, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getLength(), fp_Run::getNextRun(), fp_Run::getPrevRun(), fp_Run::getType(), fp_Run::getVisDirection(), GRSR_ContextSensitive, GRSR_Unknown, GR_RenderInfo::m_eShapingResult, GR_RenderInfo::m_eState, GR_RenderInfo::m_iLength, GR_RenderInfo::m_iVisDir, m_pRenderInfo, GR_RenderInfo::m_pText, fp_Run::markWidthDirty(), fp_Run::orDrawBufferDirty(), fp_Run::setLength(), text, UT_MIN, UT_return_if_fail, and xxx_UT_DEBUGMSG.
Reimplemented from fp_Run.
References GR_Graphics::adjustCaretPosition(), fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getGraphics(), fp_Run::getLength(), PD_StruxIterator::getPosition(), fl_BlockLayout::getPosition(), PD_StruxIterator::getStatus(), GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, m_pRenderInfo, GR_RenderInfo::m_pText, PD_StruxIterator::setUpperLimit(), text, UT_return_val_if_fail, and UTIter_OK.
Reimplemented from fp_Run.
References GR_Graphics::adjustDeletePosition(), fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getGraphics(), fp_Run::getLength(), PD_StruxIterator::getPosition(), fl_BlockLayout::getPosition(), PD_StruxIterator::getStatus(), GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, m_pRenderInfo, GR_RenderInfo::m_pText, PD_StruxIterator::setUpperLimit(), text, UT_return_if_fail, and UTIter_OK.
| void fp_TextRun::measureCharWidths | ( | ) |
measures widths of individual characters in our draw buffer, stores them in the block's width cache and recalculates overall width.
References _addupCharWidths(), fp_Run::_getFont(), fp_Run::_setRecalcWidth(), fp_Run::_setWidth(), fp_Run::getBlockOffset(), fp_Run::getGraphics(), fp_Run::getLength(), fp_Run::getVisDirection(), GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, GR_RenderInfo::m_iVisDir, GR_RenderInfo::m_pFont, m_pRenderInfo, GR_Graphics::measureRenderedCharWidths(), GR_Graphics::setFont(), and UT_return_if_fail.
Referenced by _refreshDrawBuffer(), and FV_View::remeasureCharsWithoutRebuild().
| bool fp_TextRun::_refreshDrawBuffer | ( | ) | [private] |
Determines if the draw buffer (the run's cache of the text it draws on screen) is uptodate or not and recalculates it as required. If the contents of the buffer change, the block's width cache is updated and overall width recalculated.
References fp_Run::_getDirection(), fp_Run::_getFont(), fp_Run::_getRefreshDrawBuffer(), fp_Run::_setRefreshDrawBuffer(), fl_BLOCK_STRUX_OFFSET, fp_Run::getBlock(), fp_Run::getBlockOffset(), fp_Run::getGraphics(), fp_Run::getLength(), GR_RenderInfo::getType(), fp_Run::getVisDirection(), GRRI_XP, GRSR_BufferClean, GRSR_Error, GRSR_None, GRSR_Unknown, GR_RenderInfo::m_eShapingResult, m_iDirOverride, GR_XPRenderInfo::m_pChars, m_pItem, m_pLanguage, m_pRenderInfo, measureCharWidths(), s_bBidiOS, GR_Graphics::shape(), text, UT_ASSERT, UT_BIDI_LTR, UT_BIDI_RTL, UT_return_val_if_fail, and UT_UCS4_strnrev().
Referenced by _draw(), _getPartRect(), _recalcWidth(), findPointCoords(), mapXYToPosition(), resetJustification(), and simpleRecalcWidth().
| bool fp_TextRun::_addupCharWidths | ( | void | ) | [private] |
References fp_Run::_getFont(), fp_Run::_setWidth(), fp_Run::getGraphics(), fp_Run::getLength(), GR_Graphics::getTextWidth(), fp_Run::getWidth(), GR_RenderInfo::m_iLength, GR_RenderInfo::m_iOffset, GR_RenderInfo::m_pFont, and m_pRenderInfo.
Referenced by _recalcWidth(), measureCharWidths(), and split().
| void fp_TextRun::_lookupProperties | ( | const PP_AttrProp * | pSpanAP, | |
| const PP_AttrProp * | pBlockAP, | |||
| const PP_AttrProp * | pSectionAP, | |||
| GR_Graphics * | pG | |||
| ) | [private, virtual] |
Implements fp_Run.
References fp_Run::_getDecorations(), fp_Run::_getFont(), fp_Run::_orDecorations(), fp_Run::_setAscent(), fp_Run::_setColorFG(), fp_Run::_setDecorations(), fp_Run::_setDescent(), fp_Run::_setField(), fp_Run::_setFont(), fp_Run::_setHeight(), fp_Run::_setLineWidth(), FL_DocLayout::bgcrGrammar, FL_DocLayout::bgcrSpelling, breakMeAtDirBoundaries(), breakNeighborsAtDirBoundaries(),