]>
git.saurik.com Git - wxWidgets.git/blob - src/stc/scintilla/src/ContractionState.h
ba629751280e69030e2430b104001f0830403402
1 // Scintilla source code edit control
2 /** @file ContractionState.h
3 ** Manages visibility of lines for folding and wrapping.
5 // Copyright 1998-2007 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
8 #ifndef CONTRACTIONSTATE_H
9 #define CONTRACTIONSTATE_H
17 class ContractionState
{
18 // These contain 1 element for every document line.
22 Partitioning
*displayLines
;
27 bool OneToOne() const {
28 // True when each document line is exactly one display line so need for
29 // complex data structures.
35 virtual ~ContractionState();
39 int LinesInDoc() const;
40 int LinesDisplayed() const;
41 int DisplayFromDoc(int lineDoc
) const;
42 int DocFromDisplay(int lineDisplay
) const;
44 void InsertLine(int lineDoc
);
45 void InsertLines(int lineDoc
, int lineCount
);
46 void DeleteLine(int lineDoc
);
47 void DeleteLines(int lineDoc
, int lineCount
);
49 bool GetVisible(int lineDoc
) const;
50 bool SetVisible(int lineDocStart
, int lineDocEnd
, bool visible
);
52 bool GetExpanded(int lineDoc
) const;
53 bool SetExpanded(int lineDoc
, bool expanded
);
55 int GetHeight(int lineDoc
) const;
56 bool SetHeight(int lineDoc
, int height
);