\section{\class{wxRichTextAttr}}\label{wxrichtextattr}

wxRichTextAttr represents the character and paragraph attributes, or style,
for a range of text in a \helpref{wxRichTextCtrl}{wxrichtextctrl}. This class
is specific to wxRichTextCtrl, although you can also use the
standard \helpref{wxTextAttr}{wxtextattr} class with wxRichTextCtrl.

When setting up a wxRichTextAttr object, pass a bitlist mask to \helpref{SetFlags}{wxrichtextattrsetflags} to
indicate which style elements should be changed. As a convenience, when you call a setter such
as SetFont, the relevant bit will be set.

wxRichTextAttr stores attributes without a wxFont object, so is a more
efficient way to query styles than using a \helpref{wxTextAttr}{wxtextattr} or \helpref{wxTextAttrEx}{wxtextattrex} object.

\wxheading{Derived from}

No base class

\wxheading{Include files}

<wx/richtext/richtextbuffer.h>

\wxheading{Constants}

The following values can be passed to wxRichTextAttr::SetAlignment to determine
paragraph alignment.

{\small
\begin{verbatim}
enum wxTextAttrAlignment
{
    wxTEXT_ALIGNMENT_DEFAULT,
    wxTEXT_ALIGNMENT_LEFT,
    wxTEXT_ALIGNMENT_CENTRE,
    wxTEXT_ALIGNMENT_CENTER = wxTEXT_ALIGNMENT_CENTRE,
    wxTEXT_ALIGNMENT_RIGHT,
    wxTEXT_ALIGNMENT_JUSTIFIED
};
\end{verbatim}
}

Of these, wxTEXT\_ALIGNMENT\_JUSTIFIED is unimplemented. In future justification may be supported
when printing or previewing, only.

The following values are passed in a bitlist to wxRichTextAttr::SetFlags to determine
what attributes will be considered when setting the attributes
for a text control.

{\small
\begin{verbatim}
// Standard wxTextAttr constants

#define wxTEXT_ATTR_TEXT_COLOUR             0x00000001
#define wxTEXT_ATTR_BACKGROUND_COLOUR       0x00000002
#define wxTEXT_ATTR_FONT_FACE               0x00000004
#define wxTEXT_ATTR_FONT_SIZE               0x00000008
#define wxTEXT_ATTR_FONT_WEIGHT             0x00000010
#define wxTEXT_ATTR_FONT_ITALIC             0x00000020
#define wxTEXT_ATTR_FONT_UNDERLINE          0x00000040
#define wxTEXT_ATTR_FONT \
  wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT \
| wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE
#define wxTEXT_ATTR_ALIGNMENT               0x00000080
#define wxTEXT_ATTR_LEFT_INDENT             0x00000100
#define wxTEXT_ATTR_RIGHT_INDENT            0x00000200
#define wxTEXT_ATTR_TABS                    0x00000400

// Extra formatting flags not in wxTextAttr

#define wxTEXT_ATTR_PARA_SPACING_AFTER      0x00000800
#define wxTEXT_ATTR_PARA_SPACING_BEFORE     0x00001000
#define wxTEXT_ATTR_LINE_SPACING            0x00002000
#define wxTEXT_ATTR_CHARACTER_STYLE_NAME    0x00004000
#define wxTEXT_ATTR_PARAGRAPH_STYLE_NAME    0x00008000
#define wxTEXT_ATTR_LIST_STYLE_NAME         0x00010000
#define wxTEXT_ATTR_BULLET_STYLE            0x00020000
#define wxTEXT_ATTR_BULLET_NUMBER           0x00040000
#define wxTEXT_ATTR_BULLET_TEXT             0x00080000
#define wxTEXT_ATTR_BULLET_NAME             0x00100000
#define wxTEXT_ATTR_URL                     0x00200000
#define wxTEXT_ATTR_PAGE_BREAK              0x00400000
#define wxTEXT_ATTR_EFFECTS                 0x00800000
\end{verbatim}
}

The following styles can be passed to wxRichTextAttr::SetBulletStyle:

{\small
\begin{verbatim}
#define wxTEXT_ATTR_BULLET_STYLE_NONE               0x00000000
#define wxTEXT_ATTR_BULLET_STYLE_ARABIC             0x00000001
#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER      0x00000002
#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER      0x00000004
#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER        0x00000008
#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER        0x00000010
#define wxTEXT_ATTR_BULLET_STYLE_SYMBOL             0x00000020
#define wxTEXT_ATTR_BULLET_STYLE_BITMAP             0x00000040
#define wxTEXT_ATTR_BULLET_STYLE_PARENTHESES        0x00000080
#define wxTEXT_ATTR_BULLET_STYLE_PERIOD             0x00000100
#define wxTEXT_ATTR_BULLET_STYLE_STANDARD           0x00000200
#define wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS  0x00000400
#define wxTEXT_ATTR_BULLET_STYLE_OUTLINE            0x00000800
#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT         0x00000000
#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT        0x00001000
#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE       0x00002000
\end{verbatim}
}

Of these, wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is unimplemented.

The following constants can be passed to wxRichTextAttr::SetLineSpacing:

{\small
\begin{verbatim}
#define wxTEXT_ATTR_LINE_SPACING_NORMAL         10
#define wxTEXT_ATTR_LINE_SPACING_HALF           15
#define wxTEXT_ATTR_LINE_SPACING_TWICE          20
\end{verbatim}
}

The following styles can be passed to wxTextAttrEx::SetTextEffects:

{\small
\begin{verbatim}
#define wxTEXT_ATTR_EFFECT_NONE                     0x00000000
#define wxTEXT_ATTR_EFFECT_CAPITALS                 0x00000001
#define wxTEXT_ATTR_EFFECT_SMALL_CAPITALS           0x00000002
#define wxTEXT_ATTR_EFFECT_STRIKETHROUGH            0x00000004
#define wxTEXT_ATTR_EFFECT_DOUBLE_STRIKETHROUGH     0x00000008
#define wxTEXT_ATTR_EFFECT_SHADOW                   0x00000010
#define wxTEXT_ATTR_EFFECT_EMBOSS                   0x00000020
#define wxTEXT_ATTR_EFFECT_OUTLINE                  0x00000040
#define wxTEXT_ATTR_EFFECT_ENGRAVE                  0x00000080
#define wxTEXT_ATTR_EFFECT_SUPERSCRIPT              0x00000100
#define wxTEXT_ATTR_EFFECT_SUBSCRIPT                0x00000200
\end{verbatim}
}

Of these, only wxTEXT\_ATTR\_EFFECT\_CAPITALS and wxTEXT\_ATTR\_EFFECT\_STRIKETHROUGH are implemented.

\wxheading{See also}

\helpref{wxTextAttr}{wxtextattr}, \helpref{wxTextAttrEx}{wxtextattrex}, \helpref{wxRichTextCtrl}{wxrichtextctrl}

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxRichTextAttr::wxRichTextAttr}\label{wxrichtextattrwxrichtextattr}

\func{}{wxRichTextAttr}{\void}

\func{}{wxRichTextAttr}{\param{const wxColour\& }{colText}, \param{const wxColour\& }{colBack = wxNullColour}, \param{wxTextAttrAlignment }{alignment = wxTEXT\_ALIGNMENT\_DEFAULT}}

\func{}{wxRichTextAttr}{\param{const wxTextAttrEx\& }{attr}}

Constructors.

\membersection{wxRichTextAttr::CopyTo}\label{wxrichtextattrcopyto}

\constfunc{void}{CopyTo}{\param{wxTextAttrEx\& }{attr}}

Copies the wxRichTextAttr attributes to a \helpref{wxTextAttrEx}{wxtextattrex} object.

\membersection{wxRichTextAttr::CreateFont}\label{wxrichtextattrcreatefont}

\constfunc{wxFont}{CreateFont}{\void}

Creates a font from the font attributes.

\membersection{wxRichTextAttr::GetAlignment}\label{wxrichtextattrgetalignment}

\constfunc{wxTextAttrAlignment}{GetAlignment}{\void}

Returns the alignment flags.
See \helpref{wxRichTextAttr::SetAlignment}{wxrichtextattrsetalignment} for a list of available styles.

\membersection{wxRichTextAttr::GetBackgroundColour}\label{wxrichtextattrgetbackgroundcolour}

\constfunc{const wxColour\&}{GetBackgroundColour}{\void}

Returns the background colour.

\membersection{wxRichTextAttr::GetBulletFont}\label{wxrichtextattrgetbulletfont}

\constfunc{const wxString\&}{GetBulletFont}{\void}

Returns a string containing the name of the font associated with the bullet symbol.
Only valid for attributes with wxTEXT\_ATTR\_BULLET\_SYMBOL.

\membersection{wxRichTextAttr::GetBulletName}\label{wxrichtextattrgetbulletname}

\constfunc{const wxString\&}{GetBulletName}{\void}

Returns the standard bullet name, applicable if the bullet style is wxTEXT\_ATTR\_BULLET\_STYLE\_STANDARD.
Currently the following standard bullet names are supported:

\begin{itemize}\itemsep=0pt
\item {\tt standard/circle}
\item {\tt standard/square}
\item {\tt standard/diamond}
\item {\tt standard/triangle}
\end{itemize}

If you wish your application to support further bullet graphics, you can derive a
class from wxRichTextRenderer or wxRichTextStdRenderer, override {\tt DrawStandardBullet} and {\tt EnumerateStandardBulletNames}, and
set an instance of the class using \helpref{wxRichTextBuffer::SetRenderer}{wxrichtextbuffersetrenderer}.

\membersection{wxRichTextAttr::GetBulletNumber}\label{wxrichtextattrgetbulletnumber}

\constfunc{int}{GetBulletNumber}{\void}

Returns the bullet number.

\membersection{wxRichTextAttr::GetBulletStyle}\label{wxrichtextattrgetbulletstyle}

\constfunc{int}{GetBulletStyle}{\void}

Returns the bullet style.
See \helpref{wxRichTextAttr::SetBulletStyle}{wxrichtextattrsetbulletstyle} for a list of available styles.

\membersection{wxRichTextAttr::GetBulletText}\label{wxrichtextattrgetbullettext}

\constfunc{const wxString\&}{GetBulletText}{\void}

Returns the bullet text, which could be a symbol, or (for example) cached outline text.

\membersection{wxRichTextAttr::GetCharacterStyleName}\label{wxrichtextattrgetcharacterstylename}

\constfunc{const wxString\&}{GetCharacterStyleName}{\void}

Returns the name of the character style.

\membersection{wxRichTextAttr::GetFlags}\label{wxrichtextattrgetflags}

\constfunc{long}{GetFlags}{\void}

Returns flags indicating which attributes are applicable.
See \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags} for a list of available flags.

\membersection{wxRichTextAttr::GetFontAttributes}\label{wxrichtextattrgetfontattributes}

\func{bool}{GetFontAttributes}{\param{const wxFont\& }{font}}

Sets the font attributes from the given font.

\membersection{wxRichTextAttr::GetFontFaceName}\label{wxrichtextattrgetfontfacename}

\constfunc{const wxString\&}{GetFontFaceName}{\void}

Returns the font face name.

\membersection{wxRichTextAttr::GetFontSize}\label{wxrichtextattrgetfontsize}

\constfunc{int}{GetFontSize}{\void}

Returns the font size in points.

\membersection{wxRichTextAttr::GetFontStyle}\label{wxrichtextattrgetfontstyle}

\constfunc{int}{GetFontStyle}{\void}

Returns the font style.

\membersection{wxRichTextAttr::GetFontUnderlined}\label{wxrichtextattrgetfontunderlined}

\constfunc{bool}{GetFontUnderlined}{\void}

Returns \true if the font is underlined.

\membersection{wxRichTextAttr::GetFontWeight}\label{wxrichtextattrgetfontweight}

\constfunc{int}{GetFontWeight}{\void}

Returns the font weight.

\membersection{wxRichTextAttr::GetLeftIndent}\label{wxrichtextattrgetleftindent}

\constfunc{long}{GetLeftIndent}{\void}

Returns the left indent in tenths of a millimetre.

\membersection{wxRichTextAttr::GetLeftSubIndent}\label{wxrichtextattrgetleftsubindent}

\constfunc{long}{GetLeftSubIndent}{\void}

Returns the left sub-indent in tenths of a millimetre.

\membersection{wxRichTextAttr::GetLineSpacing}\label{wxrichtextattrgetlinespacing}

\constfunc{int}{GetLineSpacing}{\void}

Returns the line spacing value, one of wxTEXT\_ATTR\_LINE\_SPACING\_NORMAL,
wxTEXT\_ATTR\_LINE\_SPACING\_HALF, and wxTEXT\_ATTR\_LINE\_SPACING\_TWICE.

\membersection{wxRichTextAttr::GetListStyleName}\label{wxrichtextattrgetliststylename}

\constfunc{const wxString\&}{GetListStyleName}{\void}

Returns the name of the list style.

\membersection{wxRichTextAttr::GetParagraphSpacingAfter}\label{wxrichtextattrgetparagraphspacingafter}

\constfunc{int}{GetParagraphSpacingAfter}{\void}

Returns the space in tenths of a millimeter after the paragraph.

\membersection{wxRichTextAttr::GetParagraphSpacingBefore}\label{wxrichtextattrgetparagraphspacingbefore}

\constfunc{int}{GetParagraphSpacingBefore}{\void}

Returns the space in tenths of a millimeter before the paragraph.

\membersection{wxRichTextAttr::GetParagraphStyleName}\label{wxrichtextattrgetparagraphstylename}

\constfunc{const wxString\&}{GetParagraphStyleName}{\void}

Returns the name of the paragraph style.

\membersection{wxRichTextAttr::GetRightIndent}\label{wxrichtextattrgetrightindent}

\constfunc{long}{GetRightIndent}{\void}

Returns the right indent in tenths of a millimeter.

\membersection{wxRichTextAttr::GetTabs}\label{wxrichtextattrgettabs}

\constfunc{const wxArrayInt\&}{GetTabs}{\void}

Returns an array of tab stops, each expressed in tenths of a millimeter. Each stop
is measured from the left margin and therefore each value must be larger than the last.

\membersection{wxRichTextAttr::GetTextColour}\label{wxrichtextattrgettextcolour}

\constfunc{const wxColour\&}{GetTextColour}{\void}

Returns the text foreground colour.

\membersection{wxRichTextAttr::GetTextEffectFlags}\label{wxrichtextattrgettexteffectflags}

\constfunc{int}{GetTextEffectFlags}{\void}

Returns the text effect bits of interest. See \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags} for further information.

\membersection{wxRichTextAttr::GetTextEffects}\label{wxrichtextattrgettexteffects}

\constfunc{int}{GetTextEffects}{\void}

Returns the text effects, a bit list of styles. See \helpref{wxRichTextAttr::SetTextEffects}{wxrichtextattrsettexteffects} for
details.

\membersection{wxRichTextAttr::GetURL}\label{wxrichtextattrgeturl}

\constfunc{const wxString\&}{GetURL}{\void}

Returns the URL for the content. Content with wxTEXT\_ATTR\_URL style
causes wxRichTextCtrl to show a hand cursor over it, and wxRichTextCtrl generates
a wxTextUrlEvent when the content is clicked.

\membersection{wxRichTextAttr::HasAlignment}\label{wxrichtextattrhasalignment}

\constfunc{bool}{HasAlignment}{\void}

Returns \true if the attribute object specifies alignment.

\membersection{wxRichTextAttr::HasBackgroundColour}\label{wxrichtextattrhasbackgroundcolour}

\constfunc{bool}{HasBackgroundColour}{\void}

Returns \true if the attribute object specifies a background colour.

\membersection{wxRichTextAttr::HasBulletName}\label{wxrichtextattrhasbulletname}

\constfunc{bool}{HasBulletName}{\void}

Returns \true if the attribute object specifies a standard bullet name.

\membersection{wxRichTextAttr::HasBulletNumber}\label{wxrichtextattrhasbulletnumber}

\constfunc{bool}{HasBulletNumber}{\void}

Returns \true if the attribute object specifies a bullet number.

\membersection{wxRichTextAttr::HasBulletStyle}\label{wxrichtextattrhasbulletstyle}

\constfunc{bool}{HasBulletStyle}{\void}

Returns \true if the attribute object specifies a bullet style.

\membersection{wxRichTextAttr::HasBulletText}\label{wxrichtextattrhasbullettext}

\constfunc{bool}{HasBulletText}{\void}

Returns \true if the attribute object specifies bullet text (usually specifying a symbol).

\membersection{wxRichTextAttr::HasCharacterStyleName}\label{wxrichtextattrhascharacterstylename}

\constfunc{bool}{HasCharacterStyleName}{\void}

Returns \true if the attribute object specifies a character style name.

\membersection{wxRichTextAttr::HasFaceName}\label{wxrichtextattrhasfacename}

\constfunc{bool}{HasFaceName}{\void}

Returns \true if the attribute object specifies a font face name.

\membersection{wxRichTextAttr::HasFlag}\label{wxrichtextattrhasflag}

\constfunc{bool}{HasFlag}{\param{long }{flag}}

Returns \true if the {\it flag} is present in the attribute object's flag bitlist.

\membersection{wxRichTextAttr::HasFont}\label{wxrichtextattrhasfont}

\constfunc{bool}{HasFont}{\void}

Returns \true if the attribute object specifies any font attributes.

\membersection{wxRichTextAttr::HasItalic}\label{wxrichtextattrhasitalic}

\constfunc{bool}{HasItalic}{\void}

Returns \true if the attribute object specifies italic style.

\membersection{wxRichTextAttr::HasLeftIndent}\label{wxrichtextattrhasleftindent}

\constfunc{bool}{HasLeftIndent}{\void}

Returns \true if the attribute object specifies a left indent.

\membersection{wxRichTextAttr::HasLineSpacing}\label{wxrichtextattrhaslinespacing}

\constfunc{bool}{HasLineSpacing}{\void}

Returns \true if the attribute object specifies line spacing.

\membersection{wxRichTextAttr::HasListStyleName}\label{wxrichtextattrhasliststylename}

\constfunc{bool}{HasListStyleName}{\void}

Returns \true if the attribute object specifies a list style name.

\membersection{wxRichTextAttr::HasPageBreak}\label{wxrichtextattrhaspagebreak}

\constfunc{bool}{HasPageBreak}{\void}

Returns \true if the attribute object specifies a page break before this paragraph.

\membersection{wxRichTextAttr::HasParagraphSpacingAfter}\label{wxrichtextattrhasparagraphspacingafter}

\constfunc{bool}{HasParagraphSpacingAfter}{\void}

Returns \true if the attribute object specifies spacing after a paragraph.

\membersection{wxRichTextAttr::HasParagraphSpacingBefore}\label{wxrichtextattrhasparagraphspacingbefore}

\constfunc{bool}{HasParagraphSpacingBefore}{\void}

Returns \true if the attribute object specifies spacing before a paragraph.

\membersection{wxRichTextAttr::HasParagraphStyleName}\label{wxrichtextattrhasparagraphstylename}

\constfunc{bool}{HasParagraphStyleName}{\void}

Returns \true if the attribute object specifies a paragraph style name.

\membersection{wxRichTextAttr::HasRightIndent}\label{wxrichtextattrhasrightindent}

\constfunc{bool}{HasRightIndent}{\void}

Returns \true if the attribute object specifies a right indent.

\membersection{wxRichTextAttr::HasSize}\label{wxrichtextattrhassize}

\constfunc{bool}{HasSize}{\void}

Returns \true if the attribute object specifies a font point size.

\membersection{wxRichTextAttr::HasTabs}\label{wxrichtextattrhastabs}

\constfunc{bool}{HasTabs}{\void}

Returns \true if the attribute object specifies tab stops.

\membersection{wxRichTextAttr::HasTextColour}\label{wxrichtextattrhastextcolour}

\constfunc{bool}{HasTextColour}{\void}

Returns \true if the attribute object specifies a text foreground colour.

\membersection{wxRichTextAttr::HasUnderlined}\label{wxrichtextattrhasunderlined}

\constfunc{bool}{HasUnderlined}{\void}

Returns \true if the attribute object specifies either underlining or no underlining.

\membersection{wxRichTextAttr::HasWeight}\label{wxrichtextattrhasweight}

\constfunc{bool}{HasWeight}{\void}

Returns \true if the attribute object specifies font weight (bold, light or normal).

\membersection{wxRichTextAttr::Init}\label{wxrichtextattrinit}

\func{void}{Init}{\void}

Initialise the object.

\membersection{wxRichTextAttr::IsCharacterStyle}\label{wxrichtextattrischaracterstyle}

\constfunc{bool}{IsCharacterStyle}{\void}

Returns \true if the object represents a character style, that is,
the flags specify a font or a text background or foreground colour.

\membersection{wxRichTextAttr::IsDefault}\label{wxrichtextattrisdefault}

\constfunc{bool}{IsDefault}{\void}

Returns \false if we have any attributes set, \true otherwise.

\membersection{wxRichTextAttr::IsParagraphStyle}\label{wxrichtextattrisparagraphstyle}

\constfunc{bool}{IsParagraphStyle}{\void}

Returns \true if the object represents a paragraph style, that is,
the flags specify alignment, indentation, tabs, paragraph spacing, or
bullet style.

\membersection{wxRichTextAttr::SetAlignment}\label{wxrichtextattrsetalignment}

\func{void}{SetAlignment}{\param{wxTextAttrAlignment }{alignment}}

Sets the paragraph alignment. These are the possible values for {\it alignment}:

{\small
\begin{verbatim}
enum wxTextAttrAlignment
{
    wxTEXT_ALIGNMENT_DEFAULT,
    wxTEXT_ALIGNMENT_LEFT,
    wxTEXT_ALIGNMENT_CENTRE,
    wxTEXT_ALIGNMENT_CENTER = wxTEXT_ALIGNMENT_CENTRE,
    wxTEXT_ALIGNMENT_RIGHT,
    wxTEXT_ALIGNMENT_JUSTIFIED
};
\end{verbatim}
}

Of these, wxTEXT\_ALIGNMENT\_JUSTIFIED is unimplemented. In future justification may be supported
when printing or previewing, only.

\membersection{wxRichTextAttr::SetBackgroundColour}\label{wxrichtextattrsetbackgroundcolour}

\func{void}{SetBackgroundColour}{\param{const wxColour\& }{colBack}}

Sets the background colour.

\membersection{wxRichTextAttr::SetBulletFont}\label{wxrichtextattrsetbulletfont}

\func{void}{SetBulletFont}{\param{const wxString\& }{font}}

Sets the name of the font associated with the bullet symbol.
Only valid for attributes with wxTEXT\_ATTR\_BULLET\_SYMBOL.

\membersection{wxRichTextAttr::SetBulletName}\label{wxrichtextattrsetbulletname}

\func{void}{SetBulletName}{\param{const wxString\& }{name}}

Sets the standard bullet name, applicable if the bullet style is wxTEXT\_ATTR\_BULLET\_STYLE\_STANDARD.
See \helpref{wxRichTextAttr::GetBulletName}{wxrichtextattrgetbulletname} for a list
of supported names, and how to expand the range of supported types.

\membersection{wxRichTextAttr::SetBulletNumber}\label{wxrichtextattrsetbulletnumber}

\func{void}{SetBulletNumber}{\param{int }{n}}

Sets the bullet number.

\membersection{wxRichTextAttr::SetBulletStyle}\label{wxrichtextattrsetbulletstyle}

\func{void}{SetBulletStyle}{\param{int }{style}}

Sets the bullet style. The following styles can be passed:

{\small
\begin{verbatim}
#define wxTEXT_ATTR_BULLET_STYLE_NONE               0x00000000
#define wxTEXT_ATTR_BULLET_STYLE_ARABIC             0x00000001
#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER      0x00000002
#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER      0x00000004
#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER        0x00000008
#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER        0x00000010
#define wxTEXT_ATTR_BULLET_STYLE_SYMBOL             0x00000020
#define wxTEXT_ATTR_BULLET_STYLE_BITMAP             0x00000040
#define wxTEXT_ATTR_BULLET_STYLE_PARENTHESES        0x00000080
#define wxTEXT_ATTR_BULLET_STYLE_PERIOD             0x00000100
#define wxTEXT_ATTR_BULLET_STYLE_STANDARD           0x00000200
#define wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS  0x00000400
#define wxTEXT_ATTR_BULLET_STYLE_OUTLINE            0x00000800
#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT         0x00000000
#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT        0x00001000
#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE       0x00002000
\end{verbatim}
}

Currently wxTEXT\_ATTR\_BULLET\_STYLE\_BITMAP is not supported.

\membersection{wxRichTextAttr::SetBulletText}\label{wxrichtextattrsetbullettext}

\func{void}{SetBulletText}{\param{const wxString& }{text}}

Sets the bullet text, which could be a symbol, or (for example) cached outline text.

\membersection{wxRichTextAttr::SetCharacterStyleName}\label{wxrichtextattrsetcharacterstylename}

\func{void}{SetCharacterStyleName}{\param{const wxString\& }{name}}

Sets the character style name.

\membersection{wxRichTextAttr::SetFlags}\label{wxrichtextattrsetflags}

\func{void}{SetFlags}{\param{long }{flags}}

Sets the flags determining which styles are being specified. The following
flags can be passed in a bitlist:

{\small
\begin{verbatim}
// Standard wxTextAttr constants

#define wxTEXT_ATTR_TEXT_COLOUR             0x00000001
#define wxTEXT_ATTR_BACKGROUND_COLOUR       0x00000002
#define wxTEXT_ATTR_FONT_FACE               0x00000004
#define wxTEXT_ATTR_FONT_SIZE               0x00000008
#define wxTEXT_ATTR_FONT_WEIGHT             0x00000010
#define wxTEXT_ATTR_FONT_ITALIC             0x00000020
#define wxTEXT_ATTR_FONT_UNDERLINE          0x00000040
#define wxTEXT_ATTR_FONT \
  wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT \
| wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE
#define wxTEXT_ATTR_ALIGNMENT               0x00000080
#define wxTEXT_ATTR_LEFT_INDENT             0x00000100
#define wxTEXT_ATTR_RIGHT_INDENT            0x00000200
#define wxTEXT_ATTR_TABS                    0x00000400

// Extra formatting flags not in wxTextAttr

#define wxTEXT_ATTR_PARA_SPACING_AFTER      0x00000800
#define wxTEXT_ATTR_PARA_SPACING_BEFORE     0x00001000
#define wxTEXT_ATTR_LINE_SPACING            0x00002000
#define wxTEXT_ATTR_CHARACTER_STYLE_NAME    0x00004000
#define wxTEXT_ATTR_PARAGRAPH_STYLE_NAME    0x00008000
#define wxTEXT_ATTR_LIST_STYLE_NAME         0x00010000
#define wxTEXT_ATTR_BULLET_STYLE            0x00020000
#define wxTEXT_ATTR_BULLET_NUMBER           0x00040000
#define wxTEXT_ATTR_BULLET_TEXT             0x00080000
#define wxTEXT_ATTR_BULLET_NAME             0x00100000
#define wxTEXT_ATTR_URL                     0x00200000
#define wxTEXT_ATTR_PAGE_BREAK              0x00400000
#define wxTEXT_ATTR_EFFECTS                 0x00800000
\end{verbatim}
}

\membersection{wxRichTextAttr::SetFontFaceName}\label{wxrichtextattrsetfontfacename}

\func{void}{SetFontFaceName}{\param{const wxString\& }{faceName}}

Sets the paragraph alignment.

\membersection{wxRichTextAttr::SetFontSize}\label{wxrichtextattrsetfontsize}

\func{void}{SetFontSize}{\param{int }{pointSize}}

Sets the font size in points.

\membersection{wxRichTextAttr::SetFontStyle}\label{wxrichtextattrsetfontstyle}

\func{void}{SetFontStyle}{\param{int }{fontStyle}}

Sets the font style (normal, italic or slanted).

\membersection{wxRichTextAttr::SetFontUnderlined}\label{wxrichtextattrsetfontunderlined}

\func{void}{SetFontUnderlined}{\param{bool }{underlined}}

Sets the font underlining.

\membersection{wxRichTextAttr::SetFontWeight}\label{wxrichtextattrsetfontweight}

\func{void}{SetFontWeight}{\param{int }{fontWeight}}

Sets the font weight.

\membersection{wxRichTextAttr::SetLeftIndent}\label{wxrichtextattrsetleftindent}

\func{void}{SetLeftIndent}{\param{int }{indent}, \param{int }{subIndent = 0}}

Sets the left indent and left subindent in tenths of a millimetre.

The sub-indent is an offset from the left of the paragraph, and is used for all but the
first line in a paragraph. A positive value will cause the first line to appear to the left
of the subsequent lines, and a negative value will cause the first line to be indented
relative to the subsequent lines.

wxRichTextBuffer uses indentation to render a bulleted item. The left indent is the distance between
the margin and the bullet. The content of the paragraph, including the first line, starts
at leftMargin + leftSubIndent. So the distance between the left edge of the bullet and the
left of the actual paragraph is leftSubIndent.

\membersection{wxRichTextAttr::SetLineSpacing}\label{wxrichtextattrsetlinespacing}

\func{void}{SetLineSpacing}{\param{int }{spacing}}

Sets the line spacing. {\it spacing} is a multiple, where 10 means single-spacing,
15 means 1.5 spacing, and 20 means double spacing. The following constants are
defined for convenience:

{\small
\begin{verbatim}
#define wxTEXT_ATTR_LINE_SPACING_NORMAL         10
#define wxTEXT_ATTR_LINE_SPACING_HALF           15
#define wxTEXT_ATTR_LINE_SPACING_TWICE          20
\end{verbatim}
}

\membersection{wxRichTextAttr::SetListStyleName}\label{wxrichtextattrsetliststylename}

\func{void}{SetListStyleName}{\param{const wxString\& }{name}}

Sets the list style name.

\membersection{wxRichTextAttr::SetPageBreak}\label{wxrichtextattrsetpagebreak}

\func{void}{SetPageBreak}{\param{bool}{ pageBreak = true}}

Specifies a page break before this paragraph.

\membersection{wxRichTextAttr::SetParagraphSpacingAfter}\label{wxrichtextattrsetparagraphspacingafter}

\func{void}{SetParagraphSpacingAfter}{\param{int }{spacing}}

Sets the spacing after a paragraph, in tenths of a millimetre.

\membersection{wxRichTextAttr::SetParagraphSpacingBefore}\label{wxrichtextattrsetparagraphspacingbefore}

\func{void}{SetParagraphSpacingBefore}{\param{int }{spacing}}

Sets the spacing before a paragraph, in tenths of a millimetre.

\membersection{wxRichTextAttr::SetParagraphStyleName}\label{wxrichtextattrsetparagraphstylename}

\func{void}{SetParagraphStyleName}{\param{const wxString\& }{name}}

Sets the name of the paragraph style.

\membersection{wxRichTextAttr::SetRightIndent}\label{wxrichtextattrsetrightindent}

\func{void}{SetRightIndent}{\param{int }{indent}}

Sets the right indent in tenths of a millimetre.

\membersection{wxRichTextAttr::SetTabs}\label{wxrichtextattrsettabs}

\func{void}{SetTabs}{\param{const wxArrayInt\& }{tabs}}

Sets the tab stops, expressed in tenths of a millimetre.
Each stop is measured from the left margin and therefore each value must be larger than the last.

\membersection{wxRichTextAttr::SetTextColour}\label{wxrichtextattrsettextcolour}

\func{void}{SetTextColour}{\param{const wxColour\& }{colText}}

Sets the text foreground colout.

\membersection{wxRichTextAttr::SetTextEffectFlags}\label{wxrichtextattrsettexteffectflags}

\func{void}{SetTextEffectFlags}{\param{int }{flags}}

Sets the text effect bits of interest. You should also pass wxTEXT\_ATTR\_EFFECTS to \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags}.
See \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags} for further information.

\membersection{wxRichTextAttr::SetTextEffects}\label{wxrichtextattrsettexteffects}

\func{void}{SetTextEffects}{\param{int }{effects}}

Sets the text effects, a bit list of styles.

The following styles can be passed:

{\small
\begin{verbatim}
#define wxTEXT_ATTR_EFFECT_NONE                     0x00000000
#define wxTEXT_ATTR_EFFECT_CAPITALS                 0x00000001
#define wxTEXT_ATTR_EFFECT_SMALL_CAPITALS           0x00000002
#define wxTEXT_ATTR_EFFECT_STRIKETHROUGH            0x00000004
#define wxTEXT_ATTR_EFFECT_DOUBLE_STRIKETHROUGH     0x00000008
#define wxTEXT_ATTR_EFFECT_SHADOW                   0x00000010
#define wxTEXT_ATTR_EFFECT_EMBOSS                   0x00000020
#define wxTEXT_ATTR_EFFECT_OUTLINE                  0x00000040
#define wxTEXT_ATTR_EFFECT_ENGRAVE                  0x00000080
#define wxTEXT_ATTR_EFFECT_SUPERSCRIPT              0x00000100
#define wxTEXT_ATTR_EFFECT_SUBSCRIPT                0x00000200
\end{verbatim}
}

Of these, only wxTEXT\_ATTR\_EFFECT\_CAPITALS and wxTEXT\_ATTR\_EFFECT\_STRIKETHROUGH are implemented.
wxTEXT\_ATTR\_EFFECT\_CAPITALS capitalises text when displayed (leaving the case of the actual buffer
text unchanged), and wxTEXT\_ATTR\_EFFECT\_STRIKETHROUGH draws a line through text.

To set effects, you should also pass wxTEXT\_ATTR\_EFFECTS to \helpref{wxRichTextAttr::SetFlags}{wxrichtextattrsetflags}, and call\rtfsp
\helpref{wxRichTextAttr::SetTextEffectFlags}{wxrichtextattrsettexteffectflags} with the styles (taken from the
above set) that you are interested in setting.

\membersection{wxRichTextAttr::SetURL}\label{wxrichtextattrseturl}

\func{void}{SetURL}{\param{const wxString\& }{url}}

Sets the URL for the content. Sets the wxTEXT\_ATTR\_URL style; content with this style
causes wxRichTextCtrl to show a hand cursor over it, and wxRichTextCtrl generates
a wxTextUrlEvent when the content is clicked.

\membersection{wxRichTextAttr::operator=}\label{wxrichtextattroperatorassign}

\func{void operator}{operator=}{\param{const wxTextAttrEx\& }{attr}}

Assignment from a \helpref{wxTextAttrEx}{wxtextattr} object.

\func{void operator}{operator=}{\param{const wxRichTextAttr\& }{attr}}

Assignment from a \helpref{wxRichTextAttr}{wxrichtextattr} object.

\membersection{wxRichTextAttr::wxTextAttrEx}\label{wxrichtextattrwxtextattrex}

\constfunc{operator}{wxTextAttrEx}{\void}

Makes a \helpref{wxTextAttrEx}{wxtextattrex} object from this object.

