Loading...
Searching...
No Matches
AttributedString Class Reference

A text string with a set of colour/font settings that are associated with sub-ranges of the text. More...

#include <juce_AttributedString.h>

Classes

class  Attribute
 An attribute that has been applied to a range of characters in an AttributedString. More...
 

Public Types

enum  WordWrap { none , byWord , byChar }
 Types of word-wrap behaviour. More...
 
enum  ReadingDirection { natural , leftToRight , rightToLeft }
 Types of reading direction that can be used. More...
 

Public Member Functions

 AttributedString ()=default
 Creates an empty attributed string.
 
 AttributedString (const String &newString)
 Creates an attributed string with the given text.
 
 AttributedString (const AttributedString &)=default
 
AttributedStringoperator= (const AttributedString &)=default
 
 AttributedString (AttributedString &&) noexcept=default
 
AttributedStringoperator= (AttributedString &&) noexcept=default
 
const StringgetText () const noexcept
 Returns the complete text of this attributed string.
 
void setText (const String &newText)
 Replaces all the text.
 
void append (const String &textToAppend)
 Appends some text (with a default font and colour).
 
void append (const String &textToAppend, const Font &font)
 Appends some text, with a specified font, and the default colour (black).
 
void append (const String &textToAppend, Colour colour)
 Appends some text, with a specified colour, and the default font.
 
void append (const String &textToAppend, const Font &font, Colour colour)
 Appends some text, with a specified font and colour.
 
void append (const AttributedString &other)
 Appends another AttributedString to this one.
 
void clear ()
 Resets the string, clearing all text and attributes.
 
void draw (Graphics &g, const Rectangle< float > &area) const
 Draws this string within the given area.
 
Justification getJustification () const noexcept
 Returns the justification that should be used for laying-out the text.
 
void setJustification (Justification newJustification) noexcept
 Sets the justification that should be used for laying-out the text.
 
WordWrap getWordWrap () const noexcept
 Returns the word-wrapping behaviour.
 
void setWordWrap (WordWrap newWordWrap) noexcept
 Sets the word-wrapping behaviour.
 
ReadingDirection getReadingDirection () const noexcept
 Returns the reading direction for the text.
 
void setReadingDirection (ReadingDirection newReadingDirection) noexcept
 Sets the reading direction that should be used for the text.
 
float getLineSpacing () const noexcept
 Returns the extra line-spacing distance.
 
void setLineSpacing (float newLineSpacing) noexcept
 Sets an extra line-spacing distance.
 
int getNumAttributes () const noexcept
 Returns the number of attributes that have been added to this string.
 
const AttributegetAttribute (int index) const noexcept
 Returns one of the string's attributes.
 
void setColour (Range< int > range, Colour colour)
 Adds a colour attribute for the specified range.
 
void setColour (Colour colour)
 Removes all existing colour attributes, and applies this colour to the whole string.
 
void setFont (Range< int > range, const Font &font)
 Adds a font attribute for the specified range.
 
void setFont (const Font &font)
 Removes all existing font attributes, and applies this font to the whole string.
 

Detailed Description

A text string with a set of colour/font settings that are associated with sub-ranges of the text.

An attributed string lets you create a string with varied fonts, colours, word-wrapping, layout, etc., and draw it using AttributedString::draw().

Invariants:

  • Every character in the string is a member of exactly one attribute.
  • Attributes are sorted such that the range-end of attribute 'i' is equal to the range-begin of attribute 'i + 1'.
See also
TextLayout

Member Enumeration Documentation

◆ WordWrap

Types of word-wrap behaviour.

See also
getWordWrap, setWordWrap
Enumerator
none 

No word-wrapping: lines extend indefinitely.

byWord 

Lines are wrapped on a word boundary.

byChar 

Lines are wrapped on a character boundary.

◆ ReadingDirection

Types of reading direction that can be used.

See also
getReadingDirection, setReadingDirection
Enumerator
natural 
leftToRight 
rightToLeft 

Constructor & Destructor Documentation

◆ AttributedString() [1/4]

AttributedString::AttributedString ( )
default

Creates an empty attributed string.

◆ AttributedString() [2/4]

AttributedString::AttributedString ( const String & newString)
explicit

Creates an attributed string with the given text.

◆ AttributedString() [3/4]

AttributedString::AttributedString ( const AttributedString & )
default

◆ AttributedString() [4/4]

AttributedString::AttributedString ( AttributedString && )
defaultnoexcept

Member Function Documentation

◆ operator=() [1/2]

AttributedString & AttributedString::operator= ( const AttributedString & )
default

◆ operator=() [2/2]

AttributedString & AttributedString::operator= ( AttributedString && )
defaultnoexcept

◆ getText()

const String & AttributedString::getText ( ) const
noexcept

Returns the complete text of this attributed string.

◆ setText()

void AttributedString::setText ( const String & newText)

Replaces all the text.

This will change the text, but won't affect any of the colour or font attributes that have been added.

◆ append() [1/5]

void AttributedString::append ( const String & textToAppend)

Appends some text (with a default font and colour).

Referenced by TextLayout::getStringBounds().

◆ append() [2/5]

void AttributedString::append ( const String & textToAppend,
const Font & font )

Appends some text, with a specified font, and the default colour (black).

◆ append() [3/5]

void AttributedString::append ( const String & textToAppend,
Colour colour )

Appends some text, with a specified colour, and the default font.

◆ append() [4/5]

void AttributedString::append ( const String & textToAppend,
const Font & font,
Colour colour )

Appends some text, with a specified font and colour.

◆ append() [5/5]

void AttributedString::append ( const AttributedString & other)

Appends another AttributedString to this one.

Note that this will only append the text, fonts, and colours - it won't copy any other properties such as justification, line-spacing, etc from the other object.

◆ clear()

void AttributedString::clear ( )

Resets the string, clearing all text and attributes.

Note that this won't affect global settings like the justification type, word-wrap mode, etc.

◆ draw()

void AttributedString::draw ( Graphics & g,
const Rectangle< float > & area ) const

Draws this string within the given area.

The layout of the string within the rectangle is controlled by the justification value passed to setJustification().

◆ getJustification()

Justification AttributedString::getJustification ( ) const
noexcept

Returns the justification that should be used for laying-out the text.

This may include both vertical and horizontal flags.

◆ setJustification()

void AttributedString::setJustification ( Justification newJustification)
noexcept

Sets the justification that should be used for laying-out the text.

This may include both vertical and horizontal flags.

◆ getWordWrap()

WordWrap AttributedString::getWordWrap ( ) const
noexcept

Returns the word-wrapping behaviour.

◆ setWordWrap()

void AttributedString::setWordWrap ( WordWrap newWordWrap)
noexcept

Sets the word-wrapping behaviour.

◆ getReadingDirection()

ReadingDirection AttributedString::getReadingDirection ( ) const
noexcept

Returns the reading direction for the text.

◆ setReadingDirection()

void AttributedString::setReadingDirection ( ReadingDirection newReadingDirection)
noexcept

Sets the reading direction that should be used for the text.

◆ getLineSpacing()

float AttributedString::getLineSpacing ( ) const
noexcept

Returns the extra line-spacing distance.

◆ setLineSpacing()

void AttributedString::setLineSpacing ( float newLineSpacing)
noexcept

Sets an extra line-spacing distance.

◆ getNumAttributes()

int AttributedString::getNumAttributes ( ) const
noexcept

Returns the number of attributes that have been added to this string.

◆ getAttribute()

const Attribute & AttributedString::getAttribute ( int index) const
noexcept

Returns one of the string's attributes.

The index provided must be less than getNumAttributes(), and >= 0.

◆ setColour() [1/2]

void AttributedString::setColour ( Range< int > range,
Colour colour )

Adds a colour attribute for the specified range.

◆ setColour() [2/2]

void AttributedString::setColour ( Colour colour)

Removes all existing colour attributes, and applies this colour to the whole string.

◆ setFont() [1/2]

void AttributedString::setFont ( Range< int > range,
const Font & font )

Adds a font attribute for the specified range.

◆ setFont() [2/2]

void AttributedString::setFont ( const Font & font)

Removes all existing font attributes, and applies this font to the whole string.


The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram