Update Scintilla to version 3.6.2
[geany-mirror.git] / scintilla / src / Decoration.h
bloba0c434af8d19bdefeb76f65afd7d21f7279990b8
1 /** @file Decoration.h
2 ** Visual elements added over text.
3 **/
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.
7 #ifndef DECORATION_H
8 #define DECORATION_H
10 #ifdef SCI_NAMESPACE
11 namespace Scintilla {
12 #endif
14 class Decoration {
15 public:
16 Decoration *next;
17 RunStyles rs;
18 int indicator;
20 explicit Decoration(int indicator_);
21 ~Decoration();
23 bool Empty() const;
26 class DecorationList {
27 int currentIndicator;
28 int currentValue;
29 Decoration *current;
30 int lengthDocument;
31 Decoration *DecorationFromIndicator(int indicator);
32 Decoration *Create(int indicator, int length);
33 void Delete(int indicator);
34 void DeleteAnyEmpty();
35 public:
36 Decoration *root;
37 bool clickNotified;
39 DecorationList();
40 ~DecorationList();
42 void SetCurrentIndicator(int indicator);
43 int GetCurrentIndicator() const { return currentIndicator; }
45 void SetCurrentValue(int value);
46 int GetCurrentValue() const { return currentValue; }
48 // Returns true if some values may have changed
49 bool FillRange(int &position, int value, int &fillLength);
51 void InsertSpace(int position, int insertLength);
52 void DeleteRange(int position, int deleteLength);
54 int AllOnFor(int position) const;
55 int ValueAt(int indicator, int position);
56 int Start(int indicator, int position);
57 int End(int indicator, int position);
60 #ifdef SCI_NAMESPACE
62 #endif
64 #endif