aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/RunStyles.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/RunStyles.h')
-rw-r--r--src/RunStyles.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/RunStyles.h b/src/RunStyles.h
new file mode 100644
index 000000000..539e5de47
--- /dev/null
+++ b/src/RunStyles.h
@@ -0,0 +1,31 @@
+/** @file RunStyles.h
+ ** Data structure used to store sparse styles.
+ **/
+// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>
+// The License.txt file describes the conditions under which this software may be distributed.
+
+/// Styling buffer using one element for each run rather than using
+/// a filled buffer.
+
+class RunStyles {
+public:
+ Partitioning *starts;
+ SplitVector<int> *styles;
+ int RunFromPosition(int position);
+ void SplitRun(int position);
+ void RemoveRun(int run);
+ void RemoveRunIfEmpty(int run);
+ void RemoveRunIfSameAsPrevious(int run);
+public:
+ RunStyles();
+ ~RunStyles();
+ int Length();
+ int ValueAt(int position);
+ int FindNextChange(int position, int end);
+ int StartRun(int position);
+ int EndRun(int position);
+ void FillRange(int position, int value, int fillLength);
+ void InsertSpace(int position, int insertLength);
+ void DeleteAll();
+ void DeleteRange(int position, int deleteLength);
+};