--- /dev/null
+/** @file Decoration.h\r
+ ** Visual elements added over text.\r
+ **/\r
+// Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>\r
+// The License.txt file describes the conditions under which this software may be distributed.\r
+\r
+#ifndef DECORATION_H\r
+#define DECORATION_H\r
+\r
+#ifdef SCI_NAMESPACE\r
+namespace Scintilla {\r
+#endif\r
+\r
+class Decoration {\r
+public:\r
+ Decoration *next;\r
+ RunStyles rs;\r
+ int indicator;\r
+\r
+ Decoration(int indicator_);\r
+ ~Decoration();\r
+\r
+ bool Empty();\r
+};\r
+\r
+class DecorationList {\r
+ int currentIndicator;\r
+ int currentValue;\r
+ Decoration *current;\r
+ int lengthDocument;\r
+ Decoration *DecorationFromIndicator(int indicator);\r
+ Decoration *Create(int indicator, int length);\r
+ void Delete(int indicator);\r
+ void DeleteAnyEmpty();\r
+public:\r
+ Decoration *root;\r
+ bool clickNotified;\r
+\r
+ DecorationList();\r
+ ~DecorationList();\r
+\r
+ void SetCurrentIndicator(int indicator);\r
+ int GetCurrentIndicator() { return currentIndicator; }\r
+\r
+ void SetCurrentValue(int value);\r
+ int GetCurrentValue() { return currentValue; }\r
+\r
+ // Returns true if some values may have changed\r
+ bool FillRange(int &position, int value, int &fillLength);\r
+\r
+ void InsertSpace(int position, int insertLength);\r
+ void DeleteRange(int position, int deleteLength);\r
+\r
+ int AllOnFor(int position);\r
+ int ValueAt(int indicator, int position);\r
+ int Start(int indicator, int position);\r
+ int End(int indicator, int position);\r
+};\r
+\r
+#ifdef SCI_NAMESPACE\r
+}\r
+#endif\r
+\r
+#endif\r