]> git.saurik.com Git - wxWidgets.git/blame - src/stc/scintilla/src/Decoration.h
content must be changeable by wx even though control may be disabled
[wxWidgets.git] / src / stc / scintilla / src / Decoration.h
CommitLineData
7e0c58e9
RD
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.
6
7#ifndef DECORATION_H
8#define DECORATION_H
9
10#ifdef SCI_NAMESPACE
11namespace Scintilla {
12#endif
13
14class Decoration {
15public:
16 Decoration *next;
17 RunStyles rs;
18 int indicator;
19
20 Decoration(int indicator_);
21 ~Decoration();
22
23 bool Empty();
24};
25
26class 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();
35public:
36 Decoration *root;
37 bool clickNotified;
38
39 DecorationList();
40 ~DecorationList();
41
42 void SetCurrentIndicator(int indicator);
43 int GetCurrentIndicator() { return currentIndicator; }
44
45 void SetCurrentValue(int value);
46 int GetCurrentValue() { return currentValue; }
47
48 // Returns true if some values may have changed
49 bool FillRange(int &position, int value, int &fillLength);
50
51 void InsertSpace(int position, int insertLength);
52 void DeleteRange(int position, int deleteLength);
53
54 int AllOnFor(int position);
55 int ValueAt(int indicator, int position);
56 int Start(int indicator, int position);
57 int End(int indicator, int position);
58};
59
60#ifdef SCI_NAMESPACE
61}
62#endif
63
64#endif