]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/scintilla/src/RunStyles.h
Update Scintilla to version 1.75
[wxWidgets.git] / src / stc / scintilla / src / RunStyles.h
diff --git a/src/stc/scintilla/src/RunStyles.h b/src/stc/scintilla/src/RunStyles.h
new file mode 100644 (file)
index 0000000..bbf20b2
--- /dev/null
@@ -0,0 +1,41 @@
+/** @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.
+
+#ifdef SCI_NAMESPACE
+namespace Scintilla {
+#endif
+
+class RunStyles {
+public:
+       Partitioning *starts;
+       SplitVector<int> *styles;
+       int RunFromPosition(int position);
+       int 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);
+       // Returns true if some values may have changed
+       bool FillRange(int &position, int value, int &fillLength);
+       void SetValueAt(int position, int value);
+       void InsertSpace(int position, int insertLength);
+       void DeleteAll();
+       void DeleteRange(int position, int deleteLength);
+};
+
+#ifdef SCI_NAMESPACE
+}
+#endif