]> git.saurik.com Git - wxWidgets.git/blob - src/stc/scintilla/src/Decoration.h
fixed scaling of print preview if there's not enough RAM for the full page
[wxWidgets.git] / src / stc / scintilla / src / Decoration.h
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
11 namespace Scintilla {
12 #endif
13
14 class Decoration {
15 public:
16 Decoration *next;
17 RunStyles rs;
18 int indicator;
19
20 Decoration(int indicator_);
21 ~Decoration();
22
23 bool Empty();
24 };
25
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;
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