OpenTTD Source 20260304-master-g1baaa74679
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 GlyphIDGetGlyphs () const override
 Get the glyphs to draw.
std::span< const PositionGetPositions () 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 FontGetFont () 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< GlyphIDglyphs
std::vector< Positionpositions
std::vector< WORD > char_to_glyph
int start_pos
int total_advance
Fontfont
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: