# ParagraphLayout::VisualRun Class Reference

This object represents a single visual run in a line of text in a paragraph. More...

`#include <ParagraphLayout.h>`

Inheritance diagram for ParagraphLayout::VisualRun:

## Public Member Functions
const LEFontInstance * | getFont () const
| Get the `LEFontInstance` object which represents the font of the visual run.
UBiDiDirection | getDirection () const
| Get the direction of the visual run.
le_int32 | getGlyphCount () const
| Get the number of glyphs in the visual run.
const LEGlyphID * | getGlyphs () const
| Get the glyphs in the visual run.
const float * | getPositions () const
| Get the (x, y) positions of the glyphs in the visual run.
const le_int32 * | getGlyphToCharMap () const
| Get the glyph-to-character map for this visual run.
le_int32 | getAscent () const
| A convenience method which returns the ascent value for the font associated with this run.
le_int32 | getDescent () const
| A convenience method which returns the descent value for the font associated with this run.
le_int32 | getLeading () const
| A convenience method which returns the leading value for the font associated with this run.
virtual UClassID | getDynamicClassID () const
| ICU "poor man's RTTI", returns a UClassID for the actual class.
## Static Public Member Functions
static UClassID | getStaticClassID ()
| ICU "poor man's RTTI", returns a UClassID for this class.
## Friends
class | Line

## Detailed Description

This object represents a single visual run in a line of text in a paragraph.

A visual run is text which is in the same font, script, and direction. The text is represented by an array of `LEGlyphIDs`, an array of (x, y) glyph positions and a table which maps indices into the glyph array to indices into the original character array which was used to create the paragraph.

These objects are only created by `ParagraphLayout::Line` objects, so their constructors and destructors are private.

See also:
  ParagraphLayout::Line

Stable:
  ICU 3.2

Definition at line 198 of file ParagraphLayout.h.

## Member Function Documentation

le_int32 ParagraphLayout::VisualRun::getAscent | ( |  | ) | const`[inline]`

A convenience method which returns the ascent value for the font associated with this run.

Returns:
  the ascent value of this run's font.

Stable:
  ICU 3.2

Definition at line 700 of file ParagraphLayout.h.

References LEFontInstance::getAscent().

le_int32 ParagraphLayout::VisualRun::getDescent | ( |  | ) | const`[inline]`

A convenience method which returns the descent value for the font associated with this run.

Returns:
  the descent value of this run's font.

Stable:
  ICU 3.2

Definition at line 705 of file ParagraphLayout.h.

References LEFontInstance::getDescent().

UBiDiDirection ParagraphLayout::VisualRun::getDirection | ( |  | ) | const`[inline]`

Get the direction of the visual run.

Returns:
  the direction of the run. This will be UBIDI_LTR if the run is left-to-right and UBIDI_RTL if the line is right-to-left.

Stable:
  ICU 3.2

Definition at line 675 of file ParagraphLayout.h.

virtual UClassID ParagraphLayout::VisualRun::getDynamicClassID | ( | void |  | ) | const`[inline, virtual]`

ICU "poor man's RTTI", returns a UClassID for the actual class.

Stable:
  ICU 3.2

Implements UObject.

Definition at line 315 of file ParagraphLayout.h.

const LEFontInstance * ParagraphLayout::VisualRun::getFont | ( |  | ) | const`[inline]`

Get the `LEFontInstance` object which represents the font of the visual run.

This will always be a non-composite font.

Returns:
  the `LEFontInstance` object which represents the font of the visual run.

See also:
  LEFontInstance

Stable:
  ICU 3.2

Definition at line 670 of file ParagraphLayout.h.

le_int32 ParagraphLayout::VisualRun::getGlyphCount | ( |  | ) | const`[inline]`

Get the number of glyphs in the visual run.

Returns:
  the number of glyphs.

Stable:
  ICU 3.2

Definition at line 680 of file ParagraphLayout.h.

const LEGlyphID * ParagraphLayout::VisualRun::getGlyphs | ( |  | ) | const`[inline]`

Get the glyphs in the visual run.

Glyphs with the values `0xFFFE` and `0xFFFF` should be ignored.

Returns:
  the address of the array of glyphs for this visual run. The storage is owned by the `VisualRun` object and must not be deleted. It will remain valid as long as the `VisualRun` object is valid.

Stable:
  ICU 3.2

Definition at line 685 of file ParagraphLayout.h.

const le_int32 * ParagraphLayout::VisualRun::getGlyphToCharMap | ( |  | ) | const`[inline]`

Get the glyph-to-character map for this visual run.

This maps the indices into the glyph array to indices into the character array used to create the paragraph.

Returns:
  the address of the character-to-glyph map for this visual run. The storage is owned by the `VisualRun` object and must not be deleted. It will remain valid as long as the `VisualRun` object is valid.

Stable:
  ICU 3.2

Definition at line 695 of file ParagraphLayout.h.

le_int32 ParagraphLayout::VisualRun::getLeading | ( |  | ) | const`[inline]`

A convenience method which returns the leading value for the font associated with this run.

Returns:
  the leading value of this run's font.

Stable:
  ICU 3.2

Definition at line 710 of file ParagraphLayout.h.

References LEFontInstance::getLeading().

const float * ParagraphLayout::VisualRun::getPositions | ( |  | ) | const`[inline]`

Get the (x, y) positions of the glyphs in the visual run.

To simplify storage management, the x and y positions are stored in a single array with the x positions at even offsets in the array and the corresponding y position in the following odd offset. There is an extra (x, y) pair at the end of the array which represents the advance of the final glyph in the run.

Returns:
  the address of the array of glyph positions for this visual run. The storage is owned by the `VisualRun` object and must not be deleted. It will remain valid as long as the `VisualRun` object is valid.

Stable:
  ICU 3.2

Definition at line 690 of file ParagraphLayout.h.

static UClassID ParagraphLayout::VisualRun::getStaticClassID | ( | void |  | ) | `[inline, static]`

ICU "poor man's RTTI", returns a UClassID for this class.

Stable:
  ICU 3.2

Definition at line 308 of file ParagraphLayout.h.

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

- ParagraphLayout.h

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines