+ /**
+ Gets the count for mixed virtual attributes for individual positions within the object.
+ For example, individual characters within a text object may require special highlighting.
+ */
+ int GetVirtualSubobjectAttributesCount(wxRichTextObject* obj) const;
+
+ /**
+ Gets the mixed virtual attributes for individual positions within the object.
+ For example, individual characters within a text object may require special highlighting.
+ The function is passed the count returned by GetVirtualSubobjectAttributesCount.
+ */
+ int GetVirtualSubobjectAttributes(wxRichTextObject* obj, wxArrayInt& positions, wxRichTextAttrArray& attributes) const;
+
+ /**
+ Do we have virtual text for this object? Virtual text allows an application
+ to replace characters in an object for editing and display purposes, for example
+ for highlighting special characters.
+ */
+ bool HasVirtualText(const wxRichTextPlainText* obj) const;
+
+ /**
+ Gets the virtual text for this object.
+ */
+ bool GetVirtualText(const wxRichTextPlainText* obj, wxString& text) const;
+
+ /**
+ Enables virtual attribute processing.
+ */
+
+ void EnableVirtualAttributes(bool b) { m_enableVirtualAttributes = b; }
+
+ /**
+ Returns @true if virtual attribute processing is enabled.
+ */
+
+ bool GetVirtualAttributesEnabled() const { return m_enableVirtualAttributes; }
+