Merge pull request #2212 from TwlyY29/bibtex-parser
[geany-mirror.git] / scintilla / src / ContractionState.h
blobf9ec7b6454ab2c14de5b712d616054bbc37faa35
1 // Scintilla source code edit control
2 /** @file ContractionState.h
3 ** Manages visibility of lines for folding and wrapping.
4 **/
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
11 namespace Scintilla {
13 /**
15 class IContractionState {
16 public:
17 virtual ~IContractionState() {};
19 virtual void Clear()=0;
21 virtual Sci::Line LinesInDoc() const=0;
22 virtual Sci::Line LinesDisplayed() const=0;
23 virtual Sci::Line DisplayFromDoc(Sci::Line lineDoc) const=0;
24 virtual Sci::Line DisplayLastFromDoc(Sci::Line lineDoc) const=0;
25 virtual Sci::Line DocFromDisplay(Sci::Line lineDisplay) const=0;
27 virtual void InsertLines(Sci::Line lineDoc, Sci::Line lineCount)=0;
28 virtual void DeleteLines(Sci::Line lineDoc, Sci::Line lineCount)=0;
30 virtual bool GetVisible(Sci::Line lineDoc) const=0;
31 virtual bool SetVisible(Sci::Line lineDocStart, Sci::Line lineDocEnd, bool isVisible)=0;
32 virtual bool HiddenLines() const=0;
34 virtual const char *GetFoldDisplayText(Sci::Line lineDoc) const=0;
35 virtual bool SetFoldDisplayText(Sci::Line lineDoc, const char *text)=0;
37 virtual bool GetExpanded(Sci::Line lineDoc) const=0;
38 virtual bool SetExpanded(Sci::Line lineDoc, bool isExpanded)=0;
39 virtual Sci::Line ContractedNext(Sci::Line lineDocStart) const=0;
41 virtual int GetHeight(Sci::Line lineDoc) const=0;
42 virtual bool SetHeight(Sci::Line lineDoc, int height)=0;
44 virtual void ShowAll()=0;
47 std::unique_ptr<IContractionState> ContractionStateCreate(bool largeDocument);
51 #endif