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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
// Scintilla source code edit control
/** @file ScintillaStructures.h
** Structures used to communicate with Scintilla.
** The same structures are defined for C in Scintilla.h.
** Uses definitions from ScintillaTypes.h.
**/
// Copyright 2021 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#ifndef SCINTILLASTRUCTURES_H
#define SCINTILLASTRUCTURES_H
namespace Scintilla {
using PositionCR = long;
struct CharacterRange {
PositionCR cpMin;
PositionCR cpMax;
};
struct CharacterRangeFull {
Position cpMin;
Position cpMax;
};
struct TextRange {
CharacterRange chrg;
char *lpstrText;
};
struct TextRangeFull {
CharacterRangeFull chrg;
char *lpstrText;
};
struct TextToFind {
CharacterRange chrg;
const char *lpstrText;
CharacterRange chrgText;
};
struct TextToFindFull {
CharacterRangeFull chrg;
const char *lpstrText;
CharacterRangeFull chrgText;
};
using SurfaceID = void *;
struct Rectangle {
int left;
int top;
int right;
int bottom;
};
/* This structure is used in printing. Not needed by most client code. */
struct RangeToFormat {
SurfaceID hdc;
SurfaceID hdcTarget;
Rectangle rc;
Rectangle rcPage;
CharacterRange chrg;
};
struct RangeToFormatFull {
SurfaceID hdc;
SurfaceID hdcTarget;
Rectangle rc;
Rectangle rcPage;
CharacterRangeFull chrg;
};
struct NotifyHeader {
/* Compatible with Windows NMHDR.
* hwndFrom is really an environment specific window handle or pointer
* but most clients of Scintilla.h do not have this type visible. */
void *hwndFrom;
uptr_t idFrom;
Notification code;
};
struct NotificationData {
NotifyHeader nmhdr;
Position position;
/* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */
/* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */
/* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */
/* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */
/* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */
int ch;
/* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETED, SCN_AUTOCSELECTION, */
/* SCN_USERLISTSELECTION */
KeyMod modifiers;
/* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */
/* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */
ModificationFlags modificationType; /* SCN_MODIFIED */
const char *text;
/* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */
Position length; /* SCN_MODIFIED */
Position linesAdded; /* SCN_MODIFIED */
Message message; /* SCN_MACRORECORD */
uptr_t wParam; /* SCN_MACRORECORD */
sptr_t lParam; /* SCN_MACRORECORD */
Position line; /* SCN_MODIFIED */
FoldLevel foldLevelNow; /* SCN_MODIFIED */
FoldLevel foldLevelPrev; /* SCN_MODIFIED */
int margin; /* SCN_MARGINCLICK */
int listType; /* SCN_USERLISTSELECTION */
int x; /* SCN_DWELLSTART, SCN_DWELLEND */
int y; /* SCN_DWELLSTART, SCN_DWELLEND */
int token; /* SCN_MODIFIED with SC_MOD_CONTAINER */
Position annotationLinesAdded; /* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */
Update updated; /* SCN_UPDATEUI */
CompletionMethods listCompletionMethod;
/* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION, */
CharacterSource characterSource; /* SCN_CHARADDED */
};
}
#endif
|