OpenTTD Source 20260917-master-gec444f7315
UniscribeParagraphLayout::UniscribeVisualRun Class Reference

Visual run contains data about the bit of text with the same font. More...

Inheritance diagram for UniscribeParagraphLayout::UniscribeVisualRun:
ParagraphLayouter::VisualRun

Public Member Functions

 UniscribeVisualRun (const UniscribeRun &range, int x)
 UniscribeVisualRun (UniscribeVisualRun &&other) noexcept
std::span< const GlyphID > GetGlyphs () const override
 Get the glyphs to draw.
std::span< const Position > GetPositions () const override
 Get the positions for each of the glyphs.
std::span< const int > GetGlyphToCharMap () const override
 The offset for each of the glyphs to the character run that was passed to the Layouter.
const Font * GetFont () const override
 Get the font.
int GetLeading () const override
 Get the font leading, or distance between the baselines of consecutive lines.
size_t GetGlyphCount () const override
 Get the number of glyphs.
int GetAdvance () const
Public Member Functions inherited from ParagraphLayouter::VisualRun
virtual ~VisualRun ()=default
 Ensure the destructor of the sub classes are called as well.

Private Attributes

std::vector< GlyphID > glyphs
std::vector< Position > positions
std::vector< WORD > char_to_glyph
int start_pos
int total_advance
Font * font
std::vector< int > glyph_to_char

Detailed Description

Visual run contains data about the bit of text with the same font.

Definition at line 73 of file string_uniscribe.cpp.

Constructor & Destructor Documentation

◆ UniscribeVisualRun() [1/2]

UniscribeParagraphLayout::UniscribeVisualRun::UniscribeVisualRun ( const UniscribeRun & range,
int x )

Definition at line 484 of file string_uniscribe.cpp.

◆ UniscribeVisualRun() [2/2]

UniscribeParagraphLayout::UniscribeVisualRun::UniscribeVisualRun ( UniscribeVisualRun && other)
noexcept

Definition at line 497 of file string_uniscribe.cpp.

Member Function Documentation

◆ GetAdvance()

int UniscribeParagraphLayout::UniscribeVisualRun::GetAdvance ( ) const
inline

Definition at line 96 of file string_uniscribe.cpp.

◆ GetFont()

const Font * UniscribeParagraphLayout::UniscribeVisualRun::GetFont ( ) const
inlineoverridevirtual

Get the font.

Returns
The font used for this run.

Implements ParagraphLayouter::VisualRun.

Definition at line 93 of file string_uniscribe.cpp.

◆ GetGlyphCount()

size_t UniscribeParagraphLayout::UniscribeVisualRun::GetGlyphCount ( ) const
inlineoverridevirtual

Get the number of glyphs.

Returns
The number of glyphs for this run.

Implements ParagraphLayouter::VisualRun.

Definition at line 95 of file string_uniscribe.cpp.

Referenced by GetGlyphToCharMap().

◆ GetGlyphs()

std::span< const GlyphID > UniscribeParagraphLayout::UniscribeVisualRun::GetGlyphs ( ) const
inlineoverridevirtual

Get the glyphs to draw.

Returns
The glyphs.

Implements ParagraphLayouter::VisualRun.

Definition at line 89 of file string_uniscribe.cpp.

◆ GetGlyphToCharMap()

std::span< const int > UniscribeParagraphLayout::UniscribeVisualRun::GetGlyphToCharMap ( ) const
overridevirtual

The offset for each of the glyphs to the character run that was passed to the Layouter.

Returns
The offsets.

Implements ParagraphLayouter::VisualRun.

Definition at line 504 of file string_uniscribe.cpp.

References GetGlyphCount().

◆ GetLeading()

int UniscribeParagraphLayout::UniscribeVisualRun::GetLeading ( ) const
inlineoverridevirtual

Get the font leading, or distance between the baselines of consecutive lines.

Returns
The leading in pixels.

Implements ParagraphLayouter::VisualRun.

Definition at line 94 of file string_uniscribe.cpp.

References Font::fc, and FontCache::GetHeight().

◆ GetPositions()

std::span< const Position > UniscribeParagraphLayout::UniscribeVisualRun::GetPositions ( ) const
inlineoverridevirtual

Get the positions for each of the glyphs.

Returns
The glyph positions.

Implements ParagraphLayouter::VisualRun.

Definition at line 90 of file string_uniscribe.cpp.

Field Documentation

◆ char_to_glyph

std::vector<WORD> UniscribeParagraphLayout::UniscribeVisualRun::char_to_glyph
private

Definition at line 77 of file string_uniscribe.cpp.

◆ font

Font* UniscribeParagraphLayout::UniscribeVisualRun::font
private

Definition at line 81 of file string_uniscribe.cpp.

◆ glyph_to_char

std::vector<int> UniscribeParagraphLayout::UniscribeVisualRun::glyph_to_char
mutableprivate

Definition at line 83 of file string_uniscribe.cpp.

◆ glyphs

std::vector<GlyphID> UniscribeParagraphLayout::UniscribeVisualRun::glyphs
private

Definition at line 75 of file string_uniscribe.cpp.

◆ positions

std::vector<Position> UniscribeParagraphLayout::UniscribeVisualRun::positions
private

Definition at line 76 of file string_uniscribe.cpp.

◆ start_pos

int UniscribeParagraphLayout::UniscribeVisualRun::start_pos
private

Definition at line 79 of file string_uniscribe.cpp.

◆ total_advance

int UniscribeParagraphLayout::UniscribeVisualRun::total_advance
private

Definition at line 80 of file string_uniscribe.cpp.


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