8 #ifndef __PARAGRAPHLAYOUT_H
10 #define __PARAGRAPHLAYOUT_H
22 #if ! UCONFIG_NO_BREAK_ITERATION
160 static const char fgClassID;
175 inline Line &operator=(
const Line & ) {
return *
this; };
177 void computeMetrics();
180 const LEGlyphID glyphs[],
const float positions[],
const le_int32 glyphToCharMap[]);
232 inline le_int32 getGlyphCount()
const;
244 inline const LEGlyphID *getGlyphs()
const;
259 inline const float *getPositions()
const;
271 inline const le_int32 *getGlyphToCharMap()
const;
323 static const char fgClassID;
331 const float *fPositions;
341 const LEGlyphID glyphs[],
const float positions[],
const le_int32 glyphToCharMap[]);
482 virtual le_int32 getDescent()
const;
492 virtual le_int32 getLeading()
const;
500 inline void reflow();
529 Line *nextLine(
float width);
552 static const char fgClassID;
573 void computeLevels(
UBiDiLevel paragraphLevel);
575 Line *computeVisualRuns();
578 void computeScripts();
580 void computeLocales();
584 void computeMetrics();
625 StyleRunInfo *fStyleRunInfo;
634 float fVisualRunLastX;
635 float fVisualRunLastY;
653 inline ParagraphLayout::Line::Line()
654 :
UObject(), fAscent(0), fDescent(0), fLeading(0), fRunCount(0), fRunCapacity(0), fRuns(
NULL)
659 inline ParagraphLayout::Line::Line(
const Line & )
660 :
UObject(), fAscent(0), fDescent(0), fLeading(0), fRunCount(0), fRunCapacity(0), fRuns(
NULL)
697 return fGlyphToCharMap;
702 return fFont->getAscent();
707 return fFont->getDescent();
712 return fFont->getLeading();
715 inline ParagraphLayout::VisualRun::VisualRun()
721 inline ParagraphLayout::VisualRun::VisualRun(
const VisualRun &)
728 const LEGlyphID glyphs[],
const float positions[],
const le_int32 glyphToCharMap[])
729 : fFont(font), fDirection(direction), fGlyphCount(glyphCount),
730 fGlyphs(glyphs), fPositions(positions), fGlyphToCharMap(glyphToCharMap)