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:
| 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 | |
| AttributedString & | operator= (const AttributedString &)=default | 
| AttributedString (AttributedString &&) noexcept=default | |
| AttributedString & | operator= (AttributedString &&) noexcept=default | 
| const String & | getText () 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 Attribute & | getAttribute (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. | |
Types of word-wrap behaviour.
| Enumerator | |
|---|---|
| none | No word-wrapping: lines extend indefinitely. | 
| byWord | Lines are wrapped on a word boundary. | 
| byChar | Lines are wrapped on a character boundary. | 
Types of reading direction that can be used.
| Enumerator | |
|---|---|
| natural | |
| leftToRight | |
| rightToLeft | |
| 
 | default | 
Creates an empty attributed string.
Referenced by append(), AttributedString(), AttributedString(), operator=(), operator=(), and setFont().
| 
 | inlineexplicit | 
Creates an attributed string with the given text.
References setText().
| 
 | default | 
References AttributedString().
| 
 | defaultnoexcept | 
References AttributedString().
| 
 | default | 
References AttributedString().
| 
 | defaultnoexcept | 
References AttributedString().
| 
 | inlinenoexcept | 
| void juce::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.
Referenced by AttributedString().
| void juce::AttributedString::append | ( | const String & | textToAppend | ) | 
Appends some text (with a default font and colour).
Referenced by juce::TextLayout::getStringBounds().
Appends some text, with a specified font, and the default colour (black).
Appends some text, with a specified colour, and the default font.
| void juce::AttributedString::append | ( | const String & | textToAppend, | 
| const Font & | font, | ||
| Colour | colour ) | 
Appends some text, with a specified font and colour.
| void juce::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.
References AttributedString().
| void juce::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.
Draws this string within the given area.
The layout of the string within the rectangle is controlled by the justification value passed to setJustification().
| 
 | inlinenoexcept | 
Returns the justification that should be used for laying-out the text.
This may include both vertical and horizontal flags.
| 
 | noexcept | 
Sets the justification that should be used for laying-out the text.
This may include both vertical and horizontal flags.
| 
 | inlinenoexcept | 
Returns the word-wrapping behaviour.
| 
 | noexcept | 
Sets the word-wrapping behaviour.
| 
 | inlinenoexcept | 
Returns the reading direction for the text.
| 
 | noexcept | 
Sets the reading direction that should be used for the text.
| 
 | inlinenoexcept | 
Returns the extra line-spacing distance.
| 
 | noexcept | 
Sets an extra line-spacing distance.
| 
 | inlinenoexcept | 
Returns the number of attributes that have been added to this string.
| 
 | inlinenoexcept | 
Returns one of the string's attributes.
The index provided must be less than getNumAttributes(), and >= 0.
Adds a colour attribute for the specified range.
| void juce::AttributedString::setColour | ( | Colour | colour | ) | 
Removes all existing colour attributes, and applies this colour to the whole string.
Adds a font attribute for the specified range.
| void juce::AttributedString::setFont | ( | const Font & | font | ) | 
Removes all existing font attributes, and applies this font to the whole string.
References AttributedString(), byWord, juce::Justification::left, and natural.