OSDN Git Service

Commit DialogBox compile Okay
[tortoisegit/TortoiseGitJp.git] / ext / scintilla / src / RunStyles.h
1 /** @file RunStyles.h\r
2  ** Data structure used to store sparse styles.\r
3  **/\r
4 // Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\r
5 // The License.txt file describes the conditions under which this software may be distributed.\r
6 \r
7 /// Styling buffer using one element for each run rather than using\r
8 /// a filled buffer.\r
9 \r
10 #ifndef RUNSTYLES_H\r
11 #define RUNSTYLES_H\r
12 \r
13 #ifdef SCI_NAMESPACE\r
14 namespace Scintilla {\r
15 #endif\r
16 \r
17 class RunStyles {\r
18 public:\r
19         Partitioning *starts;\r
20         SplitVector<int> *styles;\r
21         int RunFromPosition(int position);\r
22         int SplitRun(int position);\r
23         void RemoveRun(int run);\r
24         void RemoveRunIfEmpty(int run);\r
25         void RemoveRunIfSameAsPrevious(int run);\r
26 public:\r
27         RunStyles();\r
28         ~RunStyles();\r
29         int Length() const;\r
30         int ValueAt(int position) const;\r
31         int FindNextChange(int position, int end);\r
32         int StartRun(int position);\r
33         int EndRun(int position);\r
34         // Returns true if some values may have changed\r
35         bool FillRange(int &position, int value, int &fillLength);\r
36         void SetValueAt(int position, int value);\r
37         void InsertSpace(int position, int insertLength);\r
38         void DeleteAll();\r
39         void DeleteRange(int position, int deleteLength);\r
40 };\r
41 \r
42 #ifdef SCI_NAMESPACE\r
43 }\r
44 #endif\r
45 \r
46 #endif\r