]> git.saurik.com Git - wxWidgets.git/blob - src/stc/scintilla/include/Scintilla.h
extracted 4 copies of identical code into a function
[wxWidgets.git] / src / stc / scintilla / include / Scintilla.h
1 // Scintilla source code edit control
2 // Scintilla.h - interface to the edit control
3 // Copyright 1998-2000 by Neil Hodgson <neilh@scintilla.org>
4 // The License.txt file describes the conditions under which this software may be distributed.
5
6 // Most of this file is automatically generated from the Scintilla.iface interface definition
7 // file which contains any comments about the definitions. HFacer.py does the generation.
8
9 #ifndef SCINTILLA_H
10 #define SCINTILLA_H
11
12 // Compile-time configuration options
13 #define MACRO_SUPPORT 1 // Comment out to remove macro hooks
14
15 #if PLAT_WIN
16 #ifdef STATIC_BUILD
17 void Scintilla_RegisterClasses(HINSTANCE hInstance);
18 #endif
19 #endif
20
21 typedef long (*SciFnDirect)(long ptr, unsigned int iMessage, unsigned long wParam, long lParam);
22
23 //++Autogenerated -- start of section automatically generated from Scintilla.iface
24 #define INVALID_POSITION -1
25 #define SCI_START 2000
26 #define SCI_OPTIONAL_START 3000
27 #define SCI_LEXER_START 4000
28 #define SCI_ADDTEXT 2001
29 #define SCI_ADDSTYLEDTEXT 2002
30 #define SCI_INSERTTEXT 2003
31 #define SCI_CLEARALL 2004
32 #define SCI_CLEARDOCUMENTSTYLE 2005
33 #define SCI_GETLENGTH 2006
34 #define SCI_GETCHARAT 2007
35 #define SCI_GETCURRENTPOS 2008
36 #define SCI_GETANCHOR 2009
37 #define SCI_GETSTYLEAT 2010
38 #define SCI_REDO 2011
39 #define SCI_SETUNDOCOLLECTION 2012
40 #define SCI_SELECTALL 2013
41 #define SCI_SETSAVEPOINT 2014
42 #define SCI_GETSTYLEDTEXT 2015
43 #define SCI_CANREDO 2016
44 #define SCI_MARKERLINEFROMHANDLE 2017
45 #define SCI_MARKERDELETEHANDLE 2018
46 #define SCI_GETUNDOCOLLECTION 2019
47 #define SCWS_INVISIBLE 0
48 #define SCWS_VISIBLEALWAYS 1
49 #define SCWS_VISIBLEAFTERINDENT 2
50 #define SCI_GETVIEWWS 2020
51 #define SCI_SETVIEWWS 2021
52 #define SCI_POSITIONFROMPOINT 2022
53 #define SCI_GOTOLINE 2024
54 #define SCI_GOTOPOS 2025
55 #define SCI_SETANCHOR 2026
56 #define SCI_GETCURLINE 2027
57 #define SCI_GETENDSTYLED 2028
58 #define SCI_CONVERTEOLS 2029
59 #define SC_EOL_CRLF 0
60 #define SC_EOL_CR 1
61 #define SC_EOL_LF 2
62 #define SCI_GETEOLMODE 2030
63 #define SCI_SETEOLMODE 2031
64 #define SCI_STARTSTYLING 2032
65 #define SCI_SETSTYLING 2033
66 #define SCI_GETBUFFEREDDRAW 2034
67 #define SCI_SETBUFFEREDDRAW 2035
68 #define SCI_SETTABWIDTH 2036
69 #define SCI_GETTABWIDTH 2121
70 #define SC_CP_UTF8 65001
71 #define SCI_SETCODEPAGE 2037
72 #define SCI_SETUSEPALETTE 2039
73 #define MARKER_MAX 31
74 #define SC_MARK_CIRCLE 0
75 #define SC_MARK_ROUNDRECT 1
76 #define SC_MARK_ARROW 2
77 #define SC_MARK_SMALLRECT 3
78 #define SC_MARK_SHORTARROW 4
79 #define SC_MARK_EMPTY 5
80 #define SC_MARK_ARROWDOWN 6
81 #define SC_MARK_MINUS 7
82 #define SC_MARK_PLUS 8
83 #define SC_MARKNUM_FOLDER 30
84 #define SC_MARKNUM_FOLDEROPEN 31
85 #define SCI_MARKERDEFINE 2040
86 #define SCI_MARKERSETFORE 2041
87 #define SCI_MARKERSETBACK 2042
88 #define SCI_MARKERADD 2043
89 #define SCI_MARKERDELETE 2044
90 #define SCI_MARKERDELETEALL 2045
91 #define SCI_MARKERGET 2046
92 #define SCI_MARKERNEXT 2047
93 #define SCI_MARKERPREVIOUS 2048
94 #define SC_MARGIN_SYMBOL 0
95 #define SC_MARGIN_NUMBER 1
96 #define SCI_SETMARGINTYPEN 2240
97 #define SCI_GETMARGINTYPEN 2241
98 #define SCI_SETMARGINWIDTHN 2242
99 #define SCI_GETMARGINWIDTHN 2243
100 #define SCI_SETMARGINMASKN 2244
101 #define SCI_GETMARGINMASKN 2245
102 #define SCI_SETMARGINSENSITIVEN 2246
103 #define SCI_GETMARGINSENSITIVEN 2247
104 #define STYLE_DEFAULT 32
105 #define STYLE_LINENUMBER 33
106 #define STYLE_BRACELIGHT 34
107 #define STYLE_BRACEBAD 35
108 #define STYLE_CONTROLCHAR 36
109 #define STYLE_INDENTGUIDE 37
110 #define STYLE_MAX 127
111 #define SC_CHARSET_ANSI 0
112 #define SC_CHARSET_DEFAULT 1
113 #define SC_CHARSET_BALTIC 186
114 #define SC_CHARSET_CHINESEBIG5 136
115 #define SC_CHARSET_EASTEUROPE 238
116 #define SC_CHARSET_GB2312 134
117 #define SC_CHARSET_GREEK 161
118 #define SC_CHARSET_HANGUL 129
119 #define SC_CHARSET_MAC 77
120 #define SC_CHARSET_OEM 255
121 #define SC_CHARSET_RUSSIAN 204
122 #define SC_CHARSET_SHIFTJIS 128
123 #define SC_CHARSET_SYMBOL 2
124 #define SC_CHARSET_TURKISH 162
125 #define SC_CHARSET_JOHAB 130
126 #define SC_CHARSET_HEBREW 177
127 #define SC_CHARSET_ARABIC 178
128 #define SC_CHARSET_VIETNAMESE 163
129 #define SC_CHARSET_THAI 222
130 #define SCI_STYLECLEARALL 2050
131 #define SCI_STYLESETFORE 2051
132 #define SCI_STYLESETBACK 2052
133 #define SCI_STYLESETBOLD 2053
134 #define SCI_STYLESETITALIC 2054
135 #define SCI_STYLESETSIZE 2055
136 #define SCI_STYLESETFONT 2056
137 #define SCI_STYLESETEOLFILLED 2057
138 #define SCI_STYLERESETDEFAULT 2058
139 #define SCI_STYLESETUNDERLINE 2059
140 #define SCI_STYLESETCHARACTERSET 2066
141 #define SCI_SETSELFORE 2067
142 #define SCI_SETSELBACK 2068
143 #define SCI_SETCARETFORE 2069
144 #define SCI_ASSIGNCMDKEY 2070
145 #define SCI_CLEARCMDKEY 2071
146 #define SCI_CLEARALLCMDKEYS 2072
147 #define SCI_SETSTYLINGEX 2073
148 #define SCI_STYLESETVISIBLE 2074
149 #define SCI_GETCARETPERIOD 2075
150 #define SCI_SETCARETPERIOD 2076
151 #define SCI_SETWORDCHARS 2077
152 #define SCI_BEGINUNDOACTION 2078
153 #define SCI_ENDUNDOACTION 2079
154 #define INDIC_MAX 7
155 #define INDIC_PLAIN 0
156 #define INDIC_SQUIGGLE 1
157 #define INDIC_TT 2
158 #define INDIC_DIAGONAL 3
159 #define INDIC_STRIKE 4
160 #define INDIC0_MASK 32
161 #define INDIC1_MASK 64
162 #define INDIC2_MASK 128
163 #define INDICS_MASK INDIC0_MASK | INDIC1_MASK | INDIC2_MASK
164 #define SCI_INDICSETSTYLE 2080
165 #define SCI_INDICGETSTYLE 2081
166 #define SCI_INDICSETFORE 2082
167 #define SCI_INDICGETFORE 2083
168 #define SCI_SETSTYLEBITS 2090
169 #define SCI_GETSTYLEBITS 2091
170 #define SCI_SETLINESTATE 2092
171 #define SCI_GETLINESTATE 2093
172 #define SCI_GETMAXLINESTATE 2094
173 #define SCI_AUTOCSHOW 2100
174 #define SCI_AUTOCCANCEL 2101
175 #define SCI_AUTOCACTIVE 2102
176 #define SCI_AUTOCPOSSTART 2103
177 #define SCI_AUTOCCOMPLETE 2104
178 #define SCI_AUTOCSTOPS 2105
179 #define SCI_AUTOCSETSEPARATOR 2106
180 #define SCI_AUTOCGETSEPARATOR 2107
181 #define SCI_AUTOCSELECT 2108
182 #define SCI_AUTOCSETCANCELATSTART 2110
183 #define SCI_AUTOCGETCANCELATSTART 2111
184 #define SCI_AUTOCSETFILLUPS 2112
185 #define SCI_AUTOCSETCHOOSESINGLE 2113
186 #define SCI_AUTOCGETCHOOSESINGLE 2114
187 #define SCI_AUTOCSETIGNORECASE 2115
188 #define SCI_AUTOCGETIGNORECASE 2116
189 #define SCI_SETINDENT 2122
190 #define SCI_GETINDENT 2123
191 #define SCI_SETUSETABS 2124
192 #define SCI_GETUSETABS 2125
193 #define SCI_SETLINEINDENTATION 2126
194 #define SCI_GETLINEINDENTATION 2127
195 #define SCI_GETLINEINDENTPOSITION 2128
196 #define SCI_GETCOLUMN 2129
197 #define SCI_SETHSCROLLBAR 2130
198 #define SCI_GETHSCROLLBAR 2131
199 #define SCI_SETINDENTATIONGUIDES 2132
200 #define SCI_GETINDENTATIONGUIDES 2133
201 #define SCI_SETHIGHLIGHTGUIDE 2134
202 #define SCI_GETHIGHLIGHTGUIDE 2135
203 #define SCI_GETLINEENDPOSITION 2136
204 #define SCI_GETCODEPAGE 2137
205 #define SCI_GETCARETFORE 2138
206 #define SCI_GETUSEPALETTE 2139
207 #define SCI_GETREADONLY 2140
208 #define SCI_SETCURRENTPOS 2141
209 #define SCI_SETSELECTIONSTART 2142
210 #define SCI_GETSELECTIONSTART 2143
211 #define SCI_SETSELECTIONEND 2144
212 #define SCI_GETSELECTIONEND 2145
213 #define SCI_SETPRINTMAGNIFICATION 2146
214 #define SCI_GETPRINTMAGNIFICATION 2147
215 #define SC_PRINT_NORMAL 0
216 #define SC_PRINT_INVERTLIGHT 1
217 #define SC_PRINT_BLACKONWHITE 2
218 #define SCI_SETPRINTCOLOURMODE 2148
219 #define SCI_GETPRINTCOLOURMODE 2149
220 #define SCFIND_DOWN 1
221 #define SCFIND_WHOLEWORD 2
222 #define SCFIND_MATCHCASE 4
223 #define SCFIND_WORDSTART 0x00100000
224 #define SCFIND_REGEXP 0x00200000
225 #define SCI_FINDTEXT 2150
226 #define SCI_FORMATRANGE 2151
227 #define SCI_GETFIRSTVISIBLELINE 2152
228 #define SCI_GETLINE 2153
229 #define SCI_GETLINECOUNT 2154
230 #define SCI_SETMARGINLEFT 2155
231 #define SCI_GETMARGINLEFT 2156
232 #define SCI_SETMARGINRIGHT 2157
233 #define SCI_GETMARGINRIGHT 2158
234 #define SCI_GETMODIFY 2159
235 #define SCI_SETSEL 2160
236 #define SCI_GETSELTEXT 2161
237 #define SCI_GETTEXTRANGE 2162
238 #define SCI_HIDESELECTION 2163
239 #define SCI_POINTXFROMPOSITION 2164
240 #define SCI_POINTYFROMPOSITION 2165
241 #define SCI_LINEFROMPOSITION 2166
242 #define SCI_POSITIONFROMLINE 2167
243 #define SCI_LINESCROLL 2168
244 #define SCI_SCROLLCARET 2169
245 #define SCI_REPLACESEL 2170
246 #define SCI_SETREADONLY 2171
247 #define SCI_NULL 2172
248 #define SCI_CANPASTE 2173
249 #define SCI_CANUNDO 2174
250 #define SCI_EMPTYUNDOBUFFER 2175
251 #define SCI_UNDO 2176
252 #define SCI_CUT 2177
253 #define SCI_COPY 2178
254 #define SCI_PASTE 2179
255 #define SCI_CLEAR 2180
256 #define SCI_SETTEXT 2181
257 #define SCI_GETTEXT 2182
258 #define SCI_GETTEXTLENGTH 2183
259 #define SCI_GETDIRECTFUNCTION 2184
260 #define SCI_GETDIRECTPOINTER 2185
261 #define SCI_SETOVERTYPE 2186
262 #define SCI_GETOVERTYPE 2187
263 #define SCI_CALLTIPSHOW 2200
264 #define SCI_CALLTIPCANCEL 2201
265 #define SCI_CALLTIPACTIVE 2202
266 #define SCI_CALLTIPPOSSTART 2203
267 #define SCI_CALLTIPSETHLT 2204
268 #define SCI_CALLTIPSETBACK 2205
269 #define SCI_VISIBLEFROMDOCLINE 2220
270 #define SCI_DOCLINEFROMVISIBLE 2221
271 #define SC_FOLDLEVELBASE 0x400
272 #define SC_FOLDLEVELWHITEFLAG 0x1000
273 #define SC_FOLDLEVELHEADERFLAG 0x2000
274 #define SC_FOLDLEVELNUMBERMASK 0x0FFF
275 #define SCI_SETFOLDLEVEL 2222
276 #define SCI_GETFOLDLEVEL 2223
277 #define SCI_GETLASTCHILD 2224
278 #define SCI_GETFOLDPARENT 2225
279 #define SCI_SHOWLINES 2226
280 #define SCI_HIDELINES 2227
281 #define SCI_GETLINEVISIBLE 2228
282 #define SCI_SETFOLDEXPANDED 2229
283 #define SCI_GETFOLDEXPANDED 2230
284 #define SCI_TOGGLEFOLD 2231
285 #define SCI_ENSUREVISIBLE 2232
286 #define SCI_SETFOLDFLAGS 2233
287 #define SCI_LINEDOWN 2300
288 #define SCI_LINEDOWNEXTEND 2301
289 #define SCI_LINEUP 2302
290 #define SCI_LINEUPEXTEND 2303
291 #define SCI_CHARLEFT 2304
292 #define SCI_CHARLEFTEXTEND 2305
293 #define SCI_CHARRIGHT 2306
294 #define SCI_CHARRIGHTEXTEND 2307
295 #define SCI_WORDLEFT 2308
296 #define SCI_WORDLEFTEXTEND 2309
297 #define SCI_WORDRIGHT 2310
298 #define SCI_WORDRIGHTEXTEND 2311
299 #define SCI_HOME 2312
300 #define SCI_HOMEEXTEND 2313
301 #define SCI_LINEEND 2314
302 #define SCI_LINEENDEXTEND 2315
303 #define SCI_DOCUMENTSTART 2316
304 #define SCI_DOCUMENTSTARTEXTEND 2317
305 #define SCI_DOCUMENTEND 2318
306 #define SCI_DOCUMENTENDEXTEND 2319
307 #define SCI_PAGEUP 2320
308 #define SCI_PAGEUPEXTEND 2321
309 #define SCI_PAGEDOWN 2322
310 #define SCI_PAGEDOWNEXTEND 2323
311 #define SCI_EDITTOGGLEOVERTYPE 2324
312 #define SCI_CANCEL 2325
313 #define SCI_DELETEBACK 2326
314 #define SCI_TAB 2327
315 #define SCI_BACKTAB 2328
316 #define SCI_NEWLINE 2329
317 #define SCI_FORMFEED 2330
318 #define SCI_VCHOME 2331
319 #define SCI_VCHOMEEXTEND 2332
320 #define SCI_ZOOMIN 2333
321 #define SCI_ZOOMOUT 2334
322 #define SCI_DELWORDLEFT 2335
323 #define SCI_DELWORDRIGHT 2336
324 #define SCI_LINECUT 2337
325 #define SCI_LINEDELETE 2338
326 #define SCI_LINETRANSPOSE 2339
327 #define SCI_LOWERCASE 2340
328 #define SCI_UPPERCASE 2341
329 #define SCI_LINESCROLLDOWN 2342
330 #define SCI_LINESCROLLUP 2343
331 #define SCI_LINELENGTH 2350
332 #define SCI_BRACEHIGHLIGHT 2351
333 #define SCI_BRACEBADLIGHT 2352
334 #define SCI_BRACEMATCH 2353
335 #define SCI_GETVIEWEOL 2355
336 #define SCI_SETVIEWEOL 2356
337 #define SCI_GETDOCPOINTER 2357
338 #define SCI_SETDOCPOINTER 2358
339 #define SCI_SETMODEVENTMASK 2359
340 #define EDGE_NONE 0
341 #define EDGE_LINE 1
342 #define EDGE_BACKGROUND 2
343 #define SCI_GETEDGECOLUMN 2360
344 #define SCI_SETEDGECOLUMN 2361
345 #define SCI_GETEDGEMODE 2362
346 #define SCI_SETEDGEMODE 2363
347 #define SCI_GETEDGECOLOUR 2364
348 #define SCI_SETEDGECOLOUR 2365
349 #define SCI_SEARCHANCHOR 2366
350 #define SCI_SEARCHNEXT 2367
351 #define SCI_SEARCHPREV 2368
352 #define CARET_SLOP 0x01
353 #define CARET_CENTER 0x02
354 #define CARET_STRICT 0x04
355 #define SCI_SETCARETPOLICY 2369
356 #define SCI_LINESONSCREEN 2370
357 #define SCI_USEPOPUP 2371
358 #define SCI_SELECTIONISRECTANGLE 2372
359 #define SCI_SETZOOM 2373
360 #define SCI_GETZOOM 2374
361 #define SCI_CREATEDOCUMENT 2375
362 #define SCI_ADDREFDOCUMENT 2376
363 #define SCI_RELEASEDOCUMENT 2377
364 #define SCI_GETMODEVENTMASK 2378
365 #define SCI_GRABFOCUS 2400
366 #define SCI_STARTRECORD 3001
367 #define SCI_STOPRECORD 3002
368 #define SCI_SETLEXER 4001
369 #define SCI_GETLEXER 4002
370 #define SCI_COLOURISE 4003
371 #define SCI_SETPROPERTY 4004
372 #define SCI_SETKEYWORDS 4005
373 #define SC_MOD_INSERTTEXT 0x1
374 #define SC_MOD_DELETETEXT 0x2
375 #define SC_MOD_CHANGESTYLE 0x4
376 #define SC_MOD_CHANGEFOLD 0x8
377 #define SC_PERFORMED_USER 0x10
378 #define SC_PERFORMED_UNDO 0x20
379 #define SC_PERFORMED_REDO 0x40
380 #define SC_LASTSTEPINUNDOREDO 0x100
381 #define SC_MOD_CHANGEMARKER 0x200
382 #define SC_MOD_BEFOREINSERT 0x400
383 #define SC_MOD_BEFOREDELETE 0x800
384 #define SC_MODEVENTMASKALL 0xF77
385 #define SCEN_CHANGE 768
386 #define SCEN_SETFOCUS 512
387 #define SCEN_KILLFOCUS 256
388 #define SCK_DOWN 300
389 #define SCK_UP 301
390 #define SCK_LEFT 302
391 #define SCK_RIGHT 303
392 #define SCK_HOME 304
393 #define SCK_END 305
394 #define SCK_PRIOR 306
395 #define SCK_NEXT 307
396 #define SCK_DELETE 308
397 #define SCK_INSERT 309
398 #define SCK_ESCAPE 7
399 #define SCK_BACK 8
400 #define SCK_TAB 9
401 #define SCK_RETURN 13
402 #define SCK_ADD 310
403 #define SCK_SUBTRACT 311
404 #define SCK_DIVIDE 312
405 #define SCMOD_SHIFT 1
406 #define SCMOD_CTRL 2
407 #define SCMOD_ALT 4
408 #define SCN_STYLENEEDED 2000
409 #define SCN_CHARADDED 2001
410 #define SCN_SAVEPOINTREACHED 2002
411 #define SCN_SAVEPOINTLEFT 2003
412 #define SCN_MODIFYATTEMPTRO 2004
413 #define SCN_KEY 2005
414 #define SCN_DOUBLECLICK 2006
415 #define SCN_UPDATEUI 2007
416 #define SCN_CHECKBRACE 2007
417 #define SCN_MODIFIED 2008
418 #define SCN_MACRORECORD 2009
419 #define SCN_MARGINCLICK 2010
420 #define SCN_NEEDSHOWN 2011
421 #define SCN_POSCHANGED 2012
422 //--Autogenerated -- end of section automatically generated from Scintilla.iface
423
424 // Optional module for macro recording
425 #ifdef MACRO_SUPPORT
426 typedef void (tMacroRecorder)(unsigned int iMessage, unsigned long wParam,
427 long lParam, void *userData);
428 #endif
429
430 // These structures are defined to be exactly the same shape as the Win32
431 // CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs.
432 // So older code that treats Scintilla as a RichEdit will work.
433
434 struct CharacterRange {
435 long cpMin;
436 long cpMax;
437 };
438
439 struct TextRange {
440 CharacterRange chrg;
441 char *lpstrText;
442 };
443
444 struct TextToFind {
445 CharacterRange chrg;
446 char *lpstrText;
447 CharacterRange chrgText;
448 };
449
450 #ifdef PLATFORM_H
451
452 // This structure is used in printing and requires some of the graphics types
453 // from Platform.h. Not needed by most client code.
454
455 struct RangeToFormat {
456 SurfaceID hdc;
457 SurfaceID hdcTarget;
458 PRectangle rc;
459 PRectangle rcPage;
460 CharacterRange chrg;
461 };
462
463 #endif
464
465 struct NotifyHeader {
466 // hwndFrom is really an environment specifc window handle or pointer
467 // but most clients of Scintilla.h do not have this type visible.
468 //WindowID hwndFrom;
469 void *hwndFrom;
470 unsigned int idFrom;
471 unsigned int code;
472 };
473
474 struct SCNotification {
475 NotifyHeader nmhdr;
476 int position; // SCN_STYLENEEDED, SCN_MODIFIED
477 int ch; // SCN_CHARADDED, SCN_KEY
478 int modifiers; // SCN_KEY
479 int modificationType; // SCN_MODIFIED
480 const char *text; // SCN_MODIFIED
481 int length; // SCN_MODIFIED
482 int linesAdded; // SCN_MODIFIED
483 #ifdef MACRO_SUPPORT
484 int message; // SCN_MACRORECORD
485 int wParam; // SCN_MACRORECORD
486 int lParam; // SCN_MACRORECORD
487 #endif
488 int line; // SCN_MODIFIED
489 int foldLevelNow; // SCN_MODIFIED
490 int foldLevelPrev; // SCN_MODIFIED
491 int margin; // SCN_MARGINCLICK
492 };
493
494 #define SC_MASK_FOLDERS ((1<<SC_MARKNUM_FOLDER) | (1<<SC_MARKNUM_FOLDEROPEN))
495
496 // Deprecation section listing all API features that are deprecated and will
497 // will be removed completely in a future version.
498 // To enable these features define INCLUDE_DEPRECATED_FEATURES
499
500 #ifdef INCLUDE_DEPRECATED_FEATURES
501
502 // Deprecated in 1.27
503 #define SC_UNDOCOLLECT_NONE 0
504 #define SC_UNDOCOLLECT_AUTOSTART 1
505
506 #endif
507
508 #endif