Update Scintilla to 3.5.0 pre-release
[geany-mirror.git] / scintilla / src / EditModel.cxx
blob815d227819dd7921925cc0bd30d3ebe7c9559171
1 // Scintilla source code edit control
2 /** @file EditModel.cxx
3 ** Defines the editor state that must be visible to EditorView.
4 **/
5 // Copyright 1998-2014 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
8 #include <stdlib.h>
9 #include <string.h>
10 #include <stdio.h>
11 #include <math.h>
12 #include <assert.h>
13 #include <ctype.h>
15 #include <string>
16 #include <vector>
17 #include <map>
18 #include <algorithm>
19 #include <memory>
21 #include "Platform.h"
23 #include "ILexer.h"
24 #include "Scintilla.h"
26 #include "StringCopy.h"
27 #include "SplitVector.h"
28 #include "Partitioning.h"
29 #include "RunStyles.h"
30 #include "ContractionState.h"
31 #include "CellBuffer.h"
32 #include "KeyMap.h"
33 #include "Indicator.h"
34 #include "XPM.h"
35 #include "LineMarker.h"
36 #include "Style.h"
37 #include "ViewStyle.h"
38 #include "CharClassify.h"
39 #include "Decoration.h"
40 #include "CaseFolder.h"
41 #include "Document.h"
42 #include "UniConversion.h"
43 #include "Selection.h"
44 #include "PositionCache.h"
45 #include "EditModel.h"
47 #ifdef SCI_NAMESPACE
48 using namespace Scintilla;
49 #endif
51 Caret::Caret() :
52 active(false), on(false), period(500) {}
54 EditModel::EditModel() {
55 inOverstrike = false;
56 xOffset = 0;
57 trackLineWidth = false;
58 posDrag = SelectionPosition(invalidPosition);
59 braces[0] = invalidPosition;
60 braces[1] = invalidPosition;
61 bracesMatchStyle = STYLE_BRACEBAD;
62 highlightGuideColumn = 0;
63 primarySelection = true;
64 foldFlags = 0;
65 hotspot = Range(invalidPosition);
66 wrapWidth = LineLayout::wrapWidthInfinite;
67 pdoc = new Document();
68 pdoc->AddRef();
71 EditModel::~EditModel() {
72 pdoc->Release();
73 pdoc = 0;