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

## 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

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

- juce_graphics/fonts/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
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.

## Member Enums

## WordWrap

enum juce::AttributedString::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

enum juce::AttributedString::ReadingDirection

Types of reading direction that can be used.

See also
  getReadingDirection, setReadingDirection

Enumerator
natural |
leftToRight |
rightToLeft |

## Constructors and Destructors

## AttributedString() [1/4]

juce::AttributedString::AttributedString | ( |  | ) |

default

Creates an empty attributed string.

Referenced by append(), AttributedString(), AttributedString(), operator=(), operator=(), and setFont().

## AttributedString() [2/4]

juce::AttributedString::AttributedString | ( | const String & | newString | ) |

inline explicit

Creates an attributed string with the given text.

References setText().

## AttributedString() [3/4]

juce::AttributedString::AttributedString | ( | const AttributedString & |  | ) |

default

References AttributedString().

## AttributedString() [4/4]

juce::AttributedString::AttributedString | ( | AttributedString && |  | ) |

default noexcept

References AttributedString().

## Member Functions

## operator=() [1/2]

AttributedString & juce::AttributedString::operator= | ( | const AttributedString & |  | ) |

default

References AttributedString().

## operator=() [2/2]

AttributedString & juce::AttributedString::operator= | ( | AttributedString && |  | ) |

default noexcept

References AttributedString().

## getText()

const String & juce::AttributedString::getText | ( |  | ) | const

inline noexcept

Returns the complete text of this attributed string.

References getText().

Referenced by getText().

## setText()

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().

## append() [1/5]

void juce::AttributedString::append | ( | const String & | textToAppend | ) |

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

Referenced by juce::TextLayout::getStringBounds().

## append() [2/5]

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

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

## append() [3/5]

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

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

## append() [4/5]

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

Appends some text, with a specified font and colour.

## append() [5/5]

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().

## clear()

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.

## draw()

void juce::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 juce::AttributedString::getJustification | ( |  | ) | const

inline noexcept

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

This may include both vertical and horizontal flags.

## setJustification()

void juce::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 juce::AttributedString::getWordWrap | ( |  | ) | const

inline noexcept

Returns the word-wrapping behaviour.

## setWordWrap()

void juce::AttributedString::setWordWrap | ( | WordWrap | newWordWrap | ) |

noexcept

Sets the word-wrapping behaviour.

## getReadingDirection()

ReadingDirection juce::AttributedString::getReadingDirection | ( |  | ) | const

inline noexcept

Returns the reading direction for the text.

## setReadingDirection()

void juce::AttributedString::setReadingDirection | ( | ReadingDirection | newReadingDirection | ) |

noexcept

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

## getLineSpacing()

float juce::AttributedString::getLineSpacing | ( |  | ) | const

inline noexcept

Returns the extra line-spacing distance.

## setLineSpacing()

void juce::AttributedString::setLineSpacing | ( | float | newLineSpacing | ) |

noexcept

Sets an extra line-spacing distance.

## getNumAttributes()

int juce::AttributedString::getNumAttributes | ( |  | ) | const

inline noexcept

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

## getAttribute()

const Attribute & juce::AttributedString::getAttribute | ( | int | index | ) | const

inline noexcept

Returns one of the string's attributes.

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

## setColour() [1/2]

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

Adds a colour attribute for the specified range.

## setColour() [2/2]

void juce::AttributedString::setColour | ( | Colour | colour | ) |

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

## setFont() [1/2]

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

Adds a font attribute for the specified range.

## setFont() [2/2]

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.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited