CoreComponents 3.0.0
A Modern C++ Toolkit
Loading...
Searching...
No Matches
GlyphRun Class Reference

Typeset sequence. More...

#include <cc/GlyphRun>

Inheritance diagram for GlyphRun:

Public Member Functions

 GlyphRun ()=default
 Create a null glyph run.
 
 GlyphRun (const String &text, const Font &font=Font{}, const Point &origin=Point{})
 Create a new glyph run.
 
bool isEmpty () const
 Check if this glyph run is empty (i.e.
 
String text () const
 Text used to typeset this glyphrun
 
Font font () const
 Font used to generate this glyph run
 
ScaledFont scaledFont () const
 Scaled font used to generate this glyph run.
 
FontMetrics metrics () const
 Font metrics used to generate thsi glyph run
 
Point origin () const
 Position of this glyph run.
 
Point advance () const
 Advance of this glyph run.
 
Size size () const
 Size of this glyph run
 
double maxAscender () const
 Highest ascender.
 
double minDescender () const
 Lowest descender.
 
int lineCount () const
 Number of lines
 
int byteCount () const
 Number of bytes
 
GlyphRun wrap (double maxWidth, TextAlign textAlign=TextAlign::Left, double lineHeight=0, const TextWrapBehind &wrapBehind=textWrapBehindDefault) const
 Wrap this glyph run into several lines if necessary.
 
GlyphRun elide (double maxWidth) const
 Elide this glyph run at maxWidth if necessary.
 
- Public Member Functions inherited from Object
 Object ()=default
 Create a null object.
 
 operator bool () const
 Check if this is a non-null object.
 
bool isNull () const
 Check if this is a null object.
 
template<class T >
bool is () const
 Check if this object is of type T.
 
template<class T >
as () const
 Cast this object to type T.
 
bool isWeak () const
 Check if the underlying object reference is weak.
 
bool operator== (const Object &other) const
 Equality operator.
 
std::strong_ordering operator<=> (const Object &other) const
 Ordering operator.
 
long useCount () const
 Reference count.
 

Protected Member Functions

 GlyphRun (State *newState)
 
State & me ()
 
const State & me () const
 
- Protected Member Functions inherited from Object
template<class T >
weak () const
 
template<class T >
void initOnce ()
 Create the object state when called the first time.
 
template<class T >
void initOncePerThread ()
 Create a distinct object state for each thread when called the first time in that thread.
 
 Object (State *newState)
 Initialize object with newState.
 
 Object (State *state, Alias)
 
 Object (State *state, Weak)
 
Objectoperator= (std::nullptr_t)
 

Additional Inherited Members

- Static Protected Member Functions inherited from Object
template<class T >
static T alias (const State *state)
 Create an alias object for the given state.
 
template<class T >
static T weak (const State *state)
 
- Protected Attributes inherited from Object
Handle< Stateme
 Internal object state
 

Detailed Description

Typeset sequence.

Constructor & Destructor Documentation

◆ GlyphRun() [1/2]

GlyphRun ( )
default

Create a null glyph run.

◆ GlyphRun() [2/2]

GlyphRun ( const String & text,
const Font & font = Font{},
const Point & origin = Point{} )

Create a new glyph run.

Parameters
textText to typeset
fontFont to use
originStarting point

Member Function Documentation

◆ isEmpty()

bool isEmpty ( ) const

Check if this glyph run is empty (i.e.

does not contain any glyphs)

◆ text()

String text ( ) const

Text used to typeset this glyphrun

◆ font()

Font font ( ) const

Font used to generate this glyph run

◆ scaledFont()

ScaledFont scaledFont ( ) const

Scaled font used to generate this glyph run.

◆ metrics()

FontMetrics metrics ( ) const

Font metrics used to generate thsi glyph run

◆ origin()

Point origin ( ) const

Position of this glyph run.

◆ advance()

Point advance ( ) const

Advance of this glyph run.

◆ size()

Size size ( ) const

Size of this glyph run

◆ maxAscender()

double maxAscender ( ) const

Highest ascender.

◆ minDescender()

double minDescender ( ) const

Lowest descender.

◆ lineCount()

int lineCount ( ) const

Number of lines

◆ byteCount()

int byteCount ( ) const

Number of bytes

◆ wrap()

GlyphRun wrap ( double maxWidth,
TextAlign textAlign = TextAlign::Left,
double lineHeight = 0,
const TextWrapBehind & wrapBehind = textWrapBehindDefault ) const

Wrap this glyph run into several lines if necessary.

Parameters
maxWidthMaximum width of the wrapped text block
textAlignAlignment of the text within the wrapped text block
lineHeightWrap the text onto lines of given height
wrapBehindCheck if a text can be wrapped behind a certain text fragment.
Returns
Wrapped glyph run

◆ elide()

GlyphRun elide ( double maxWidth) const

Elide this glyph run at maxWidth if necessary.