2 ** Visual elements added over text.
4 // Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>
5 // The License.txt file describes the conditions under which this software may be distributed.
19 explicit Decoration(int indicator_
);
23 int Indicator() const {
28 class DecorationList
{
31 Decoration
*current
; // Cached so FillRange doesn't have to search for each call.
33 // Ordered by indicator
34 std::vector
<std::unique_ptr
<Decoration
>> decorationList
;
35 std::vector
<const Decoration
*> decorationView
; // Read-only view of decorationList
38 Decoration
*DecorationFromIndicator(int indicator
);
39 Decoration
*Create(int indicator
, int length
);
40 void Delete(int indicator
);
41 void DeleteAnyEmpty();
48 const std::vector
<const Decoration
*> &View() const { return decorationView
; }
50 void SetCurrentIndicator(int indicator
);
51 int GetCurrentIndicator() const { return currentIndicator
; }
53 void SetCurrentValue(int value
);
54 int GetCurrentValue() const { return currentValue
; }
56 // Returns true if some values may have changed
57 bool FillRange(int &position
, int value
, int &fillLength
);
59 void InsertSpace(int position
, int insertLength
);
60 void DeleteRange(int position
, int deleteLength
);
62 void DeleteLexerDecorations();
64 int AllOnFor(int position
) const;
65 int ValueAt(int indicator
, int position
);
66 int Start(int indicator
, int position
);
67 int End(int indicator
, int position
);
69 bool ClickNotified() const {
72 void SetClickNotified(bool notified
) {
73 clickNotified
= notified
;