1 // SciTE - Scintilla based Text Editor
2 /** @file ScintillaCall.h
3  ** Interface to calling a Scintilla instance.
4  **/
5 // Copyright 1998-2019 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
7 
8 /* Most of this file is automatically generated from the Scintilla.iface interface definition
9  * file which contains any comments about the definitions. APIFacer.py does the generation. */
10 
11 #ifndef SCINTILLACALL_H
12 #define SCINTILLACALL_H
13 
14 namespace Scintilla::API {
15 
16 enum class Message;	// Declare in case ScintillaMessages.h not included
17 
18 using FunctionDirect = intptr_t(*)(intptr_t ptr, unsigned int iMessage, uintptr_t wParam, intptr_t lParam);
19 
20 class ScintillaCall {
21 	FunctionDirect fn;
22 	intptr_t ptr;
23 	intptr_t CallPointer(Message msg, uintptr_t wParam, void *s);
24 	intptr_t CallString(Message msg, uintptr_t wParam, const char *s);
25 	std::string CallReturnString(Message msg, uintptr_t wParam);
26 public:
27 	API::Status statusLastCall;
28 	ScintillaCall() noexcept;
29 	// All standard methods are fine
30 
31 	void SetFnPtr(FunctionDirect fn_, intptr_t ptr_) noexcept;
32 	bool IsValid() const noexcept;
33 	void SetCallStatus();
34 	intptr_t Call(Message msg, uintptr_t wParam=0, intptr_t lParam=0);
35 
36 	// Common APIs made more structured and type-safe
37 	Position LineStart(Line line);
38 	Position LineEnd(Line line);
39 	Range SelectionRange();
40 	Range TargetRange();
41 	void SetTarget(Range range);
42 	void ColouriseAll();
43 	char CharacterAt(Position position);
44 	int UnsignedStyleAt(Position position);
45 	std::string StringOfRange(Range range);
46 	Position ReplaceTarget(std::string_view text);
47 	Position ReplaceTargetRE(std::string_view text);
48 	Position SearchInTarget(std::string_view text);
49 	Range RangeSearchInTarget(std::string_view text);
50 
51 	// Generated APIs
52 //++Autogenerated -- start of section automatically generated from Scintilla.iface
53 //**\(\*\n\)
54 	void AddText(Position length, const char *text);
55 	void AddStyledText(Position length, const char *c);
56 	void InsertText(Position pos, const char *text);
57 	void ChangeInsertion(Position length, const char *text);
58 	void ClearAll();
59 	void DeleteRange(Position start, Position lengthDelete);
60 	void ClearDocumentStyle();
61 	Position Length();
62 	int CharAt(Position pos);
63 	Position CurrentPos();
64 	Position Anchor();
65 	int StyleAt(Position pos);
66 	void Redo();
67 	void SetUndoCollection(bool collectUndo);
68 	void SelectAll();
69 	void SetSavePoint();
70 	Position GetStyledText(void *tr);
71 	bool CanRedo();
72 	Line MarkerLineFromHandle(int markerHandle);
73 	void MarkerDeleteHandle(int markerHandle);
74 	int MarkerHandleFromLine(Line line, int which);
75 	int MarkerNumberFromLine(Line line, int which);
76 	bool UndoCollection();
77 	API::WhiteSpace ViewWS();
78 	void SetViewWS(API::WhiteSpace viewWS);
79 	API::TabDrawMode TabDrawMode();
80 	void SetTabDrawMode(API::TabDrawMode tabDrawMode);
81 	Position PositionFromPoint(int x, int y);
82 	Position PositionFromPointClose(int x, int y);
83 	void GotoLine(Line line);
84 	void GotoPos(Position caret);
85 	void SetAnchor(Position anchor);
86 	Position GetCurLine(Position length, char *text);
87 	std::string GetCurLine(Position length);
88 	Position EndStyled();
89 	void ConvertEOLs(API::EndOfLine eolMode);
90 	API::EndOfLine EOLMode();
91 	void SetEOLMode(API::EndOfLine eolMode);
92 	void StartStyling(Position start, int unused);
93 	void SetStyling(Position length, int style);
94 	bool BufferedDraw();
95 	void SetBufferedDraw(bool buffered);
96 	void SetTabWidth(int tabWidth);
97 	int TabWidth();
98 	void SetTabMinimumWidth(int pixels);
99 	int TabMinimumWidth();
100 	void ClearTabStops(Line line);
101 	void AddTabStop(Line line, int x);
102 	int GetNextTabStop(Line line, int x);
103 	void SetCodePage(int codePage);
104 	API::IMEInteraction IMEInteraction();
105 	void SetIMEInteraction(API::IMEInteraction imeInteraction);
106 	void MarkerDefine(int markerNumber, API::MarkerSymbol markerSymbol);
107 	void MarkerSetFore(int markerNumber, Colour fore);
108 	void MarkerSetBack(int markerNumber, Colour back);
109 	void MarkerSetBackSelected(int markerNumber, Colour back);
110 	void MarkerEnableHighlight(bool enabled);
111 	int MarkerAdd(Line line, int markerNumber);
112 	void MarkerDelete(Line line, int markerNumber);
113 	void MarkerDeleteAll(int markerNumber);
114 	int MarkerGet(Line line);
115 	Line MarkerNext(Line lineStart, int markerMask);
116 	Line MarkerPrevious(Line lineStart, int markerMask);
117 	void MarkerDefinePixmap(int markerNumber, const char *pixmap);
118 	void MarkerAddSet(Line line, int markerSet);
119 	void MarkerSetAlpha(int markerNumber, API::Alpha alpha);
120 	void SetMarginTypeN(int margin, API::MarginType marginType);
121 	API::MarginType MarginTypeN(int margin);
122 	void SetMarginWidthN(int margin, int pixelWidth);
123 	int MarginWidthN(int margin);
124 	void SetMarginMaskN(int margin, int mask);
125 	int MarginMaskN(int margin);
126 	void SetMarginSensitiveN(int margin, bool sensitive);
127 	bool MarginSensitiveN(int margin);
128 	void SetMarginCursorN(int margin, API::CursorShape cursor);
129 	API::CursorShape MarginCursorN(int margin);
130 	void SetMarginBackN(int margin, Colour back);
131 	Colour MarginBackN(int margin);
132 	void SetMargins(int margins);
133 	int Margins();
134 	void StyleClearAll();
135 	void StyleSetFore(int style, Colour fore);
136 	void StyleSetBack(int style, Colour back);
137 	void StyleSetBold(int style, bool bold);
138 	void StyleSetItalic(int style, bool italic);
139 	void StyleSetSize(int style, int sizePoints);
140 	void StyleSetFont(int style, const char *fontName);
141 	void StyleSetEOLFilled(int style, bool eolFilled);
142 	void StyleResetDefault();
143 	void StyleSetUnderline(int style, bool underline);
144 	Colour StyleGetFore(int style);
145 	Colour StyleGetBack(int style);
146 	bool StyleGetBold(int style);
147 	bool StyleGetItalic(int style);
148 	int StyleGetSize(int style);
149 	int StyleGetFont(int style, char *fontName);
150 	std::string StyleGetFont(int style);
151 	bool StyleGetEOLFilled(int style);
152 	bool StyleGetUnderline(int style);
153 	API::CaseVisible StyleGetCase(int style);
154 	API::CharacterSet StyleGetCharacterSet(int style);
155 	bool StyleGetVisible(int style);
156 	bool StyleGetChangeable(int style);
157 	bool StyleGetHotSpot(int style);
158 	void StyleSetCase(int style, API::CaseVisible caseVisible);
159 	void StyleSetSizeFractional(int style, int sizeHundredthPoints);
160 	int StyleGetSizeFractional(int style);
161 	void StyleSetWeight(int style, API::FontWeight weight);
162 	API::FontWeight StyleGetWeight(int style);
163 	void StyleSetCharacterSet(int style, API::CharacterSet characterSet);
164 	void StyleSetHotSpot(int style, bool hotspot);
165 	void SetSelFore(bool useSetting, Colour fore);
166 	void SetSelBack(bool useSetting, Colour back);
167 	API::Alpha SelAlpha();
168 	void SetSelAlpha(API::Alpha alpha);
169 	bool SelEOLFilled();
170 	void SetSelEOLFilled(bool filled);
171 	void SetCaretFore(Colour fore);
172 	void AssignCmdKey(int keyDefinition, int sciCommand);
173 	void ClearCmdKey(int keyDefinition);
174 	void ClearAllCmdKeys();
175 	void SetStylingEx(Position length, const char *styles);
176 	void StyleSetVisible(int style, bool visible);
177 	int CaretPeriod();
178 	void SetCaretPeriod(int periodMilliseconds);
179 	void SetWordChars(const char *characters);
180 	int WordChars(char *characters);
181 	std::string WordChars();
182 	void SetCharacterCategoryOptimization(int countCharacters);
183 	int CharacterCategoryOptimization();
184 	void BeginUndoAction();
185 	void EndUndoAction();
186 	void IndicSetStyle(int indicator, API::IndicatorStyle indicatorStyle);
187 	API::IndicatorStyle IndicGetStyle(int indicator);
188 	void IndicSetFore(int indicator, Colour fore);
189 	Colour IndicGetFore(int indicator);
190 	void IndicSetUnder(int indicator, bool under);
191 	bool IndicGetUnder(int indicator);
192 	void IndicSetHoverStyle(int indicator, API::IndicatorStyle indicatorStyle);
193 	API::IndicatorStyle IndicGetHoverStyle(int indicator);
194 	void IndicSetHoverFore(int indicator, Colour fore);
195 	Colour IndicGetHoverFore(int indicator);
196 	void IndicSetFlags(int indicator, API::IndicFlag flags);
197 	API::IndicFlag IndicGetFlags(int indicator);
198 	void SetWhitespaceFore(bool useSetting, Colour fore);
199 	void SetWhitespaceBack(bool useSetting, Colour back);
200 	void SetWhitespaceSize(int size);
201 	int WhitespaceSize();
202 	void SetLineState(Line line, int state);
203 	int LineState(Line line);
204 	int MaxLineState();
205 	bool CaretLineVisible();
206 	void SetCaretLineVisible(bool show);
207 	Colour CaretLineBack();
208 	void SetCaretLineBack(Colour back);
209 	int CaretLineFrame();
210 	void SetCaretLineFrame(int width);
211 	void StyleSetChangeable(int style, bool changeable);
212 	void AutoCShow(Position lengthEntered, const char *itemList);
213 	void AutoCCancel();
214 	bool AutoCActive();
215 	Position AutoCPosStart();
216 	void AutoCComplete();
217 	void AutoCStops(const char *characterSet);
218 	void AutoCSetSeparator(int separatorCharacter);
219 	int AutoCGetSeparator();
220 	void AutoCSelect(const char *select);
221 	void AutoCSetCancelAtStart(bool cancel);
222 	bool AutoCGetCancelAtStart();
223 	void AutoCSetFillUps(const char *characterSet);
224 	void AutoCSetChooseSingle(bool chooseSingle);
225 	bool AutoCGetChooseSingle();
226 	void AutoCSetIgnoreCase(bool ignoreCase);
227 	bool AutoCGetIgnoreCase();
228 	void UserListShow(int listType, const char *itemList);
229 	void AutoCSetAutoHide(bool autoHide);
230 	bool AutoCGetAutoHide();
231 	void AutoCSetDropRestOfWord(bool dropRestOfWord);
232 	bool AutoCGetDropRestOfWord();
233 	void RegisterImage(int type, const char *xpmData);
234 	void ClearRegisteredImages();
235 	int AutoCGetTypeSeparator();
236 	void AutoCSetTypeSeparator(int separatorCharacter);
237 	void AutoCSetMaxWidth(int characterCount);
238 	int AutoCGetMaxWidth();
239 	void AutoCSetMaxHeight(int rowCount);
240 	int AutoCGetMaxHeight();
241 	void SetIndent(int indentSize);
242 	int Indent();
243 	void SetUseTabs(bool useTabs);
244 	bool UseTabs();
245 	void SetLineIndentation(Line line, int indentation);
246 	int LineIndentation(Line line);
247 	Position LineIndentPosition(Line line);
248 	Position Column(Position pos);
249 	Position CountCharacters(Position start, Position end);
250 	Position CountCodeUnits(Position start, Position end);
251 	void SetHScrollBar(bool visible);
252 	bool HScrollBar();
253 	void SetIndentationGuides(API::IndentView indentView);
254 	API::IndentView IndentationGuides();
255 	void SetHighlightGuide(Position column);
256 	Position HighlightGuide();
257 	Position LineEndPosition(Line line);
258 	int CodePage();
259 	Colour CaretFore();
260 	bool ReadOnly();
261 	void SetCurrentPos(Position caret);
262 	void SetSelectionStart(Position anchor);
263 	Position SelectionStart();
264 	void SetSelectionEnd(Position caret);
265 	Position SelectionEnd();
266 	void SetEmptySelection(Position caret);
267 	void SetPrintMagnification(int magnification);
268 	int PrintMagnification();
269 	void SetPrintColourMode(API::PrintOption mode);
270 	API::PrintOption PrintColourMode();
271 	Position FindText(API::FindOption searchFlags, void *ft);
272 	Position FormatRange(bool draw, void *fr);
273 	Line FirstVisibleLine();
274 	Position GetLine(Line line, char *text);
275 	std::string GetLine(Line line);
276 	Line LineCount();
277 	void SetMarginLeft(int pixelWidth);
278 	int MarginLeft();
279 	void SetMarginRight(int pixelWidth);
280 	int MarginRight();
281 	bool Modify();
282 	void SetSel(Position anchor, Position caret);
283 	Position GetSelText(char *text);
284 	std::string GetSelText();
285 	Position GetTextRange(void *tr);
286 	void HideSelection(bool hide);
287 	int PointXFromPosition(Position pos);
288 	int PointYFromPosition(Position pos);
289 	Line LineFromPosition(Position pos);
290 	Position PositionFromLine(Line line);
291 	void LineScroll(Position columns, Line lines);
292 	void ScrollCaret();
293 	void ScrollRange(Position secondary, Position primary);
294 	void ReplaceSel(const char *text);
295 	void SetReadOnly(bool readOnly);
296 	void Null();
297 	bool CanPaste();
298 	bool CanUndo();
299 	void EmptyUndoBuffer();
300 	void Undo();
301 	void Cut();
302 	void Copy();
303 	void Paste();
304 	void Clear();
305 	void SetText(const char *text);
306 	Position GetText(Position length, char *text);
307 	std::string GetText(Position length);
308 	Position TextLength();
309 	void *DirectFunction();
310 	void *DirectPointer();
311 	void SetOvertype(bool overType);
312 	bool Overtype();
313 	void SetCaretWidth(int pixelWidth);
314 	int CaretWidth();
315 	void SetTargetStart(Position start);
316 	Position TargetStart();
317 	void SetTargetStartVirtualSpace(Position space);
318 	Position TargetStartVirtualSpace();
319 	void SetTargetEnd(Position end);
320 	Position TargetEnd();
321 	void SetTargetEndVirtualSpace(Position space);
322 	Position TargetEndVirtualSpace();
323 	void SetTargetRange(Position start, Position end);
324 	Position TargetText(char *text);
325 	std::string TargetText();
326 	void TargetFromSelection();
327 	void TargetWholeDocument();
328 	Position ReplaceTarget(Position length, const char *text);
329 	Position ReplaceTargetRE(Position length, const char *text);
330 	Position SearchInTarget(Position length, const char *text);
331 	void SetSearchFlags(API::FindOption searchFlags);
332 	API::FindOption SearchFlags();
333 	void CallTipShow(Position pos, const char *definition);
334 	void CallTipCancel();
335 	bool CallTipActive();
336 	Position CallTipPosStart();
337 	void CallTipSetPosStart(Position posStart);
338 	void CallTipSetHlt(Position highlightStart, Position highlightEnd);
339 	void CallTipSetBack(Colour back);
340 	void CallTipSetFore(Colour fore);
341 	void CallTipSetForeHlt(Colour fore);
342 	void CallTipUseStyle(int tabSize);
343 	void CallTipSetPosition(bool above);
344 	Line VisibleFromDocLine(Line docLine);
345 	Line DocLineFromVisible(Line displayLine);
346 	Line WrapCount(Line docLine);
347 	void SetFoldLevel(Line line, API::FoldLevel level);
348 	API::FoldLevel FoldLevel(Line line);
349 	Line LastChild(Line line, API::FoldLevel level);
350 	Line FoldParent(Line line);
351 	void ShowLines(Line lineStart, Line lineEnd);
352 	void HideLines(Line lineStart, Line lineEnd);
353 	bool LineVisible(Line line);
354 	bool AllLinesVisible();
355 	void SetFoldExpanded(Line line, bool expanded);
356 	bool FoldExpanded(Line line);
357 	void ToggleFold(Line line);
358 	void ToggleFoldShowText(Line line, const char *text);
359 	void FoldDisplayTextSetStyle(API::FoldDisplayTextStyle style);
360 	API::FoldDisplayTextStyle FoldDisplayTextGetStyle();
361 	void SetDefaultFoldDisplayText(const char *text);
362 	int GetDefaultFoldDisplayText(char *text);
363 	std::string GetDefaultFoldDisplayText();
364 	void FoldLine(Line line, API::FoldAction action);
365 	void FoldChildren(Line line, API::FoldAction action);
366 	void ExpandChildren(Line line, API::FoldLevel level);
367 	void FoldAll(API::FoldAction action);
368 	void EnsureVisible(Line line);
369 	void SetAutomaticFold(API::AutomaticFold automaticFold);
370 	API::AutomaticFold AutomaticFold();
371 	void SetFoldFlags(API::FoldFlag flags);
372 	void EnsureVisibleEnforcePolicy(Line line);
373 	void SetTabIndents(bool tabIndents);
374 	bool TabIndents();
375 	void SetBackSpaceUnIndents(bool bsUnIndents);
376 	bool BackSpaceUnIndents();
377 	void SetMouseDwellTime(int periodMilliseconds);
378 	int MouseDwellTime();
379 	Position WordStartPosition(Position pos, bool onlyWordCharacters);
380 	Position WordEndPosition(Position pos, bool onlyWordCharacters);
381 	bool IsRangeWord(Position start, Position end);
382 	void SetIdleStyling(API::IdleStyling idleStyling);
383 	API::IdleStyling IdleStyling();
384 	void SetWrapMode(API::Wrap wrapMode);
385 	API::Wrap WrapMode();
386 	void SetWrapVisualFlags(API::WrapVisualFlag wrapVisualFlags);
387 	API::WrapVisualFlag WrapVisualFlags();
388 	void SetWrapVisualFlagsLocation(API::WrapVisualLocation wrapVisualFlagsLocation);
389 	API::WrapVisualLocation WrapVisualFlagsLocation();
390 	void SetWrapStartIndent(int indent);
391 	int WrapStartIndent();
392 	void SetWrapIndentMode(API::WrapIndentMode wrapIndentMode);
393 	API::WrapIndentMode WrapIndentMode();
394 	void SetLayoutCache(API::LineCache cacheMode);
395 	API::LineCache LayoutCache();
396 	void SetScrollWidth(int pixelWidth);
397 	int ScrollWidth();
398 	void SetScrollWidthTracking(bool tracking);
399 	bool ScrollWidthTracking();
400 	int TextWidth(int style, const char *text);
401 	void SetEndAtLastLine(bool endAtLastLine);
402 	bool EndAtLastLine();
403 	int TextHeight(Line line);
404 	void SetVScrollBar(bool visible);
405 	bool VScrollBar();
406 	void AppendText(Position length, const char *text);
407 	API::PhasesDraw PhasesDraw();
408 	void SetPhasesDraw(API::PhasesDraw phases);
409 	void SetFontQuality(API::FontQuality fontQuality);
410 	API::FontQuality FontQuality();
411 	void SetFirstVisibleLine(Line displayLine);
412 	void SetMultiPaste(API::MultiPaste multiPaste);
413 	API::MultiPaste MultiPaste();
414 	int Tag(int tagNumber, char *tagValue);
415 	std::string Tag(int tagNumber);
416 	void LinesJoin();
417 	void LinesSplit(int pixelWidth);
418 	void SetFoldMarginColour(bool useSetting, Colour back);
419 	void SetFoldMarginHiColour(bool useSetting, Colour fore);
420 	void SetAccessibility(API::Accessibility accessibility);
421 	API::Accessibility Accessibility();
422 	void LineDown();
423 	void LineDownExtend();
424 	void LineUp();
425 	void LineUpExtend();
426 	void CharLeft();
427 	void CharLeftExtend();
428 	void CharRight();
429 	void CharRightExtend();
430 	void WordLeft();
431 	void WordLeftExtend();
432 	void WordRight();
433 	void WordRightExtend();
434 	void Home();
435 	void HomeExtend();
436 	void LineEnd();
437 	void LineEndExtend();
438 	void DocumentStart();
439 	void DocumentStartExtend();
440 	void DocumentEnd();
441 	void DocumentEndExtend();
442 	void PageUp();
443 	void PageUpExtend();
444 	void PageDown();
445 	void PageDownExtend();
446 	void EditToggleOvertype();
447 	void Cancel();
448 	void DeleteBack();
449 	void Tab();
450 	void BackTab();
451 	void NewLine();
452 	void FormFeed();
453 	void VCHome();
454 	void VCHomeExtend();
455 	void ZoomIn();
456 	void ZoomOut();
457 	void DelWordLeft();
458 	void DelWordRight();
459 	void DelWordRightEnd();
460 	void LineCut();
461 	void LineDelete();
462 	void LineTranspose();
463 	void LineReverse();
464 	void LineDuplicate();
465 	void LowerCase();
466 	void UpperCase();
467 	void LineScrollDown();
468 	void LineScrollUp();
469 	void DeleteBackNotLine();
470 	void HomeDisplay();
471 	void HomeDisplayExtend();
472 	void LineEndDisplay();
473 	void LineEndDisplayExtend();
474 	void HomeWrap();
475 	void HomeWrapExtend();
476 	void LineEndWrap();
477 	void LineEndWrapExtend();
478 	void VCHomeWrap();
479 	void VCHomeWrapExtend();
480 	void LineCopy();
481 	void MoveCaretInsideView();
482 	Position LineLength(Line line);
483 	void BraceHighlight(Position posA, Position posB);
484 	void BraceHighlightIndicator(bool useSetting, int indicator);
485 	void BraceBadLight(Position pos);
486 	void BraceBadLightIndicator(bool useSetting, int indicator);
487 	Position BraceMatch(Position pos, int maxReStyle);
488 	Position BraceMatchNext(Position pos, Position startPos);
489 	bool ViewEOL();
490 	void SetViewEOL(bool visible);
491 	void *DocPointer();
492 	void SetDocPointer(void *doc);
493 	void SetModEventMask(API::ModificationFlags eventMask);
494 	Position EdgeColumn();
495 	void SetEdgeColumn(Position column);
496 	API::EdgeVisualStyle EdgeMode();
497 	void SetEdgeMode(API::EdgeVisualStyle edgeMode);
498 	Colour EdgeColour();
499 	void SetEdgeColour(Colour edgeColour);
500 	void MultiEdgeAddLine(Position column, Colour edgeColour);
501 	void MultiEdgeClearAll();
502 	Position MultiEdgeColumn(int which);
503 	void SearchAnchor();
504 	Position SearchNext(API::FindOption searchFlags, const char *text);
505 	Position SearchPrev(API::FindOption searchFlags, const char *text);
506 	Line LinesOnScreen();
507 	void UsePopUp(API::PopUp popUpMode);
508 	bool SelectionIsRectangle();
509 	void SetZoom(int zoomInPoints);
510 	int Zoom();
511 	void *CreateDocument(Position bytes, API::DocumentOption documentOptions);
512 	void AddRefDocument(void *doc);
513 	void ReleaseDocument(void *doc);
514 	API::DocumentOption DocumentOptions();
515 	API::ModificationFlags ModEventMask();
516 	void SetCommandEvents(bool commandEvents);
517 	bool CommandEvents();
518 	void SetFocus(bool focus);
519 	bool Focus();
520 	void SetStatus(API::Status status);
521 	API::Status Status();
522 	void SetMouseDownCaptures(bool captures);
523 	bool MouseDownCaptures();
524 	void SetMouseWheelCaptures(bool captures);
525 	bool MouseWheelCaptures();
526 	void SetCursor(API::CursorShape cursorType);
527 	API::CursorShape Cursor();
528 	void SetControlCharSymbol(int symbol);
529 	int ControlCharSymbol();
530 	void WordPartLeft();
531 	void WordPartLeftExtend();
532 	void WordPartRight();
533 	void WordPartRightExtend();
534 	void SetVisiblePolicy(API::VisiblePolicy visiblePolicy, int visibleSlop);
535 	void DelLineLeft();
536 	void DelLineRight();
537 	void SetXOffset(int xOffset);
538 	int XOffset();
539 	void ChooseCaretX();
540 	void GrabFocus();
541 	void SetXCaretPolicy(API::CaretPolicy caretPolicy, int caretSlop);
542 	void SetYCaretPolicy(API::CaretPolicy caretPolicy, int caretSlop);
543 	void SetPrintWrapMode(API::Wrap wrapMode);
544 	API::Wrap PrintWrapMode();
545 	void SetHotspotActiveFore(bool useSetting, Colour fore);
546 	Colour HotspotActiveFore();
547 	void SetHotspotActiveBack(bool useSetting, Colour back);
548 	Colour HotspotActiveBack();
549 	void SetHotspotActiveUnderline(bool underline);
550 	bool HotspotActiveUnderline();
551 	void SetHotspotSingleLine(bool singleLine);
552 	bool HotspotSingleLine();
553 	void ParaDown();
554 	void ParaDownExtend();
555 	void ParaUp();
556 	void ParaUpExtend();
557 	Position PositionBefore(Position pos);
558 	Position PositionAfter(Position pos);
559 	Position PositionRelative(Position pos, Position relative);
560 	Position PositionRelativeCodeUnits(Position pos, Position relative);
561 	void CopyRange(Position start, Position end);
562 	void CopyText(Position length, const char *text);
563 	void SetSelectionMode(API::SelectionMode selectionMode);
564 	API::SelectionMode SelectionMode();
565 	bool MoveExtendsSelection();
566 	Position GetLineSelStartPosition(Line line);
567 	Position GetLineSelEndPosition(Line line);
568 	void LineDownRectExtend();
569 	void LineUpRectExtend();
570 	void CharLeftRectExtend();
571 	void CharRightRectExtend();
572 	void HomeRectExtend();
573 	void VCHomeRectExtend();
574 	void LineEndRectExtend();
575 	void PageUpRectExtend();
576 	void PageDownRectExtend();
577 	void StutteredPageUp();
578 	void StutteredPageUpExtend();
579 	void StutteredPageDown();
580 	void StutteredPageDownExtend();
581 	void WordLeftEnd();
582 	void WordLeftEndExtend();
583 	void WordRightEnd();
584 	void WordRightEndExtend();
585 	void SetWhitespaceChars(const char *characters);
586 	int WhitespaceChars(char *characters);
587 	std::string WhitespaceChars();
588 	void SetPunctuationChars(const char *characters);
589 	int PunctuationChars(char *characters);
590 	std::string PunctuationChars();
591 	void SetCharsDefault();
592 	int AutoCGetCurrent();
593 	int AutoCGetCurrentText(char *text);
594 	std::string AutoCGetCurrentText();
595 	void AutoCSetCaseInsensitiveBehaviour(API::CaseInsensitiveBehaviour behaviour);
596 	API::CaseInsensitiveBehaviour AutoCGetCaseInsensitiveBehaviour();
597 	void AutoCSetMulti(API::MultiAutoComplete multi);
598 	API::MultiAutoComplete AutoCGetMulti();
599 	void AutoCSetOrder(API::Ordering order);
600 	API::Ordering AutoCGetOrder();
601 	void Allocate(Position bytes);
602 	Position TargetAsUTF8(char *s);
603 	std::string TargetAsUTF8();
604 	void SetLengthForEncode(Position bytes);
605 	Position EncodedFromUTF8(const char *utf8, char *encoded);
606 	std::string EncodedFromUTF8(const char *utf8);
607 	Position FindColumn(Line line, Position column);
608 	API::CaretSticky CaretSticky();
609 	void SetCaretSticky(API::CaretSticky useCaretStickyBehaviour);
610 	void ToggleCaretSticky();
611 	void SetPasteConvertEndings(bool convert);
612 	bool PasteConvertEndings();
613 	void SelectionDuplicate();
614 	void SetCaretLineBackAlpha(API::Alpha alpha);
615 	API::Alpha CaretLineBackAlpha();
616 	void SetCaretStyle(API::CaretStyle caretStyle);
617 	API::CaretStyle CaretStyle();
618 	void SetIndicatorCurrent(int indicator);
619 	int IndicatorCurrent();
620 	void SetIndicatorValue(int value);
621 	int IndicatorValue();
622 	void IndicatorFillRange(Position start, Position lengthFill);
623 	void IndicatorClearRange(Position start, Position lengthClear);
624 	int IndicatorAllOnFor(Position pos);
625 	int IndicatorValueAt(int indicator, Position pos);
626 	Position IndicatorStart(int indicator, Position pos);
627 	Position IndicatorEnd(int indicator, Position pos);
628 	void SetPositionCache(int size);
629 	int PositionCache();
630 	void CopyAllowLine();
631 	void *CharacterPointer();
632 	void *RangePointer(Position start, Position lengthRange);
633 	Position GapPosition();
634 	void IndicSetAlpha(int indicator, API::Alpha alpha);
635 	API::Alpha IndicGetAlpha(int indicator);
636 	void IndicSetOutlineAlpha(int indicator, API::Alpha alpha);
637 	API::Alpha IndicGetOutlineAlpha(int indicator);
638 	void SetExtraAscent(int extraAscent);
639 	int ExtraAscent();
640 	void SetExtraDescent(int extraDescent);
641 	int ExtraDescent();
642 	int MarkerSymbolDefined(int markerNumber);
643 	void MarginSetText(Line line, const char *text);
644 	int MarginGetText(Line line, char *text);
645 	std::string MarginGetText(Line line);
646 	void MarginSetStyle(Line line, int style);
647 	int MarginGetStyle(Line line);
648 	void MarginSetStyles(Line line, const char *styles);
649 	int MarginGetStyles(Line line, char *styles);
650 	std::string MarginGetStyles(Line line);
651 	void MarginTextClearAll();
652 	void MarginSetStyleOffset(int style);
653 	int MarginGetStyleOffset();
654 	void SetMarginOptions(API::MarginOption marginOptions);
655 	API::MarginOption MarginOptions();
656 	void AnnotationSetText(Line line, const char *text);
657 	int AnnotationGetText(Line line, char *text);
658 	std::string AnnotationGetText(Line line);
659 	void AnnotationSetStyle(Line line, int style);
660 	int AnnotationGetStyle(Line line);
661 	void AnnotationSetStyles(Line line, const char *styles);
662 	int AnnotationGetStyles(Line line, char *styles);
663 	std::string AnnotationGetStyles(Line line);
664 	int AnnotationGetLines(Line line);
665 	void AnnotationClearAll();
666 	void AnnotationSetVisible(API::AnnotationVisible visible);
667 	API::AnnotationVisible AnnotationGetVisible();
668 	void AnnotationSetStyleOffset(int style);
669 	int AnnotationGetStyleOffset();
670 	void ReleaseAllExtendedStyles();
671 	int AllocateExtendedStyles(int numberStyles);
672 	void AddUndoAction(int token, API::UndoFlags flags);
673 	Position CharPositionFromPoint(int x, int y);
674 	Position CharPositionFromPointClose(int x, int y);
675 	void SetMouseSelectionRectangularSwitch(bool mouseSelectionRectangularSwitch);
676 	bool MouseSelectionRectangularSwitch();
677 	void SetMultipleSelection(bool multipleSelection);
678 	bool MultipleSelection();
679 	void SetAdditionalSelectionTyping(bool additionalSelectionTyping);
680 	bool AdditionalSelectionTyping();
681 	void SetAdditionalCaretsBlink(bool additionalCaretsBlink);
682 	bool AdditionalCaretsBlink();
683 	void SetAdditionalCaretsVisible(bool additionalCaretsVisible);
684 	bool AdditionalCaretsVisible();
685 	int Selections();
686 	bool SelectionEmpty();
687 	void ClearSelections();
688 	void SetSelection(Position caret, Position anchor);
689 	void AddSelection(Position caret, Position anchor);
690 	void DropSelectionN(int selection);
691 	void SetMainSelection(int selection);
692 	int MainSelection();
693 	void SetSelectionNCaret(int selection, Position caret);
694 	Position SelectionNCaret(int selection);
695 	void SetSelectionNAnchor(int selection, Position anchor);
696 	Position SelectionNAnchor(int selection);
697 	void SetSelectionNCaretVirtualSpace(int selection, Position space);
698 	Position SelectionNCaretVirtualSpace(int selection);
699 	void SetSelectionNAnchorVirtualSpace(int selection, Position space);
700 	Position SelectionNAnchorVirtualSpace(int selection);
701 	void SetSelectionNStart(int selection, Position anchor);
702 	Position SelectionNStart(int selection);
703 	Position SelectionNStartVirtualSpace(int selection);
704 	void SetSelectionNEnd(int selection, Position caret);
705 	Position SelectionNEndVirtualSpace(int selection);
706 	Position SelectionNEnd(int selection);
707 	void SetRectangularSelectionCaret(Position caret);
708 	Position RectangularSelectionCaret();
709 	void SetRectangularSelectionAnchor(Position anchor);
710 	Position RectangularSelectionAnchor();
711 	void SetRectangularSelectionCaretVirtualSpace(Position space);
712 	Position RectangularSelectionCaretVirtualSpace();
713 	void SetRectangularSelectionAnchorVirtualSpace(Position space);
714 	Position RectangularSelectionAnchorVirtualSpace();
715 	void SetVirtualSpaceOptions(API::VirtualSpace virtualSpaceOptions);
716 	API::VirtualSpace VirtualSpaceOptions();
717 	void SetRectangularSelectionModifier(int modifier);
718 	int RectangularSelectionModifier();
719 	void SetAdditionalSelFore(Colour fore);
720 	void SetAdditionalSelBack(Colour back);
721 	void SetAdditionalSelAlpha(API::Alpha alpha);
722 	API::Alpha AdditionalSelAlpha();
723 	void SetAdditionalCaretFore(Colour fore);
724 	Colour AdditionalCaretFore();
725 	void RotateSelection();
726 	void SwapMainAnchorCaret();
727 	void MultipleSelectAddNext();
728 	void MultipleSelectAddEach();
729 	int ChangeLexerState(Position start, Position end);
730 	Line ContractedFoldNext(Line lineStart);
731 	void VerticalCentreCaret();
732 	void MoveSelectedLinesUp();
733 	void MoveSelectedLinesDown();
734 	void SetIdentifier(int identifier);
735 	int Identifier();
736 	void RGBAImageSetWidth(int width);
737 	void RGBAImageSetHeight(int height);
738 	void RGBAImageSetScale(int scalePercent);
739 	void MarkerDefineRGBAImage(int markerNumber, const char *pixels);
740 	void RegisterRGBAImage(int type, const char *pixels);
741 	void ScrollToStart();
742 	void ScrollToEnd();
743 	void SetTechnology(API::Technology technology);
744 	API::Technology Technology();
745 	void *CreateLoader(Position bytes, API::DocumentOption documentOptions);
746 	void FindIndicatorShow(Position start, Position end);
747 	void FindIndicatorFlash(Position start, Position end);
748 	void FindIndicatorHide();
749 	void VCHomeDisplay();
750 	void VCHomeDisplayExtend();
751 	bool CaretLineVisibleAlways();
752 	void SetCaretLineVisibleAlways(bool alwaysVisible);
753 	void SetLineEndTypesAllowed(API::LineEndType lineEndBitSet);
754 	API::LineEndType LineEndTypesAllowed();
755 	API::LineEndType LineEndTypesActive();
756 	void SetRepresentation(const char *encodedCharacter, const char *representation);
757 	int Representation(const char *encodedCharacter, char *representation);
758 	std::string Representation(const char *encodedCharacter);
759 	void ClearRepresentation(const char *encodedCharacter);
760 	void EOLAnnotationSetText(Line line, const char *text);
761 	int EOLAnnotationGetText(Line line, char *text);
762 	std::string EOLAnnotationGetText(Line line);
763 	void EOLAnnotationSetStyle(Line line, int style);
764 	int EOLAnnotationGetStyle(Line line);
765 	void EOLAnnotationClearAll();
766 	void EOLAnnotationSetVisible(API::EOLAnnotationVisible visible);
767 	API::EOLAnnotationVisible EOLAnnotationGetVisible();
768 	void EOLAnnotationSetStyleOffset(int style);
769 	int EOLAnnotationGetStyleOffset();
770 	void StartRecord();
771 	void StopRecord();
772 	void SetLexer(int lexer);
773 	int Lexer();
774 	void Colourise(Position start, Position end);
775 	void SetProperty(const char *key, const char *value);
776 	void SetKeyWords(int keyWordSet, const char *keyWords);
777 	void SetLexerLanguage(const char *language);
778 	void LoadLexerLibrary(const char *path);
779 	int Property(const char *key, char *value);
780 	std::string Property(const char *key);
781 	int PropertyExpanded(const char *key, char *value);
782 	std::string PropertyExpanded(const char *key);
783 	int PropertyInt(const char *key, int defaultValue);
784 	int LexerLanguage(char *language);
785 	std::string LexerLanguage();
786 	void *PrivateLexerCall(int operation, void *pointer);
787 	int PropertyNames(char *names);
788 	std::string PropertyNames();
789 	API::TypeProperty PropertyType(const char *name);
790 	int DescribeProperty(const char *name, char *description);
791 	std::string DescribeProperty(const char *name);
792 	int DescribeKeyWordSets(char *descriptions);
793 	std::string DescribeKeyWordSets();
794 	int LineEndTypesSupported();
795 	int AllocateSubStyles(int styleBase, int numberStyles);
796 	int SubStylesStart(int styleBase);
797 	int SubStylesLength(int styleBase);
798 	int StyleFromSubStyle(int subStyle);
799 	int PrimaryStyleFromStyle(int style);
800 	void FreeSubStyles();
801 	void SetIdentifiers(int style, const char *identifiers);
802 	int DistanceToSecondaryStyles();
803 	int SubStyleBases(char *styles);
804 	std::string SubStyleBases();
805 	int NamedStyles();
806 	int NameOfStyle(int style, char *name);
807 	std::string NameOfStyle(int style);
808 	int TagsOfStyle(int style, char *tags);
809 	std::string TagsOfStyle(int style);
810 	int DescriptionOfStyle(int style, char *description);
811 	std::string DescriptionOfStyle(int style);
812 	void SetILexer(void *ilexer);
813 	API::Bidirectional Bidirectional();
814 	void SetBidirectional(API::Bidirectional bidirectional);
815 	API::LineCharacterIndexType LineCharacterIndex();
816 	void AllocateLineCharacterIndex(API::LineCharacterIndexType lineCharacterIndex);
817 	void ReleaseLineCharacterIndex(API::LineCharacterIndexType lineCharacterIndex);
818 	Line LineFromIndexPosition(Position pos, API::LineCharacterIndexType lineCharacterIndex);
819 	Position IndexPositionFromLine(Line line, API::LineCharacterIndexType lineCharacterIndex);
820 
821 //--Autogenerated -- end of section automatically generated from Scintilla.iface
822 
823 };
824 
825 }
826 
827 #endif
828