blob: 847fd728d0a16ea8a610211c33abd4fb46f22d85 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
// Scintilla source code edit control
/** @file EditModel.h
** Defines the editor state that must be visible to EditorView.
**/
// Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#ifndef EDITMODEL_H
#define EDITMODEL_H
#ifdef SCI_NAMESPACE
namespace Scintilla {
#endif
/**
*/
class Caret {
public:
bool active;
bool on;
int period;
Caret();
};
class EditModel {
// Private so EditModel objects can not be copied
explicit EditModel(const EditModel &);
EditModel &operator=(const EditModel &);
public:
bool inOverstrike;
int xOffset; ///< Horizontal scrolled amount in pixels
bool trackLineWidth;
SpecialRepresentations reprs;
Caret caret;
SelectionPosition posDrag;
Position braces[2];
int bracesMatchStyle;
int highlightGuideColumn;
Selection sel;
bool primarySelection;
enum IMEInteraction { imeWindowed, imeInline } imeInteraction;
int foldFlags;
int foldDisplayTextStyle;
ContractionState cs;
// Hotspot support
Range hotspot;
int hoverIndicatorPos;
// Wrapping support
int wrapWidth;
Document *pdoc;
EditModel();
virtual ~EditModel();
virtual int TopLineOfMain() const = 0;
virtual Point GetVisibleOriginInMain() const = 0;
virtual int LinesOnScreen() const = 0;
virtual Range GetHotSpotRange() const = 0;
};
#ifdef SCI_NAMESPACE
}
#endif
#endif
|