play around with Scintilla and Lexilla

This commit is contained in:
2024-07-02 23:47:26 +08:00
parent d7c71f41b2
commit 727a2ec214
992 changed files with 281111 additions and 195 deletions

View File

@ -0,0 +1,85 @@
// Scintilla source code edit control
/** @file ILexer.h
** Interface between Scintilla and lexers.
**/
// Copyright 1998-2010 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#ifndef ILEXER_H
#define ILEXER_H
#include "Sci_Position.h"
namespace Scintilla {
enum { dvRelease4=2 };
class IDocument {
public:
virtual int SCI_METHOD Version() const = 0;
virtual void SCI_METHOD SetErrorStatus(int status) = 0;
virtual Sci_Position SCI_METHOD Length() const = 0;
virtual void SCI_METHOD GetCharRange(char *buffer, Sci_Position position, Sci_Position lengthRetrieve) const = 0;
virtual char SCI_METHOD StyleAt(Sci_Position position) const = 0;
virtual Sci_Position SCI_METHOD LineFromPosition(Sci_Position position) const = 0;
virtual Sci_Position SCI_METHOD LineStart(Sci_Position line) const = 0;
virtual int SCI_METHOD GetLevel(Sci_Position line) const = 0;
virtual int SCI_METHOD SetLevel(Sci_Position line, int level) = 0;
virtual int SCI_METHOD GetLineState(Sci_Position line) const = 0;
virtual int SCI_METHOD SetLineState(Sci_Position line, int state) = 0;
virtual void SCI_METHOD StartStyling(Sci_Position position) = 0;
virtual bool SCI_METHOD SetStyleFor(Sci_Position length, char style) = 0;
virtual bool SCI_METHOD SetStyles(Sci_Position length, const char *styles) = 0;
virtual void SCI_METHOD DecorationSetCurrentIndicator(int indicator) = 0;
virtual void SCI_METHOD DecorationFillRange(Sci_Position position, int value, Sci_Position fillLength) = 0;
virtual void SCI_METHOD ChangeLexerState(Sci_Position start, Sci_Position end) = 0;
virtual int SCI_METHOD CodePage() const = 0;
virtual bool SCI_METHOD IsDBCSLeadByte(char ch) const = 0;
virtual const char * SCI_METHOD BufferPointer() = 0;
virtual int SCI_METHOD GetLineIndentation(Sci_Position line) = 0;
virtual Sci_Position SCI_METHOD LineEnd(Sci_Position line) const = 0;
virtual Sci_Position SCI_METHOD GetRelativePosition(Sci_Position positionStart, Sci_Position characterOffset) const = 0;
virtual int SCI_METHOD GetCharacterAndWidth(Sci_Position position, Sci_Position *pWidth) const = 0;
};
enum { lvRelease4=2, lvRelease5=3 };
class ILexer4 {
public:
virtual int SCI_METHOD Version() const = 0;
virtual void SCI_METHOD Release() = 0;
virtual const char * SCI_METHOD PropertyNames() = 0;
virtual int SCI_METHOD PropertyType(const char *name) = 0;
virtual const char * SCI_METHOD DescribeProperty(const char *name) = 0;
virtual Sci_Position SCI_METHOD PropertySet(const char *key, const char *val) = 0;
virtual const char * SCI_METHOD DescribeWordListSets() = 0;
virtual Sci_Position SCI_METHOD WordListSet(int n, const char *wl) = 0;
virtual void SCI_METHOD Lex(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0;
virtual void SCI_METHOD Fold(Sci_PositionU startPos, Sci_Position lengthDoc, int initStyle, IDocument *pAccess) = 0;
virtual void * SCI_METHOD PrivateCall(int operation, void *pointer) = 0;
virtual int SCI_METHOD LineEndTypesSupported() = 0;
virtual int SCI_METHOD AllocateSubStyles(int styleBase, int numberStyles) = 0;
virtual int SCI_METHOD SubStylesStart(int styleBase) = 0;
virtual int SCI_METHOD SubStylesLength(int styleBase) = 0;
virtual int SCI_METHOD StyleFromSubStyle(int subStyle) = 0;
virtual int SCI_METHOD PrimaryStyleFromStyle(int style) = 0;
virtual void SCI_METHOD FreeSubStyles() = 0;
virtual void SCI_METHOD SetIdentifiers(int style, const char *identifiers) = 0;
virtual int SCI_METHOD DistanceToSecondaryStyles() = 0;
virtual const char * SCI_METHOD GetSubStyleBases() = 0;
virtual int SCI_METHOD NamedStyles() = 0;
virtual const char * SCI_METHOD NameOfStyle(int style) = 0;
virtual const char * SCI_METHOD TagsOfStyle(int style) = 0;
virtual const char * SCI_METHOD DescriptionOfStyle(int style) = 0;
};
class ILexer5 : public ILexer4 {
public:
virtual const char * SCI_METHOD GetName() = 0;
virtual int SCI_METHOD GetIdentifier() = 0;
virtual const char * SCI_METHOD PropertyGet(const char *key) = 0;
};
}
#endif

View File

@ -0,0 +1,38 @@
// Scintilla source code edit control
/** @file ILoader.h
** Interface for loading into a Scintilla document from a background thread.
** Interface for manipulating a document without a view.
**/
// Copyright 1998-2017 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#ifndef ILOADER_H
#define ILOADER_H
#include "Sci_Position.h"
namespace Scintilla {
class ILoader {
public:
virtual int SCI_METHOD Release() = 0;
// Returns a status code from SC_STATUS_*
virtual int SCI_METHOD AddData(const char *data, Sci_Position length) = 0;
virtual void * SCI_METHOD ConvertToDocument() = 0;
};
static constexpr int deRelease0 = 0;
class IDocumentEditable {
public:
// Allow this interface to add methods over time and discover whether new methods available.
virtual int SCI_METHOD DEVersion() const noexcept = 0;
// Lifetime control
virtual int SCI_METHOD AddRef() noexcept = 0;
virtual int SCI_METHOD Release() = 0;
};
}
#endif

View File

@ -0,0 +1,29 @@
// Scintilla source code edit control
/** @file Sci_Position.h
** Define the Sci_Position type used in Scintilla's external interfaces.
** These need to be available to clients written in C so are not in a C++ namespace.
**/
// Copyright 2015 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
#ifndef SCI_POSITION_H
#define SCI_POSITION_H
#include <stddef.h>
// Basic signed type used throughout interface
typedef ptrdiff_t Sci_Position;
// Unsigned variant used for ILexer::Lex and ILexer::Fold
typedef size_t Sci_PositionU;
// For Sci_CharacterRange which is defined as long to be compatible with Win32 CHARRANGE
typedef long Sci_PositionCR;
#ifdef _WIN32
#define SCI_METHOD __stdcall
#else
#define SCI_METHOD
#endif
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,926 @@
// SciTE - Scintilla based Text Editor
/** @file ScintillaCall.h
** Interface to calling a Scintilla instance.
**/
// Copyright 1998-2019 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
/* Most of this file is automatically generated from the Scintilla.iface interface definition
* file which contains any comments about the definitions. APIFacer.py does the generation. */
#ifndef SCINTILLACALL_H
#define SCINTILLACALL_H
namespace Scintilla {
enum class Message; // Declare in case ScintillaMessages.h not included
// Declare in case ScintillaStructures.h not included
struct TextRangeFull;
struct TextToFindFull;
struct RangeToFormatFull;
class IDocumentEditable;
using FunctionDirect = intptr_t(*)(intptr_t ptr, unsigned int iMessage, uintptr_t wParam, intptr_t lParam, int *pStatus);
struct Failure {
Scintilla::Status status;
explicit Failure(Scintilla::Status status_) noexcept : status(status_) {
}
};
struct Span {
// An ordered range
// end may be less than start when, for example, searching backwards
Position start;
Position end;
explicit Span(Position position) noexcept : start(position), end(position) {
}
Span(Position start_, Position end_) noexcept : start(start_), end(end_) {
}
Position Length() const noexcept {
if (end > start)
return end - start;
else
return start - end;
}
bool operator==(const Span &other) const noexcept {
return (other.start == start) && (other.end == end);
}
};
class ScintillaCall {
FunctionDirect fn;
intptr_t ptr;
intptr_t CallPointer(Message msg, uintptr_t wParam, void *s);
intptr_t CallString(Message msg, uintptr_t wParam, const char *s);
std::string CallReturnString(Message msg, uintptr_t wParam);
public:
Scintilla::Status statusLastCall;
ScintillaCall() noexcept;
// All standard methods are fine
void SetFnPtr(FunctionDirect fn_, intptr_t ptr_) noexcept;
bool IsValid() const noexcept;
intptr_t Call(Message msg, uintptr_t wParam=0, intptr_t lParam=0);
// Common APIs made more structured and type-safe
Position LineStart(Line line);
Position LineEnd(Line line);
Span SelectionSpan();
Span TargetSpan();
void SetTarget(Span span);
void ColouriseAll();
char CharacterAt(Position position);
int UnsignedStyleAt(Position position);
std::string StringOfSpan(Span span);
std::string StringOfRange(Span span);
Position ReplaceTarget(std::string_view text);
Position ReplaceTargetRE(std::string_view text);
Position ReplaceTargetMinimal(std::string_view text);
Position SearchInTarget(std::string_view text);
Span SpanSearchInTarget(std::string_view text);
// Generated APIs
//++Autogenerated -- start of section automatically generated from Scintilla.iface
//**\(\*\n\)
void AddText(Position length, const char *text);
void AddStyledText(Position length, const char *c);
void InsertText(Position pos, const char *text);
void ChangeInsertion(Position length, const char *text);
void ClearAll();
void DeleteRange(Position start, Position lengthDelete);
void ClearDocumentStyle();
Position Length();
int CharAt(Position pos);
Position CurrentPos();
Position Anchor();
int StyleAt(Position pos);
int StyleIndexAt(Position pos);
void Redo();
void SetUndoCollection(bool collectUndo);
void SelectAll();
void SetSavePoint();
Position GetStyledText(void *tr);
Position GetStyledTextFull(TextRangeFull *tr);
bool CanRedo();
Line MarkerLineFromHandle(int markerHandle);
void MarkerDeleteHandle(int markerHandle);
int MarkerHandleFromLine(Line line, int which);
int MarkerNumberFromLine(Line line, int which);
bool UndoCollection();
Scintilla::WhiteSpace ViewWS();
void SetViewWS(Scintilla::WhiteSpace viewWS);
Scintilla::TabDrawMode TabDrawMode();
void SetTabDrawMode(Scintilla::TabDrawMode tabDrawMode);
Position PositionFromPoint(int x, int y);
Position PositionFromPointClose(int x, int y);
void GotoLine(Line line);
void GotoPos(Position caret);
void SetAnchor(Position anchor);
Position GetCurLine(Position length, char *text);
std::string GetCurLine(Position length);
Position EndStyled();
void ConvertEOLs(Scintilla::EndOfLine eolMode);
Scintilla::EndOfLine EOLMode();
void SetEOLMode(Scintilla::EndOfLine eolMode);
void StartStyling(Position start, int unused);
void SetStyling(Position length, int style);
bool BufferedDraw();
void SetBufferedDraw(bool buffered);
void SetTabWidth(int tabWidth);
int TabWidth();
void SetTabMinimumWidth(int pixels);
int TabMinimumWidth();
void ClearTabStops(Line line);
void AddTabStop(Line line, int x);
int GetNextTabStop(Line line, int x);
void SetCodePage(int codePage);
void SetFontLocale(const char *localeName);
int FontLocale(char *localeName);
std::string FontLocale();
Scintilla::IMEInteraction IMEInteraction();
void SetIMEInteraction(Scintilla::IMEInteraction imeInteraction);
void MarkerDefine(int markerNumber, Scintilla::MarkerSymbol markerSymbol);
void MarkerSetFore(int markerNumber, Colour fore);
void MarkerSetBack(int markerNumber, Colour back);
void MarkerSetBackSelected(int markerNumber, Colour back);
void MarkerSetForeTranslucent(int markerNumber, ColourAlpha fore);
void MarkerSetBackTranslucent(int markerNumber, ColourAlpha back);
void MarkerSetBackSelectedTranslucent(int markerNumber, ColourAlpha back);
void MarkerSetStrokeWidth(int markerNumber, int hundredths);
void MarkerEnableHighlight(bool enabled);
int MarkerAdd(Line line, int markerNumber);
void MarkerDelete(Line line, int markerNumber);
void MarkerDeleteAll(int markerNumber);
int MarkerGet(Line line);
Line MarkerNext(Line lineStart, int markerMask);
Line MarkerPrevious(Line lineStart, int markerMask);
void MarkerDefinePixmap(int markerNumber, const char *pixmap);
void MarkerAddSet(Line line, int markerSet);
void MarkerSetAlpha(int markerNumber, Scintilla::Alpha alpha);
Scintilla::Layer MarkerGetLayer(int markerNumber);
void MarkerSetLayer(int markerNumber, Scintilla::Layer layer);
void SetMarginTypeN(int margin, Scintilla::MarginType marginType);
Scintilla::MarginType MarginTypeN(int margin);
void SetMarginWidthN(int margin, int pixelWidth);
int MarginWidthN(int margin);
void SetMarginMaskN(int margin, int mask);
int MarginMaskN(int margin);
void SetMarginSensitiveN(int margin, bool sensitive);
bool MarginSensitiveN(int margin);
void SetMarginCursorN(int margin, Scintilla::CursorShape cursor);
Scintilla::CursorShape MarginCursorN(int margin);
void SetMarginBackN(int margin, Colour back);
Colour MarginBackN(int margin);
void SetMargins(int margins);
int Margins();
void StyleClearAll();
void StyleSetFore(int style, Colour fore);
void StyleSetBack(int style, Colour back);
void StyleSetBold(int style, bool bold);
void StyleSetItalic(int style, bool italic);
void StyleSetSize(int style, int sizePoints);
void StyleSetFont(int style, const char *fontName);
void StyleSetEOLFilled(int style, bool eolFilled);
void StyleResetDefault();
void StyleSetUnderline(int style, bool underline);
Colour StyleGetFore(int style);
Colour StyleGetBack(int style);
bool StyleGetBold(int style);
bool StyleGetItalic(int style);
int StyleGetSize(int style);
int StyleGetFont(int style, char *fontName);
std::string StyleGetFont(int style);
bool StyleGetEOLFilled(int style);
bool StyleGetUnderline(int style);
Scintilla::CaseVisible StyleGetCase(int style);
Scintilla::CharacterSet StyleGetCharacterSet(int style);
bool StyleGetVisible(int style);
bool StyleGetChangeable(int style);
bool StyleGetHotSpot(int style);
void StyleSetCase(int style, Scintilla::CaseVisible caseVisible);
void StyleSetSizeFractional(int style, int sizeHundredthPoints);
int StyleGetSizeFractional(int style);
void StyleSetWeight(int style, Scintilla::FontWeight weight);
Scintilla::FontWeight StyleGetWeight(int style);
void StyleSetCharacterSet(int style, Scintilla::CharacterSet characterSet);
void StyleSetHotSpot(int style, bool hotspot);
void StyleSetCheckMonospaced(int style, bool checkMonospaced);
bool StyleGetCheckMonospaced(int style);
void StyleSetInvisibleRepresentation(int style, const char *representation);
int StyleGetInvisibleRepresentation(int style, char *representation);
std::string StyleGetInvisibleRepresentation(int style);
void SetElementColour(Scintilla::Element element, ColourAlpha colourElement);
ColourAlpha ElementColour(Scintilla::Element element);
void ResetElementColour(Scintilla::Element element);
bool ElementIsSet(Scintilla::Element element);
bool ElementAllowsTranslucent(Scintilla::Element element);
ColourAlpha ElementBaseColour(Scintilla::Element element);
void SetSelFore(bool useSetting, Colour fore);
void SetSelBack(bool useSetting, Colour back);
Scintilla::Alpha SelAlpha();
void SetSelAlpha(Scintilla::Alpha alpha);
bool SelEOLFilled();
void SetSelEOLFilled(bool filled);
Scintilla::Layer SelectionLayer();
void SetSelectionLayer(Scintilla::Layer layer);
Scintilla::Layer CaretLineLayer();
void SetCaretLineLayer(Scintilla::Layer layer);
bool CaretLineHighlightSubLine();
void SetCaretLineHighlightSubLine(bool subLine);
void SetCaretFore(Colour fore);
void AssignCmdKey(int keyDefinition, int sciCommand);
void ClearCmdKey(int keyDefinition);
void ClearAllCmdKeys();
void SetStylingEx(Position length, const char *styles);
void StyleSetVisible(int style, bool visible);
int CaretPeriod();
void SetCaretPeriod(int periodMilliseconds);
void SetWordChars(const char *characters);
int WordChars(char *characters);
std::string WordChars();
void SetCharacterCategoryOptimization(int countCharacters);
int CharacterCategoryOptimization();
void BeginUndoAction();
void EndUndoAction();
int UndoActions();
void SetUndoSavePoint(int action);
int UndoSavePoint();
void SetUndoDetach(int action);
int UndoDetach();
void SetUndoTentative(int action);
int UndoTentative();
void SetUndoCurrent(int action);
int UndoCurrent();
void PushUndoActionType(int type, Position pos);
void ChangeLastUndoActionText(Position length, const char *text);
int UndoActionType(int action);
Position UndoActionPosition(int action);
int UndoActionText(int action, char *text);
std::string UndoActionText(int action);
void IndicSetStyle(int indicator, Scintilla::IndicatorStyle indicatorStyle);
Scintilla::IndicatorStyle IndicGetStyle(int indicator);
void IndicSetFore(int indicator, Colour fore);
Colour IndicGetFore(int indicator);
void IndicSetUnder(int indicator, bool under);
bool IndicGetUnder(int indicator);
void IndicSetHoverStyle(int indicator, Scintilla::IndicatorStyle indicatorStyle);
Scintilla::IndicatorStyle IndicGetHoverStyle(int indicator);
void IndicSetHoverFore(int indicator, Colour fore);
Colour IndicGetHoverFore(int indicator);
void IndicSetFlags(int indicator, Scintilla::IndicFlag flags);
Scintilla::IndicFlag IndicGetFlags(int indicator);
void IndicSetStrokeWidth(int indicator, int hundredths);
int IndicGetStrokeWidth(int indicator);
void SetWhitespaceFore(bool useSetting, Colour fore);
void SetWhitespaceBack(bool useSetting, Colour back);
void SetWhitespaceSize(int size);
int WhitespaceSize();
void SetLineState(Line line, int state);
int LineState(Line line);
int MaxLineState();
bool CaretLineVisible();
void SetCaretLineVisible(bool show);
Colour CaretLineBack();
void SetCaretLineBack(Colour back);
int CaretLineFrame();
void SetCaretLineFrame(int width);
void StyleSetChangeable(int style, bool changeable);
void AutoCShow(Position lengthEntered, const char *itemList);
void AutoCCancel();
bool AutoCActive();
Position AutoCPosStart();
void AutoCComplete();
void AutoCStops(const char *characterSet);
void AutoCSetSeparator(int separatorCharacter);
int AutoCGetSeparator();
void AutoCSelect(const char *select);
void AutoCSetCancelAtStart(bool cancel);
bool AutoCGetCancelAtStart();
void AutoCSetFillUps(const char *characterSet);
void AutoCSetChooseSingle(bool chooseSingle);
bool AutoCGetChooseSingle();
void AutoCSetIgnoreCase(bool ignoreCase);
bool AutoCGetIgnoreCase();
void UserListShow(int listType, const char *itemList);
void AutoCSetAutoHide(bool autoHide);
bool AutoCGetAutoHide();
void AutoCSetOptions(Scintilla::AutoCompleteOption options);
Scintilla::AutoCompleteOption AutoCGetOptions();
void AutoCSetDropRestOfWord(bool dropRestOfWord);
bool AutoCGetDropRestOfWord();
void RegisterImage(int type, const char *xpmData);
void ClearRegisteredImages();
int AutoCGetTypeSeparator();
void AutoCSetTypeSeparator(int separatorCharacter);
void AutoCSetMaxWidth(int characterCount);
int AutoCGetMaxWidth();
void AutoCSetMaxHeight(int rowCount);
int AutoCGetMaxHeight();
void SetIndent(int indentSize);
int Indent();
void SetUseTabs(bool useTabs);
bool UseTabs();
void SetLineIndentation(Line line, int indentation);
int LineIndentation(Line line);
Position LineIndentPosition(Line line);
Position Column(Position pos);
Position CountCharacters(Position start, Position end);
Position CountCodeUnits(Position start, Position end);
void SetHScrollBar(bool visible);
bool HScrollBar();
void SetIndentationGuides(Scintilla::IndentView indentView);
Scintilla::IndentView IndentationGuides();
void SetHighlightGuide(Position column);
Position HighlightGuide();
Position LineEndPosition(Line line);
int CodePage();
Colour CaretFore();
bool ReadOnly();
void SetCurrentPos(Position caret);
void SetSelectionStart(Position anchor);
Position SelectionStart();
void SetSelectionEnd(Position caret);
Position SelectionEnd();
void SetEmptySelection(Position caret);
void SetPrintMagnification(int magnification);
int PrintMagnification();
void SetPrintColourMode(Scintilla::PrintOption mode);
Scintilla::PrintOption PrintColourMode();
Position FindText(Scintilla::FindOption searchFlags, void *ft);
Position FindTextFull(Scintilla::FindOption searchFlags, TextToFindFull *ft);
Position FormatRange(bool draw, void *fr);
Position FormatRangeFull(bool draw, RangeToFormatFull *fr);
void SetChangeHistory(Scintilla::ChangeHistoryOption changeHistory);
Scintilla::ChangeHistoryOption ChangeHistory();
Line FirstVisibleLine();
Position GetLine(Line line, char *text);
std::string GetLine(Line line);
Line LineCount();
void AllocateLines(Line lines);
void SetMarginLeft(int pixelWidth);
int MarginLeft();
void SetMarginRight(int pixelWidth);
int MarginRight();
bool Modify();
void SetSel(Position anchor, Position caret);
Position GetSelText(char *text);
std::string GetSelText();
Position GetTextRange(void *tr);
Position GetTextRangeFull(TextRangeFull *tr);
void HideSelection(bool hide);
bool SelectionHidden();
int PointXFromPosition(Position pos);
int PointYFromPosition(Position pos);
Line LineFromPosition(Position pos);
Position PositionFromLine(Line line);
void LineScroll(Position columns, Line lines);
void ScrollCaret();
void ScrollRange(Position secondary, Position primary);
void ReplaceSel(const char *text);
void SetReadOnly(bool readOnly);
void Null();
bool CanPaste();
bool CanUndo();
void EmptyUndoBuffer();
void Undo();
void Cut();
void Copy();
void Paste();
void Clear();
void SetText(const char *text);
Position GetText(Position length, char *text);
std::string GetText(Position length);
Position TextLength();
void *DirectFunction();
void *DirectStatusFunction();
void *DirectPointer();
void SetOvertype(bool overType);
bool Overtype();
void SetCaretWidth(int pixelWidth);
int CaretWidth();
void SetTargetStart(Position start);
Position TargetStart();
void SetTargetStartVirtualSpace(Position space);
Position TargetStartVirtualSpace();
void SetTargetEnd(Position end);
Position TargetEnd();
void SetTargetEndVirtualSpace(Position space);
Position TargetEndVirtualSpace();
void SetTargetRange(Position start, Position end);
Position TargetText(char *text);
std::string TargetText();
void TargetFromSelection();
void TargetWholeDocument();
Position ReplaceTarget(Position length, const char *text);
Position ReplaceTargetRE(Position length, const char *text);
Position ReplaceTargetMinimal(Position length, const char *text);
Position SearchInTarget(Position length, const char *text);
void SetSearchFlags(Scintilla::FindOption searchFlags);
Scintilla::FindOption SearchFlags();
void CallTipShow(Position pos, const char *definition);
void CallTipCancel();
bool CallTipActive();
Position CallTipPosStart();
void CallTipSetPosStart(Position posStart);
void CallTipSetHlt(Position highlightStart, Position highlightEnd);
void CallTipSetBack(Colour back);
void CallTipSetFore(Colour fore);
void CallTipSetForeHlt(Colour fore);
void CallTipUseStyle(int tabSize);
void CallTipSetPosition(bool above);
Line VisibleFromDocLine(Line docLine);
Line DocLineFromVisible(Line displayLine);
Line WrapCount(Line docLine);
void SetFoldLevel(Line line, Scintilla::FoldLevel level);
Scintilla::FoldLevel FoldLevel(Line line);
Line LastChild(Line line, Scintilla::FoldLevel level);
Line FoldParent(Line line);
void ShowLines(Line lineStart, Line lineEnd);
void HideLines(Line lineStart, Line lineEnd);
bool LineVisible(Line line);
bool AllLinesVisible();
void SetFoldExpanded(Line line, bool expanded);
bool FoldExpanded(Line line);
void ToggleFold(Line line);
void ToggleFoldShowText(Line line, const char *text);
void FoldDisplayTextSetStyle(Scintilla::FoldDisplayTextStyle style);
Scintilla::FoldDisplayTextStyle FoldDisplayTextGetStyle();
void SetDefaultFoldDisplayText(const char *text);
int GetDefaultFoldDisplayText(char *text);
std::string GetDefaultFoldDisplayText();
void FoldLine(Line line, Scintilla::FoldAction action);
void FoldChildren(Line line, Scintilla::FoldAction action);
void ExpandChildren(Line line, Scintilla::FoldLevel level);
void FoldAll(Scintilla::FoldAction action);
void EnsureVisible(Line line);
void SetAutomaticFold(Scintilla::AutomaticFold automaticFold);
Scintilla::AutomaticFold AutomaticFold();
void SetFoldFlags(Scintilla::FoldFlag flags);
void EnsureVisibleEnforcePolicy(Line line);
void SetTabIndents(bool tabIndents);
bool TabIndents();
void SetBackSpaceUnIndents(bool bsUnIndents);
bool BackSpaceUnIndents();
void SetMouseDwellTime(int periodMilliseconds);
int MouseDwellTime();
Position WordStartPosition(Position pos, bool onlyWordCharacters);
Position WordEndPosition(Position pos, bool onlyWordCharacters);
bool IsRangeWord(Position start, Position end);
void SetIdleStyling(Scintilla::IdleStyling idleStyling);
Scintilla::IdleStyling IdleStyling();
void SetWrapMode(Scintilla::Wrap wrapMode);
Scintilla::Wrap WrapMode();
void SetWrapVisualFlags(Scintilla::WrapVisualFlag wrapVisualFlags);
Scintilla::WrapVisualFlag WrapVisualFlags();
void SetWrapVisualFlagsLocation(Scintilla::WrapVisualLocation wrapVisualFlagsLocation);
Scintilla::WrapVisualLocation WrapVisualFlagsLocation();
void SetWrapStartIndent(int indent);
int WrapStartIndent();
void SetWrapIndentMode(Scintilla::WrapIndentMode wrapIndentMode);
Scintilla::WrapIndentMode WrapIndentMode();
void SetLayoutCache(Scintilla::LineCache cacheMode);
Scintilla::LineCache LayoutCache();
void SetScrollWidth(int pixelWidth);
int ScrollWidth();
void SetScrollWidthTracking(bool tracking);
bool ScrollWidthTracking();
int TextWidth(int style, const char *text);
void SetEndAtLastLine(bool endAtLastLine);
bool EndAtLastLine();
int TextHeight(Line line);
void SetVScrollBar(bool visible);
bool VScrollBar();
void AppendText(Position length, const char *text);
Scintilla::PhasesDraw PhasesDraw();
void SetPhasesDraw(Scintilla::PhasesDraw phases);
void SetFontQuality(Scintilla::FontQuality fontQuality);
Scintilla::FontQuality FontQuality();
void SetFirstVisibleLine(Line displayLine);
void SetMultiPaste(Scintilla::MultiPaste multiPaste);
Scintilla::MultiPaste MultiPaste();
int Tag(int tagNumber, char *tagValue);
std::string Tag(int tagNumber);
void LinesJoin();
void LinesSplit(int pixelWidth);
void SetFoldMarginColour(bool useSetting, Colour back);
void SetFoldMarginHiColour(bool useSetting, Colour fore);
void SetAccessibility(Scintilla::Accessibility accessibility);
Scintilla::Accessibility Accessibility();
void LineDown();
void LineDownExtend();
void LineUp();
void LineUpExtend();
void CharLeft();
void CharLeftExtend();
void CharRight();
void CharRightExtend();
void WordLeft();
void WordLeftExtend();
void WordRight();
void WordRightExtend();
void Home();
void HomeExtend();
void LineEnd();
void LineEndExtend();
void DocumentStart();
void DocumentStartExtend();
void DocumentEnd();
void DocumentEndExtend();
void PageUp();
void PageUpExtend();
void PageDown();
void PageDownExtend();
void EditToggleOvertype();
void Cancel();
void DeleteBack();
void Tab();
void BackTab();
void NewLine();
void FormFeed();
void VCHome();
void VCHomeExtend();
void ZoomIn();
void ZoomOut();
void DelWordLeft();
void DelWordRight();
void DelWordRightEnd();
void LineCut();
void LineDelete();
void LineTranspose();
void LineReverse();
void LineDuplicate();
void LowerCase();
void UpperCase();
void LineScrollDown();
void LineScrollUp();
void DeleteBackNotLine();
void HomeDisplay();
void HomeDisplayExtend();
void LineEndDisplay();
void LineEndDisplayExtend();
void HomeWrap();
void HomeWrapExtend();
void LineEndWrap();
void LineEndWrapExtend();
void VCHomeWrap();
void VCHomeWrapExtend();
void LineCopy();
void MoveCaretInsideView();
Position LineLength(Line line);
void BraceHighlight(Position posA, Position posB);
void BraceHighlightIndicator(bool useSetting, int indicator);
void BraceBadLight(Position pos);
void BraceBadLightIndicator(bool useSetting, int indicator);
Position BraceMatch(Position pos, int maxReStyle);
Position BraceMatchNext(Position pos, Position startPos);
bool ViewEOL();
void SetViewEOL(bool visible);
IDocumentEditable *DocPointer();
void SetDocPointer(IDocumentEditable *doc);
void SetModEventMask(Scintilla::ModificationFlags eventMask);
Position EdgeColumn();
void SetEdgeColumn(Position column);
Scintilla::EdgeVisualStyle EdgeMode();
void SetEdgeMode(Scintilla::EdgeVisualStyle edgeMode);
Colour EdgeColour();
void SetEdgeColour(Colour edgeColour);
void MultiEdgeAddLine(Position column, Colour edgeColour);
void MultiEdgeClearAll();
Position MultiEdgeColumn(int which);
void SearchAnchor();
Position SearchNext(Scintilla::FindOption searchFlags, const char *text);
Position SearchPrev(Scintilla::FindOption searchFlags, const char *text);
Line LinesOnScreen();
void UsePopUp(Scintilla::PopUp popUpMode);
bool SelectionIsRectangle();
void SetZoom(int zoomInPoints);
int Zoom();
IDocumentEditable *CreateDocument(Position bytes, Scintilla::DocumentOption documentOptions);
void AddRefDocument(IDocumentEditable *doc);
void ReleaseDocument(IDocumentEditable *doc);
Scintilla::DocumentOption DocumentOptions();
Scintilla::ModificationFlags ModEventMask();
void SetCommandEvents(bool commandEvents);
bool CommandEvents();
void SetFocus(bool focus);
bool Focus();
void SetStatus(Scintilla::Status status);
Scintilla::Status Status();
void SetMouseDownCaptures(bool captures);
bool MouseDownCaptures();
void SetMouseWheelCaptures(bool captures);
bool MouseWheelCaptures();
void SetCursor(Scintilla::CursorShape cursorType);
Scintilla::CursorShape Cursor();
void SetControlCharSymbol(int symbol);
int ControlCharSymbol();
void WordPartLeft();
void WordPartLeftExtend();
void WordPartRight();
void WordPartRightExtend();
void SetVisiblePolicy(Scintilla::VisiblePolicy visiblePolicy, int visibleSlop);
void DelLineLeft();
void DelLineRight();
void SetXOffset(int xOffset);
int XOffset();
void ChooseCaretX();
void GrabFocus();
void SetXCaretPolicy(Scintilla::CaretPolicy caretPolicy, int caretSlop);
void SetYCaretPolicy(Scintilla::CaretPolicy caretPolicy, int caretSlop);
void SetPrintWrapMode(Scintilla::Wrap wrapMode);
Scintilla::Wrap PrintWrapMode();
void SetHotspotActiveFore(bool useSetting, Colour fore);
Colour HotspotActiveFore();
void SetHotspotActiveBack(bool useSetting, Colour back);
Colour HotspotActiveBack();
void SetHotspotActiveUnderline(bool underline);
bool HotspotActiveUnderline();
void SetHotspotSingleLine(bool singleLine);
bool HotspotSingleLine();
void ParaDown();
void ParaDownExtend();
void ParaUp();
void ParaUpExtend();
Position PositionBefore(Position pos);
Position PositionAfter(Position pos);
Position PositionRelative(Position pos, Position relative);
Position PositionRelativeCodeUnits(Position pos, Position relative);
void CopyRange(Position start, Position end);
void CopyText(Position length, const char *text);
void SetSelectionMode(Scintilla::SelectionMode selectionMode);
void ChangeSelectionMode(Scintilla::SelectionMode selectionMode);
Scintilla::SelectionMode SelectionMode();
void SetMoveExtendsSelection(bool moveExtendsSelection);
bool MoveExtendsSelection();
Position GetLineSelStartPosition(Line line);
Position GetLineSelEndPosition(Line line);
void LineDownRectExtend();
void LineUpRectExtend();
void CharLeftRectExtend();
void CharRightRectExtend();
void HomeRectExtend();
void VCHomeRectExtend();
void LineEndRectExtend();
void PageUpRectExtend();
void PageDownRectExtend();
void StutteredPageUp();
void StutteredPageUpExtend();
void StutteredPageDown();
void StutteredPageDownExtend();
void WordLeftEnd();
void WordLeftEndExtend();
void WordRightEnd();
void WordRightEndExtend();
void SetWhitespaceChars(const char *characters);
int WhitespaceChars(char *characters);
std::string WhitespaceChars();
void SetPunctuationChars(const char *characters);
int PunctuationChars(char *characters);
std::string PunctuationChars();
void SetCharsDefault();
int AutoCGetCurrent();
int AutoCGetCurrentText(char *text);
std::string AutoCGetCurrentText();
void AutoCSetCaseInsensitiveBehaviour(Scintilla::CaseInsensitiveBehaviour behaviour);
Scintilla::CaseInsensitiveBehaviour AutoCGetCaseInsensitiveBehaviour();
void AutoCSetMulti(Scintilla::MultiAutoComplete multi);
Scintilla::MultiAutoComplete AutoCGetMulti();
void AutoCSetOrder(Scintilla::Ordering order);
Scintilla::Ordering AutoCGetOrder();
void Allocate(Position bytes);
Position TargetAsUTF8(char *s);
std::string TargetAsUTF8();
void SetLengthForEncode(Position bytes);
Position EncodedFromUTF8(const char *utf8, char *encoded);
std::string EncodedFromUTF8(const char *utf8);
Position FindColumn(Line line, Position column);
Scintilla::CaretSticky CaretSticky();
void SetCaretSticky(Scintilla::CaretSticky useCaretStickyBehaviour);
void ToggleCaretSticky();
void SetPasteConvertEndings(bool convert);
bool PasteConvertEndings();
void ReplaceRectangular(Position length, const char *text);
void SelectionDuplicate();
void SetCaretLineBackAlpha(Scintilla::Alpha alpha);
Scintilla::Alpha CaretLineBackAlpha();
void SetCaretStyle(Scintilla::CaretStyle caretStyle);
Scintilla::CaretStyle CaretStyle();
void SetIndicatorCurrent(int indicator);
int IndicatorCurrent();
void SetIndicatorValue(int value);
int IndicatorValue();
void IndicatorFillRange(Position start, Position lengthFill);
void IndicatorClearRange(Position start, Position lengthClear);
int IndicatorAllOnFor(Position pos);
int IndicatorValueAt(int indicator, Position pos);
Position IndicatorStart(int indicator, Position pos);
Position IndicatorEnd(int indicator, Position pos);
void SetPositionCache(int size);
int PositionCache();
void SetLayoutThreads(int threads);
int LayoutThreads();
void CopyAllowLine();
void *CharacterPointer();
void *RangePointer(Position start, Position lengthRange);
Position GapPosition();
void IndicSetAlpha(int indicator, Scintilla::Alpha alpha);
Scintilla::Alpha IndicGetAlpha(int indicator);
void IndicSetOutlineAlpha(int indicator, Scintilla::Alpha alpha);
Scintilla::Alpha IndicGetOutlineAlpha(int indicator);
void SetExtraAscent(int extraAscent);
int ExtraAscent();
void SetExtraDescent(int extraDescent);
int ExtraDescent();
int MarkerSymbolDefined(int markerNumber);
void MarginSetText(Line line, const char *text);
int MarginGetText(Line line, char *text);
std::string MarginGetText(Line line);
void MarginSetStyle(Line line, int style);
int MarginGetStyle(Line line);
void MarginSetStyles(Line line, const char *styles);
int MarginGetStyles(Line line, char *styles);
std::string MarginGetStyles(Line line);
void MarginTextClearAll();
void MarginSetStyleOffset(int style);
int MarginGetStyleOffset();
void SetMarginOptions(Scintilla::MarginOption marginOptions);
Scintilla::MarginOption MarginOptions();
void AnnotationSetText(Line line, const char *text);
int AnnotationGetText(Line line, char *text);
std::string AnnotationGetText(Line line);
void AnnotationSetStyle(Line line, int style);
int AnnotationGetStyle(Line line);
void AnnotationSetStyles(Line line, const char *styles);
int AnnotationGetStyles(Line line, char *styles);
std::string AnnotationGetStyles(Line line);
int AnnotationGetLines(Line line);
void AnnotationClearAll();
void AnnotationSetVisible(Scintilla::AnnotationVisible visible);
Scintilla::AnnotationVisible AnnotationGetVisible();
void AnnotationSetStyleOffset(int style);
int AnnotationGetStyleOffset();
void ReleaseAllExtendedStyles();
int AllocateExtendedStyles(int numberStyles);
void AddUndoAction(int token, Scintilla::UndoFlags flags);
Position CharPositionFromPoint(int x, int y);
Position CharPositionFromPointClose(int x, int y);
void SetMouseSelectionRectangularSwitch(bool mouseSelectionRectangularSwitch);
bool MouseSelectionRectangularSwitch();
void SetMultipleSelection(bool multipleSelection);
bool MultipleSelection();
void SetAdditionalSelectionTyping(bool additionalSelectionTyping);
bool AdditionalSelectionTyping();
void SetAdditionalCaretsBlink(bool additionalCaretsBlink);
bool AdditionalCaretsBlink();
void SetAdditionalCaretsVisible(bool additionalCaretsVisible);
bool AdditionalCaretsVisible();
int Selections();
bool SelectionEmpty();
void ClearSelections();
void SetSelection(Position caret, Position anchor);
void AddSelection(Position caret, Position anchor);
int SelectionFromPoint(int x, int y);
void DropSelectionN(int selection);
void SetMainSelection(int selection);
int MainSelection();
void SetSelectionNCaret(int selection, Position caret);
Position SelectionNCaret(int selection);
void SetSelectionNAnchor(int selection, Position anchor);
Position SelectionNAnchor(int selection);
void SetSelectionNCaretVirtualSpace(int selection, Position space);
Position SelectionNCaretVirtualSpace(int selection);
void SetSelectionNAnchorVirtualSpace(int selection, Position space);
Position SelectionNAnchorVirtualSpace(int selection);
void SetSelectionNStart(int selection, Position anchor);
Position SelectionNStart(int selection);
Position SelectionNStartVirtualSpace(int selection);
void SetSelectionNEnd(int selection, Position caret);
Position SelectionNEndVirtualSpace(int selection);
Position SelectionNEnd(int selection);
void SetRectangularSelectionCaret(Position caret);
Position RectangularSelectionCaret();
void SetRectangularSelectionAnchor(Position anchor);
Position RectangularSelectionAnchor();
void SetRectangularSelectionCaretVirtualSpace(Position space);
Position RectangularSelectionCaretVirtualSpace();
void SetRectangularSelectionAnchorVirtualSpace(Position space);
Position RectangularSelectionAnchorVirtualSpace();
void SetVirtualSpaceOptions(Scintilla::VirtualSpace virtualSpaceOptions);
Scintilla::VirtualSpace VirtualSpaceOptions();
void SetRectangularSelectionModifier(int modifier);
int RectangularSelectionModifier();
void SetAdditionalSelFore(Colour fore);
void SetAdditionalSelBack(Colour back);
void SetAdditionalSelAlpha(Scintilla::Alpha alpha);
Scintilla::Alpha AdditionalSelAlpha();
void SetAdditionalCaretFore(Colour fore);
Colour AdditionalCaretFore();
void RotateSelection();
void SwapMainAnchorCaret();
void MultipleSelectAddNext();
void MultipleSelectAddEach();
int ChangeLexerState(Position start, Position end);
Line ContractedFoldNext(Line lineStart);
void VerticalCentreCaret();
void MoveSelectedLinesUp();
void MoveSelectedLinesDown();
void SetIdentifier(int identifier);
int Identifier();
void RGBAImageSetWidth(int width);
void RGBAImageSetHeight(int height);
void RGBAImageSetScale(int scalePercent);
void MarkerDefineRGBAImage(int markerNumber, const char *pixels);
void RegisterRGBAImage(int type, const char *pixels);
void ScrollToStart();
void ScrollToEnd();
void SetTechnology(Scintilla::Technology technology);
Scintilla::Technology Technology();
void *CreateLoader(Position bytes, Scintilla::DocumentOption documentOptions);
void FindIndicatorShow(Position start, Position end);
void FindIndicatorFlash(Position start, Position end);
void FindIndicatorHide();
void VCHomeDisplay();
void VCHomeDisplayExtend();
bool CaretLineVisibleAlways();
void SetCaretLineVisibleAlways(bool alwaysVisible);
void SetLineEndTypesAllowed(Scintilla::LineEndType lineEndBitSet);
Scintilla::LineEndType LineEndTypesAllowed();
Scintilla::LineEndType LineEndTypesActive();
void SetRepresentation(const char *encodedCharacter, const char *representation);
int Representation(const char *encodedCharacter, char *representation);
std::string Representation(const char *encodedCharacter);
void ClearRepresentation(const char *encodedCharacter);
void ClearAllRepresentations();
void SetRepresentationAppearance(const char *encodedCharacter, Scintilla::RepresentationAppearance appearance);
Scintilla::RepresentationAppearance RepresentationAppearance(const char *encodedCharacter);
void SetRepresentationColour(const char *encodedCharacter, ColourAlpha colour);
ColourAlpha RepresentationColour(const char *encodedCharacter);
void EOLAnnotationSetText(Line line, const char *text);
int EOLAnnotationGetText(Line line, char *text);
std::string EOLAnnotationGetText(Line line);
void EOLAnnotationSetStyle(Line line, int style);
int EOLAnnotationGetStyle(Line line);
void EOLAnnotationClearAll();
void EOLAnnotationSetVisible(Scintilla::EOLAnnotationVisible visible);
Scintilla::EOLAnnotationVisible EOLAnnotationGetVisible();
void EOLAnnotationSetStyleOffset(int style);
int EOLAnnotationGetStyleOffset();
bool SupportsFeature(Scintilla::Supports feature);
Scintilla::LineCharacterIndexType LineCharacterIndex();
void AllocateLineCharacterIndex(Scintilla::LineCharacterIndexType lineCharacterIndex);
void ReleaseLineCharacterIndex(Scintilla::LineCharacterIndexType lineCharacterIndex);
Line LineFromIndexPosition(Position pos, Scintilla::LineCharacterIndexType lineCharacterIndex);
Position IndexPositionFromLine(Line line, Scintilla::LineCharacterIndexType lineCharacterIndex);
void StartRecord();
void StopRecord();
int Lexer();
void Colourise(Position start, Position end);
void SetProperty(const char *key, const char *value);
void SetKeyWords(int keyWordSet, const char *keyWords);
int Property(const char *key, char *value);
std::string Property(const char *key);
int PropertyExpanded(const char *key, char *value);
std::string PropertyExpanded(const char *key);
int PropertyInt(const char *key, int defaultValue);
int LexerLanguage(char *language);
std::string LexerLanguage();
void *PrivateLexerCall(int operation, void *pointer);
int PropertyNames(char *names);
std::string PropertyNames();
Scintilla::TypeProperty PropertyType(const char *name);
int DescribeProperty(const char *name, char *description);
std::string DescribeProperty(const char *name);
int DescribeKeyWordSets(char *descriptions);
std::string DescribeKeyWordSets();
Scintilla::LineEndType LineEndTypesSupported();
int AllocateSubStyles(int styleBase, int numberStyles);
int SubStylesStart(int styleBase);
int SubStylesLength(int styleBase);
int StyleFromSubStyle(int subStyle);
int PrimaryStyleFromStyle(int style);
void FreeSubStyles();
void SetIdentifiers(int style, const char *identifiers);
int DistanceToSecondaryStyles();
int SubStyleBases(char *styles);
std::string SubStyleBases();
int NamedStyles();
int NameOfStyle(int style, char *name);
std::string NameOfStyle(int style);
int TagsOfStyle(int style, char *tags);
std::string TagsOfStyle(int style);
int DescriptionOfStyle(int style, char *description);
std::string DescriptionOfStyle(int style);
void SetILexer(void *ilexer);
Scintilla::Bidirectional Bidirectional();
void SetBidirectional(Scintilla::Bidirectional bidirectional);
//--Autogenerated -- end of section automatically generated from Scintilla.iface
};
}
#endif

View File

@ -0,0 +1,822 @@
// Scintilla source code edit control
/** @file ScintillaMessages.h
** Enumerate the messages that can be sent to Scintilla.
**/
// Copyright 1998-2019 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
/* Most of this file is automatically generated from the Scintilla.iface interface definition
* file which contains any comments about the definitions. ScintillaAPIFacer.py does the generation. */
#ifndef SCINTILLAMESSAGES_H
#define SCINTILLAMESSAGES_H
namespace Scintilla {
// Enumerations
//++Autogenerated -- start of section automatically generated from Scintilla.iface
enum class Message {
AddText = 2001,
AddStyledText = 2002,
InsertText = 2003,
ChangeInsertion = 2672,
ClearAll = 2004,
DeleteRange = 2645,
ClearDocumentStyle = 2005,
GetLength = 2006,
GetCharAt = 2007,
GetCurrentPos = 2008,
GetAnchor = 2009,
GetStyleAt = 2010,
GetStyleIndexAt = 2038,
Redo = 2011,
SetUndoCollection = 2012,
SelectAll = 2013,
SetSavePoint = 2014,
GetStyledText = 2015,
GetStyledTextFull = 2778,
CanRedo = 2016,
MarkerLineFromHandle = 2017,
MarkerDeleteHandle = 2018,
MarkerHandleFromLine = 2732,
MarkerNumberFromLine = 2733,
GetUndoCollection = 2019,
GetViewWS = 2020,
SetViewWS = 2021,
GetTabDrawMode = 2698,
SetTabDrawMode = 2699,
PositionFromPoint = 2022,
PositionFromPointClose = 2023,
GotoLine = 2024,
GotoPos = 2025,
SetAnchor = 2026,
GetCurLine = 2027,
GetEndStyled = 2028,
ConvertEOLs = 2029,
GetEOLMode = 2030,
SetEOLMode = 2031,
StartStyling = 2032,
SetStyling = 2033,
GetBufferedDraw = 2034,
SetBufferedDraw = 2035,
SetTabWidth = 2036,
GetTabWidth = 2121,
SetTabMinimumWidth = 2724,
GetTabMinimumWidth = 2725,
ClearTabStops = 2675,
AddTabStop = 2676,
GetNextTabStop = 2677,
SetCodePage = 2037,
SetFontLocale = 2760,
GetFontLocale = 2761,
GetIMEInteraction = 2678,
SetIMEInteraction = 2679,
MarkerDefine = 2040,
MarkerSetFore = 2041,
MarkerSetBack = 2042,
MarkerSetBackSelected = 2292,
MarkerSetForeTranslucent = 2294,
MarkerSetBackTranslucent = 2295,
MarkerSetBackSelectedTranslucent = 2296,
MarkerSetStrokeWidth = 2297,
MarkerEnableHighlight = 2293,
MarkerAdd = 2043,
MarkerDelete = 2044,
MarkerDeleteAll = 2045,
MarkerGet = 2046,
MarkerNext = 2047,
MarkerPrevious = 2048,
MarkerDefinePixmap = 2049,
MarkerAddSet = 2466,
MarkerSetAlpha = 2476,
MarkerGetLayer = 2734,
MarkerSetLayer = 2735,
SetMarginTypeN = 2240,
GetMarginTypeN = 2241,
SetMarginWidthN = 2242,
GetMarginWidthN = 2243,
SetMarginMaskN = 2244,
GetMarginMaskN = 2245,
SetMarginSensitiveN = 2246,
GetMarginSensitiveN = 2247,
SetMarginCursorN = 2248,
GetMarginCursorN = 2249,
SetMarginBackN = 2250,
GetMarginBackN = 2251,
SetMargins = 2252,
GetMargins = 2253,
StyleClearAll = 2050,
StyleSetFore = 2051,
StyleSetBack = 2052,
StyleSetBold = 2053,
StyleSetItalic = 2054,
StyleSetSize = 2055,
StyleSetFont = 2056,
StyleSetEOLFilled = 2057,
StyleResetDefault = 2058,
StyleSetUnderline = 2059,
StyleGetFore = 2481,
StyleGetBack = 2482,
StyleGetBold = 2483,
StyleGetItalic = 2484,
StyleGetSize = 2485,
StyleGetFont = 2486,
StyleGetEOLFilled = 2487,
StyleGetUnderline = 2488,
StyleGetCase = 2489,
StyleGetCharacterSet = 2490,
StyleGetVisible = 2491,
StyleGetChangeable = 2492,
StyleGetHotSpot = 2493,
StyleSetCase = 2060,
StyleSetSizeFractional = 2061,
StyleGetSizeFractional = 2062,
StyleSetWeight = 2063,
StyleGetWeight = 2064,
StyleSetCharacterSet = 2066,
StyleSetHotSpot = 2409,
StyleSetCheckMonospaced = 2254,
StyleGetCheckMonospaced = 2255,
StyleSetInvisibleRepresentation = 2256,
StyleGetInvisibleRepresentation = 2257,
SetElementColour = 2753,
GetElementColour = 2754,
ResetElementColour = 2755,
GetElementIsSet = 2756,
GetElementAllowsTranslucent = 2757,
GetElementBaseColour = 2758,
SetSelFore = 2067,
SetSelBack = 2068,
GetSelAlpha = 2477,
SetSelAlpha = 2478,
GetSelEOLFilled = 2479,
SetSelEOLFilled = 2480,
GetSelectionLayer = 2762,
SetSelectionLayer = 2763,
GetCaretLineLayer = 2764,
SetCaretLineLayer = 2765,
GetCaretLineHighlightSubLine = 2773,
SetCaretLineHighlightSubLine = 2774,
SetCaretFore = 2069,
AssignCmdKey = 2070,
ClearCmdKey = 2071,
ClearAllCmdKeys = 2072,
SetStylingEx = 2073,
StyleSetVisible = 2074,
GetCaretPeriod = 2075,
SetCaretPeriod = 2076,
SetWordChars = 2077,
GetWordChars = 2646,
SetCharacterCategoryOptimization = 2720,
GetCharacterCategoryOptimization = 2721,
BeginUndoAction = 2078,
EndUndoAction = 2079,
GetUndoActions = 2790,
SetUndoSavePoint = 2791,
GetUndoSavePoint = 2792,
SetUndoDetach = 2793,
GetUndoDetach = 2794,
SetUndoTentative = 2795,
GetUndoTentative = 2796,
SetUndoCurrent = 2797,
GetUndoCurrent = 2798,
PushUndoActionType = 2800,
ChangeLastUndoActionText = 2801,
GetUndoActionType = 2802,
GetUndoActionPosition = 2803,
GetUndoActionText = 2804,
IndicSetStyle = 2080,
IndicGetStyle = 2081,
IndicSetFore = 2082,
IndicGetFore = 2083,
IndicSetUnder = 2510,
IndicGetUnder = 2511,
IndicSetHoverStyle = 2680,
IndicGetHoverStyle = 2681,
IndicSetHoverFore = 2682,
IndicGetHoverFore = 2683,
IndicSetFlags = 2684,
IndicGetFlags = 2685,
IndicSetStrokeWidth = 2751,
IndicGetStrokeWidth = 2752,
SetWhitespaceFore = 2084,
SetWhitespaceBack = 2085,
SetWhitespaceSize = 2086,
GetWhitespaceSize = 2087,
SetLineState = 2092,
GetLineState = 2093,
GetMaxLineState = 2094,
GetCaretLineVisible = 2095,
SetCaretLineVisible = 2096,
GetCaretLineBack = 2097,
SetCaretLineBack = 2098,
GetCaretLineFrame = 2704,
SetCaretLineFrame = 2705,
StyleSetChangeable = 2099,
AutoCShow = 2100,
AutoCCancel = 2101,
AutoCActive = 2102,
AutoCPosStart = 2103,
AutoCComplete = 2104,
AutoCStops = 2105,
AutoCSetSeparator = 2106,
AutoCGetSeparator = 2107,
AutoCSelect = 2108,
AutoCSetCancelAtStart = 2110,
AutoCGetCancelAtStart = 2111,
AutoCSetFillUps = 2112,
AutoCSetChooseSingle = 2113,
AutoCGetChooseSingle = 2114,
AutoCSetIgnoreCase = 2115,
AutoCGetIgnoreCase = 2116,
UserListShow = 2117,
AutoCSetAutoHide = 2118,
AutoCGetAutoHide = 2119,
AutoCSetOptions = 2638,
AutoCGetOptions = 2639,
AutoCSetDropRestOfWord = 2270,
AutoCGetDropRestOfWord = 2271,
RegisterImage = 2405,
ClearRegisteredImages = 2408,
AutoCGetTypeSeparator = 2285,
AutoCSetTypeSeparator = 2286,
AutoCSetMaxWidth = 2208,
AutoCGetMaxWidth = 2209,
AutoCSetMaxHeight = 2210,
AutoCGetMaxHeight = 2211,
SetIndent = 2122,
GetIndent = 2123,
SetUseTabs = 2124,
GetUseTabs = 2125,
SetLineIndentation = 2126,
GetLineIndentation = 2127,
GetLineIndentPosition = 2128,
GetColumn = 2129,
CountCharacters = 2633,
CountCodeUnits = 2715,
SetHScrollBar = 2130,
GetHScrollBar = 2131,
SetIndentationGuides = 2132,
GetIndentationGuides = 2133,
SetHighlightGuide = 2134,
GetHighlightGuide = 2135,
GetLineEndPosition = 2136,
GetCodePage = 2137,
GetCaretFore = 2138,
GetReadOnly = 2140,
SetCurrentPos = 2141,
SetSelectionStart = 2142,
GetSelectionStart = 2143,
SetSelectionEnd = 2144,
GetSelectionEnd = 2145,
SetEmptySelection = 2556,
SetPrintMagnification = 2146,
GetPrintMagnification = 2147,
SetPrintColourMode = 2148,
GetPrintColourMode = 2149,
FindText = 2150,
FindTextFull = 2196,
FormatRange = 2151,
FormatRangeFull = 2777,
SetChangeHistory = 2780,
GetChangeHistory = 2781,
GetFirstVisibleLine = 2152,
GetLine = 2153,
GetLineCount = 2154,
AllocateLines = 2089,
SetMarginLeft = 2155,
GetMarginLeft = 2156,
SetMarginRight = 2157,
GetMarginRight = 2158,
GetModify = 2159,
SetSel = 2160,
GetSelText = 2161,
GetTextRange = 2162,
GetTextRangeFull = 2039,
HideSelection = 2163,
GetSelectionHidden = 2088,
PointXFromPosition = 2164,
PointYFromPosition = 2165,
LineFromPosition = 2166,
PositionFromLine = 2167,
LineScroll = 2168,
ScrollCaret = 2169,
ScrollRange = 2569,
ReplaceSel = 2170,
SetReadOnly = 2171,
Null = 2172,
CanPaste = 2173,
CanUndo = 2174,
EmptyUndoBuffer = 2175,
Undo = 2176,
Cut = 2177,
Copy = 2178,
Paste = 2179,
Clear = 2180,
SetText = 2181,
GetText = 2182,
GetTextLength = 2183,
GetDirectFunction = 2184,
GetDirectStatusFunction = 2772,
GetDirectPointer = 2185,
SetOvertype = 2186,
GetOvertype = 2187,
SetCaretWidth = 2188,
GetCaretWidth = 2189,
SetTargetStart = 2190,
GetTargetStart = 2191,
SetTargetStartVirtualSpace = 2728,
GetTargetStartVirtualSpace = 2729,
SetTargetEnd = 2192,
GetTargetEnd = 2193,
SetTargetEndVirtualSpace = 2730,
GetTargetEndVirtualSpace = 2731,
SetTargetRange = 2686,
GetTargetText = 2687,
TargetFromSelection = 2287,
TargetWholeDocument = 2690,
ReplaceTarget = 2194,
ReplaceTargetRE = 2195,
ReplaceTargetMinimal = 2779,
SearchInTarget = 2197,
SetSearchFlags = 2198,
GetSearchFlags = 2199,
CallTipShow = 2200,
CallTipCancel = 2201,
CallTipActive = 2202,
CallTipPosStart = 2203,
CallTipSetPosStart = 2214,
CallTipSetHlt = 2204,
CallTipSetBack = 2205,
CallTipSetFore = 2206,
CallTipSetForeHlt = 2207,
CallTipUseStyle = 2212,
CallTipSetPosition = 2213,
VisibleFromDocLine = 2220,
DocLineFromVisible = 2221,
WrapCount = 2235,
SetFoldLevel = 2222,
GetFoldLevel = 2223,
GetLastChild = 2224,
GetFoldParent = 2225,
ShowLines = 2226,
HideLines = 2227,
GetLineVisible = 2228,
GetAllLinesVisible = 2236,
SetFoldExpanded = 2229,
GetFoldExpanded = 2230,
ToggleFold = 2231,
ToggleFoldShowText = 2700,
FoldDisplayTextSetStyle = 2701,
FoldDisplayTextGetStyle = 2707,
SetDefaultFoldDisplayText = 2722,
GetDefaultFoldDisplayText = 2723,
FoldLine = 2237,
FoldChildren = 2238,
ExpandChildren = 2239,
FoldAll = 2662,
EnsureVisible = 2232,
SetAutomaticFold = 2663,
GetAutomaticFold = 2664,
SetFoldFlags = 2233,
EnsureVisibleEnforcePolicy = 2234,
SetTabIndents = 2260,
GetTabIndents = 2261,
SetBackSpaceUnIndents = 2262,
GetBackSpaceUnIndents = 2263,
SetMouseDwellTime = 2264,
GetMouseDwellTime = 2265,
WordStartPosition = 2266,
WordEndPosition = 2267,
IsRangeWord = 2691,
SetIdleStyling = 2692,
GetIdleStyling = 2693,
SetWrapMode = 2268,
GetWrapMode = 2269,
SetWrapVisualFlags = 2460,
GetWrapVisualFlags = 2461,
SetWrapVisualFlagsLocation = 2462,
GetWrapVisualFlagsLocation = 2463,
SetWrapStartIndent = 2464,
GetWrapStartIndent = 2465,
SetWrapIndentMode = 2472,
GetWrapIndentMode = 2473,
SetLayoutCache = 2272,
GetLayoutCache = 2273,
SetScrollWidth = 2274,
GetScrollWidth = 2275,
SetScrollWidthTracking = 2516,
GetScrollWidthTracking = 2517,
TextWidth = 2276,
SetEndAtLastLine = 2277,
GetEndAtLastLine = 2278,
TextHeight = 2279,
SetVScrollBar = 2280,
GetVScrollBar = 2281,
AppendText = 2282,
GetPhasesDraw = 2673,
SetPhasesDraw = 2674,
SetFontQuality = 2611,
GetFontQuality = 2612,
SetFirstVisibleLine = 2613,
SetMultiPaste = 2614,
GetMultiPaste = 2615,
GetTag = 2616,
LinesJoin = 2288,
LinesSplit = 2289,
SetFoldMarginColour = 2290,
SetFoldMarginHiColour = 2291,
SetAccessibility = 2702,
GetAccessibility = 2703,
LineDown = 2300,
LineDownExtend = 2301,
LineUp = 2302,
LineUpExtend = 2303,
CharLeft = 2304,
CharLeftExtend = 2305,
CharRight = 2306,
CharRightExtend = 2307,
WordLeft = 2308,
WordLeftExtend = 2309,
WordRight = 2310,
WordRightExtend = 2311,
Home = 2312,
HomeExtend = 2313,
LineEnd = 2314,
LineEndExtend = 2315,
DocumentStart = 2316,
DocumentStartExtend = 2317,
DocumentEnd = 2318,
DocumentEndExtend = 2319,
PageUp = 2320,
PageUpExtend = 2321,
PageDown = 2322,
PageDownExtend = 2323,
EditToggleOvertype = 2324,
Cancel = 2325,
DeleteBack = 2326,
Tab = 2327,
BackTab = 2328,
NewLine = 2329,
FormFeed = 2330,
VCHome = 2331,
VCHomeExtend = 2332,
ZoomIn = 2333,
ZoomOut = 2334,
DelWordLeft = 2335,
DelWordRight = 2336,
DelWordRightEnd = 2518,
LineCut = 2337,
LineDelete = 2338,
LineTranspose = 2339,
LineReverse = 2354,
LineDuplicate = 2404,
LowerCase = 2340,
UpperCase = 2341,
LineScrollDown = 2342,
LineScrollUp = 2343,
DeleteBackNotLine = 2344,
HomeDisplay = 2345,
HomeDisplayExtend = 2346,
LineEndDisplay = 2347,
LineEndDisplayExtend = 2348,
HomeWrap = 2349,
HomeWrapExtend = 2450,
LineEndWrap = 2451,
LineEndWrapExtend = 2452,
VCHomeWrap = 2453,
VCHomeWrapExtend = 2454,
LineCopy = 2455,
MoveCaretInsideView = 2401,
LineLength = 2350,
BraceHighlight = 2351,
BraceHighlightIndicator = 2498,
BraceBadLight = 2352,
BraceBadLightIndicator = 2499,
BraceMatch = 2353,
BraceMatchNext = 2369,
GetViewEOL = 2355,
SetViewEOL = 2356,
GetDocPointer = 2357,
SetDocPointer = 2358,
SetModEventMask = 2359,
GetEdgeColumn = 2360,
SetEdgeColumn = 2361,
GetEdgeMode = 2362,
SetEdgeMode = 2363,
GetEdgeColour = 2364,
SetEdgeColour = 2365,
MultiEdgeAddLine = 2694,
MultiEdgeClearAll = 2695,
GetMultiEdgeColumn = 2749,
SearchAnchor = 2366,
SearchNext = 2367,
SearchPrev = 2368,
LinesOnScreen = 2370,
UsePopUp = 2371,
SelectionIsRectangle = 2372,
SetZoom = 2373,
GetZoom = 2374,
CreateDocument = 2375,
AddRefDocument = 2376,
ReleaseDocument = 2377,
GetDocumentOptions = 2379,
GetModEventMask = 2378,
SetCommandEvents = 2717,
GetCommandEvents = 2718,
SetFocus = 2380,
GetFocus = 2381,
SetStatus = 2382,
GetStatus = 2383,
SetMouseDownCaptures = 2384,
GetMouseDownCaptures = 2385,
SetMouseWheelCaptures = 2696,
GetMouseWheelCaptures = 2697,
SetCursor = 2386,
GetCursor = 2387,
SetControlCharSymbol = 2388,
GetControlCharSymbol = 2389,
WordPartLeft = 2390,
WordPartLeftExtend = 2391,
WordPartRight = 2392,
WordPartRightExtend = 2393,
SetVisiblePolicy = 2394,
DelLineLeft = 2395,
DelLineRight = 2396,
SetXOffset = 2397,
GetXOffset = 2398,
ChooseCaretX = 2399,
GrabFocus = 2400,
SetXCaretPolicy = 2402,
SetYCaretPolicy = 2403,
SetPrintWrapMode = 2406,
GetPrintWrapMode = 2407,
SetHotspotActiveFore = 2410,
GetHotspotActiveFore = 2494,
SetHotspotActiveBack = 2411,
GetHotspotActiveBack = 2495,
SetHotspotActiveUnderline = 2412,
GetHotspotActiveUnderline = 2496,
SetHotspotSingleLine = 2421,
GetHotspotSingleLine = 2497,
ParaDown = 2413,
ParaDownExtend = 2414,
ParaUp = 2415,
ParaUpExtend = 2416,
PositionBefore = 2417,
PositionAfter = 2418,
PositionRelative = 2670,
PositionRelativeCodeUnits = 2716,
CopyRange = 2419,
CopyText = 2420,
SetSelectionMode = 2422,
ChangeSelectionMode = 2659,
GetSelectionMode = 2423,
SetMoveExtendsSelection = 2719,
GetMoveExtendsSelection = 2706,
GetLineSelStartPosition = 2424,
GetLineSelEndPosition = 2425,
LineDownRectExtend = 2426,
LineUpRectExtend = 2427,
CharLeftRectExtend = 2428,
CharRightRectExtend = 2429,
HomeRectExtend = 2430,
VCHomeRectExtend = 2431,
LineEndRectExtend = 2432,
PageUpRectExtend = 2433,
PageDownRectExtend = 2434,
StutteredPageUp = 2435,
StutteredPageUpExtend = 2436,
StutteredPageDown = 2437,
StutteredPageDownExtend = 2438,
WordLeftEnd = 2439,
WordLeftEndExtend = 2440,
WordRightEnd = 2441,
WordRightEndExtend = 2442,
SetWhitespaceChars = 2443,
GetWhitespaceChars = 2647,
SetPunctuationChars = 2648,
GetPunctuationChars = 2649,
SetCharsDefault = 2444,
AutoCGetCurrent = 2445,
AutoCGetCurrentText = 2610,
AutoCSetCaseInsensitiveBehaviour = 2634,
AutoCGetCaseInsensitiveBehaviour = 2635,
AutoCSetMulti = 2636,
AutoCGetMulti = 2637,
AutoCSetOrder = 2660,
AutoCGetOrder = 2661,
Allocate = 2446,
TargetAsUTF8 = 2447,
SetLengthForEncode = 2448,
EncodedFromUTF8 = 2449,
FindColumn = 2456,
GetCaretSticky = 2457,
SetCaretSticky = 2458,
ToggleCaretSticky = 2459,
SetPasteConvertEndings = 2467,
GetPasteConvertEndings = 2468,
ReplaceRectangular = 2771,
SelectionDuplicate = 2469,
SetCaretLineBackAlpha = 2470,
GetCaretLineBackAlpha = 2471,
SetCaretStyle = 2512,
GetCaretStyle = 2513,
SetIndicatorCurrent = 2500,
GetIndicatorCurrent = 2501,
SetIndicatorValue = 2502,
GetIndicatorValue = 2503,
IndicatorFillRange = 2504,
IndicatorClearRange = 2505,
IndicatorAllOnFor = 2506,
IndicatorValueAt = 2507,
IndicatorStart = 2508,
IndicatorEnd = 2509,
SetPositionCache = 2514,
GetPositionCache = 2515,
SetLayoutThreads = 2775,
GetLayoutThreads = 2776,
CopyAllowLine = 2519,
GetCharacterPointer = 2520,
GetRangePointer = 2643,
GetGapPosition = 2644,
IndicSetAlpha = 2523,
IndicGetAlpha = 2524,
IndicSetOutlineAlpha = 2558,
IndicGetOutlineAlpha = 2559,
SetExtraAscent = 2525,
GetExtraAscent = 2526,
SetExtraDescent = 2527,
GetExtraDescent = 2528,
MarkerSymbolDefined = 2529,
MarginSetText = 2530,
MarginGetText = 2531,
MarginSetStyle = 2532,
MarginGetStyle = 2533,
MarginSetStyles = 2534,
MarginGetStyles = 2535,
MarginTextClearAll = 2536,
MarginSetStyleOffset = 2537,
MarginGetStyleOffset = 2538,
SetMarginOptions = 2539,
GetMarginOptions = 2557,
AnnotationSetText = 2540,
AnnotationGetText = 2541,
AnnotationSetStyle = 2542,
AnnotationGetStyle = 2543,
AnnotationSetStyles = 2544,
AnnotationGetStyles = 2545,
AnnotationGetLines = 2546,
AnnotationClearAll = 2547,
AnnotationSetVisible = 2548,
AnnotationGetVisible = 2549,
AnnotationSetStyleOffset = 2550,
AnnotationGetStyleOffset = 2551,
ReleaseAllExtendedStyles = 2552,
AllocateExtendedStyles = 2553,
AddUndoAction = 2560,
CharPositionFromPoint = 2561,
CharPositionFromPointClose = 2562,
SetMouseSelectionRectangularSwitch = 2668,
GetMouseSelectionRectangularSwitch = 2669,
SetMultipleSelection = 2563,
GetMultipleSelection = 2564,
SetAdditionalSelectionTyping = 2565,
GetAdditionalSelectionTyping = 2566,
SetAdditionalCaretsBlink = 2567,
GetAdditionalCaretsBlink = 2568,
SetAdditionalCaretsVisible = 2608,
GetAdditionalCaretsVisible = 2609,
GetSelections = 2570,
GetSelectionEmpty = 2650,
ClearSelections = 2571,
SetSelection = 2572,
AddSelection = 2573,
SelectionFromPoint = 2474,
DropSelectionN = 2671,
SetMainSelection = 2574,
GetMainSelection = 2575,
SetSelectionNCaret = 2576,
GetSelectionNCaret = 2577,
SetSelectionNAnchor = 2578,
GetSelectionNAnchor = 2579,
SetSelectionNCaretVirtualSpace = 2580,
GetSelectionNCaretVirtualSpace = 2581,
SetSelectionNAnchorVirtualSpace = 2582,
GetSelectionNAnchorVirtualSpace = 2583,
SetSelectionNStart = 2584,
GetSelectionNStart = 2585,
GetSelectionNStartVirtualSpace = 2726,
SetSelectionNEnd = 2586,
GetSelectionNEndVirtualSpace = 2727,
GetSelectionNEnd = 2587,
SetRectangularSelectionCaret = 2588,
GetRectangularSelectionCaret = 2589,
SetRectangularSelectionAnchor = 2590,
GetRectangularSelectionAnchor = 2591,
SetRectangularSelectionCaretVirtualSpace = 2592,
GetRectangularSelectionCaretVirtualSpace = 2593,
SetRectangularSelectionAnchorVirtualSpace = 2594,
GetRectangularSelectionAnchorVirtualSpace = 2595,
SetVirtualSpaceOptions = 2596,
GetVirtualSpaceOptions = 2597,
SetRectangularSelectionModifier = 2598,
GetRectangularSelectionModifier = 2599,
SetAdditionalSelFore = 2600,
SetAdditionalSelBack = 2601,
SetAdditionalSelAlpha = 2602,
GetAdditionalSelAlpha = 2603,
SetAdditionalCaretFore = 2604,
GetAdditionalCaretFore = 2605,
RotateSelection = 2606,
SwapMainAnchorCaret = 2607,
MultipleSelectAddNext = 2688,
MultipleSelectAddEach = 2689,
ChangeLexerState = 2617,
ContractedFoldNext = 2618,
VerticalCentreCaret = 2619,
MoveSelectedLinesUp = 2620,
MoveSelectedLinesDown = 2621,
SetIdentifier = 2622,
GetIdentifier = 2623,
RGBAImageSetWidth = 2624,
RGBAImageSetHeight = 2625,
RGBAImageSetScale = 2651,
MarkerDefineRGBAImage = 2626,
RegisterRGBAImage = 2627,
ScrollToStart = 2628,
ScrollToEnd = 2629,
SetTechnology = 2630,
GetTechnology = 2631,
CreateLoader = 2632,
FindIndicatorShow = 2640,
FindIndicatorFlash = 2641,
FindIndicatorHide = 2642,
VCHomeDisplay = 2652,
VCHomeDisplayExtend = 2653,
GetCaretLineVisibleAlways = 2654,
SetCaretLineVisibleAlways = 2655,
SetLineEndTypesAllowed = 2656,
GetLineEndTypesAllowed = 2657,
GetLineEndTypesActive = 2658,
SetRepresentation = 2665,
GetRepresentation = 2666,
ClearRepresentation = 2667,
ClearAllRepresentations = 2770,
SetRepresentationAppearance = 2766,
GetRepresentationAppearance = 2767,
SetRepresentationColour = 2768,
GetRepresentationColour = 2769,
EOLAnnotationSetText = 2740,
EOLAnnotationGetText = 2741,
EOLAnnotationSetStyle = 2742,
EOLAnnotationGetStyle = 2743,
EOLAnnotationClearAll = 2744,
EOLAnnotationSetVisible = 2745,
EOLAnnotationGetVisible = 2746,
EOLAnnotationSetStyleOffset = 2747,
EOLAnnotationGetStyleOffset = 2748,
SupportsFeature = 2750,
GetLineCharacterIndex = 2710,
AllocateLineCharacterIndex = 2711,
ReleaseLineCharacterIndex = 2712,
LineFromIndexPosition = 2713,
IndexPositionFromLine = 2714,
StartRecord = 3001,
StopRecord = 3002,
GetLexer = 4002,
Colourise = 4003,
SetProperty = 4004,
SetKeyWords = 4005,
GetProperty = 4008,
GetPropertyExpanded = 4009,
GetPropertyInt = 4010,
GetLexerLanguage = 4012,
PrivateLexerCall = 4013,
PropertyNames = 4014,
PropertyType = 4015,
DescribeProperty = 4016,
DescribeKeyWordSets = 4017,
GetLineEndTypesSupported = 4018,
AllocateSubStyles = 4020,
GetSubStylesStart = 4021,
GetSubStylesLength = 4022,
GetStyleFromSubStyle = 4027,
GetPrimaryStyleFromStyle = 4028,
FreeSubStyles = 4023,
SetIdentifiers = 4024,
DistanceToSecondaryStyles = 4025,
GetSubStyleBases = 4026,
GetNamedStyles = 4029,
NameOfStyle = 4030,
TagsOfStyle = 4031,
DescriptionOfStyle = 4032,
SetILexer = 4033,
GetBidirectional = 2708,
SetBidirectional = 2709,
};
//--Autogenerated -- end of section automatically generated from Scintilla.iface
}
#endif

View File

@ -0,0 +1,129 @@
// 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;
};
enum class Message; // Declare in case ScintillaMessages.h not included
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

View File

@ -0,0 +1,842 @@
// Scintilla source code edit control
/** @file ScintillaTypes.h
** Types used to communicate with Scintilla.
**/
// Copyright 1998-2019 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
/* Most of this file is automatically generated from the Scintilla.iface interface definition
* file which contains any comments about the definitions. ScintillaAPIFacer.py does the generation. */
#ifndef SCINTILLATYPES_H
#define SCINTILLATYPES_H
namespace Scintilla {
// Enumerations
//++Autogenerated -- start of section automatically generated from Scintilla.iface
enum class WhiteSpace {
Invisible = 0,
VisibleAlways = 1,
VisibleAfterIndent = 2,
VisibleOnlyInIndent = 3,
};
enum class TabDrawMode {
LongArrow = 0,
StrikeOut = 1,
};
enum class EndOfLine {
CrLf = 0,
Cr = 1,
Lf = 2,
};
enum class IMEInteraction {
Windowed = 0,
Inline = 1,
};
enum class Alpha {
Transparent = 0,
Opaque = 255,
NoAlpha = 256,
};
enum class CursorShape {
Normal = -1,
Arrow = 2,
Wait = 4,
ReverseArrow = 7,
};
enum class MarkerSymbol {
Circle = 0,
RoundRect = 1,
Arrow = 2,
SmallRect = 3,
ShortArrow = 4,
Empty = 5,
ArrowDown = 6,
Minus = 7,
Plus = 8,
VLine = 9,
LCorner = 10,
TCorner = 11,
BoxPlus = 12,
BoxPlusConnected = 13,
BoxMinus = 14,
BoxMinusConnected = 15,
LCornerCurve = 16,
TCornerCurve = 17,
CirclePlus = 18,
CirclePlusConnected = 19,
CircleMinus = 20,
CircleMinusConnected = 21,
Background = 22,
DotDotDot = 23,
Arrows = 24,
Pixmap = 25,
FullRect = 26,
LeftRect = 27,
Available = 28,
Underline = 29,
RgbaImage = 30,
Bookmark = 31,
VerticalBookmark = 32,
Bar = 33,
Character = 10000,
};
enum class MarkerOutline {
HistoryRevertedToOrigin = 21,
HistorySaved = 22,
HistoryModified = 23,
HistoryRevertedToModified = 24,
FolderEnd = 25,
FolderOpenMid = 26,
FolderMidTail = 27,
FolderTail = 28,
FolderSub = 29,
Folder = 30,
FolderOpen = 31,
};
enum class MarginType {
Symbol = 0,
Number = 1,
Back = 2,
Fore = 3,
Text = 4,
RText = 5,
Colour = 6,
};
enum class StylesCommon {
Default = 32,
LineNumber = 33,
BraceLight = 34,
BraceBad = 35,
ControlChar = 36,
IndentGuide = 37,
CallTip = 38,
FoldDisplayText = 39,
LastPredefined = 39,
Max = 255,
};
enum class CharacterSet {
Ansi = 0,
Default = 1,
Baltic = 186,
ChineseBig5 = 136,
EastEurope = 238,
GB2312 = 134,
Greek = 161,
Hangul = 129,
Mac = 77,
Oem = 255,
Russian = 204,
Oem866 = 866,
Cyrillic = 1251,
ShiftJis = 128,
Symbol = 2,
Turkish = 162,
Johab = 130,
Hebrew = 177,
Arabic = 178,
Vietnamese = 163,
Thai = 222,
Iso8859_15 = 1000,
};
enum class CaseVisible {
Mixed = 0,
Upper = 1,
Lower = 2,
Camel = 3,
};
enum class FontWeight {
Normal = 400,
SemiBold = 600,
Bold = 700,
};
enum class Element {
List = 0,
ListBack = 1,
ListSelected = 2,
ListSelectedBack = 3,
SelectionText = 10,
SelectionBack = 11,
SelectionAdditionalText = 12,
SelectionAdditionalBack = 13,
SelectionSecondaryText = 14,
SelectionSecondaryBack = 15,
SelectionInactiveText = 16,
SelectionInactiveBack = 17,
SelectionInactiveAdditionalText = 18,
SelectionInactiveAdditionalBack = 19,
Caret = 40,
CaretAdditional = 41,
CaretLineBack = 50,
WhiteSpace = 60,
WhiteSpaceBack = 61,
HotSpotActive = 70,
HotSpotActiveBack = 71,
FoldLine = 80,
HiddenLine = 81,
};
enum class Layer {
Base = 0,
UnderText = 1,
OverText = 2,
};
enum class IndicatorStyle {
Plain = 0,
Squiggle = 1,
TT = 2,
Diagonal = 3,
Strike = 4,
Hidden = 5,
Box = 6,
RoundBox = 7,
StraightBox = 8,
Dash = 9,
Dots = 10,
SquiggleLow = 11,
DotBox = 12,
SquigglePixmap = 13,
CompositionThick = 14,
CompositionThin = 15,
FullBox = 16,
TextFore = 17,
Point = 18,
PointCharacter = 19,
Gradient = 20,
GradientCentre = 21,
PointTop = 22,
};
enum class IndicatorNumbers {
Container = 8,
Ime = 32,
ImeMax = 35,
HistoryRevertedToOriginInsertion = 36,
HistoryRevertedToOriginDeletion = 37,
HistorySavedInsertion = 38,
HistorySavedDeletion = 39,
HistoryModifiedInsertion = 40,
HistoryModifiedDeletion = 41,
HistoryRevertedToModifiedInsertion = 42,
HistoryRevertedToModifiedDeletion = 43,
Max = 43,
};
enum class IndicValue {
Bit = 0x1000000,
Mask = 0xFFFFFF,
};
enum class IndicFlag {
None = 0,
ValueFore = 1,
};
enum class AutoCompleteOption {
Normal = 0,
FixedSize = 1,
SelectFirstItem = 2,
};
enum class IndentView {
None = 0,
Real = 1,
LookForward = 2,
LookBoth = 3,
};
enum class PrintOption {
Normal = 0,
InvertLight = 1,
BlackOnWhite = 2,
ColourOnWhite = 3,
ColourOnWhiteDefaultBG = 4,
ScreenColours = 5,
};
enum class FindOption {
None = 0x0,
WholeWord = 0x2,
MatchCase = 0x4,
WordStart = 0x00100000,
RegExp = 0x00200000,
Posix = 0x00400000,
Cxx11RegEx = 0x00800000,
};
enum class ChangeHistoryOption {
Disabled = 0,
Enabled = 1,
Markers = 2,
Indicators = 4,
};
enum class FoldLevel {
None = 0x0,
Base = 0x400,
WhiteFlag = 0x1000,
HeaderFlag = 0x2000,
NumberMask = 0x0FFF,
};
enum class FoldDisplayTextStyle {
Hidden = 0,
Standard = 1,
Boxed = 2,
};
enum class FoldAction {
Contract = 0,
Expand = 1,
Toggle = 2,
ContractEveryLevel = 4,
};
enum class AutomaticFold {
None = 0x0000,
Show = 0x0001,
Click = 0x0002,
Change = 0x0004,
};
enum class FoldFlag {
None = 0x0000,
LineBeforeExpanded = 0x0002,
LineBeforeContracted = 0x0004,
LineAfterExpanded = 0x0008,
LineAfterContracted = 0x0010,
LevelNumbers = 0x0040,
LineState = 0x0080,
};
enum class IdleStyling {
None = 0,
ToVisible = 1,
AfterVisible = 2,
All = 3,
};
enum class Wrap {
None = 0,
Word = 1,
Char = 2,
WhiteSpace = 3,
};
enum class WrapVisualFlag {
None = 0x0000,
End = 0x0001,
Start = 0x0002,
Margin = 0x0004,
};
enum class WrapVisualLocation {
Default = 0x0000,
EndByText = 0x0001,
StartByText = 0x0002,
};
enum class WrapIndentMode {
Fixed = 0,
Same = 1,
Indent = 2,
DeepIndent = 3,
};
enum class LineCache {
None = 0,
Caret = 1,
Page = 2,
Document = 3,
};
enum class PhasesDraw {
One = 0,
Two = 1,
Multiple = 2,
};
enum class FontQuality {
QualityMask = 0xF,
QualityDefault = 0,
QualityNonAntialiased = 1,
QualityAntialiased = 2,
QualityLcdOptimized = 3,
};
enum class MultiPaste {
Once = 0,
Each = 1,
};
enum class Accessibility {
Disabled = 0,
Enabled = 1,
};
enum class EdgeVisualStyle {
None = 0,
Line = 1,
Background = 2,
MultiLine = 3,
};
enum class PopUp {
Never = 0,
All = 1,
Text = 2,
};
enum class DocumentOption {
Default = 0,
StylesNone = 0x1,
TextLarge = 0x100,
};
enum class Status {
Ok = 0,
Failure = 1,
BadAlloc = 2,
WarnStart = 1000,
RegEx = 1001,
};
enum class VisiblePolicy {
Slop = 0x01,
Strict = 0x04,
};
enum class CaretPolicy {
Slop = 0x01,
Strict = 0x04,
Jumps = 0x10,
Even = 0x08,
};
enum class SelectionMode {
Stream = 0,
Rectangle = 1,
Lines = 2,
Thin = 3,
};
enum class CaseInsensitiveBehaviour {
RespectCase = 0,
IgnoreCase = 1,
};
enum class MultiAutoComplete {
Once = 0,
Each = 1,
};
enum class Ordering {
PreSorted = 0,
PerformSort = 1,
Custom = 2,
};
enum class CaretSticky {
Off = 0,
On = 1,
WhiteSpace = 2,
};
enum class CaretStyle {
Invisible = 0,
Line = 1,
Block = 2,
OverstrikeBar = 0,
OverstrikeBlock = 0x10,
Curses = 0x20,
InsMask = 0xF,
BlockAfter = 0x100,
};
enum class MarginOption {
None = 0,
SubLineSelect = 1,
};
enum class AnnotationVisible {
Hidden = 0,
Standard = 1,
Boxed = 2,
Indented = 3,
};
enum class UndoFlags {
None = 0,
MayCoalesce = 1,
};
enum class VirtualSpace {
None = 0,
RectangularSelection = 1,
UserAccessible = 2,
NoWrapLineStart = 4,
};
enum class Technology {
Default = 0,
DirectWrite = 1,
DirectWriteRetain = 2,
DirectWriteDC = 3,
};
enum class LineEndType {
Default = 0,
Unicode = 1,
};
enum class RepresentationAppearance {
Plain = 0,
Blob = 1,
Colour = 0x10,
};
enum class EOLAnnotationVisible {
Hidden = 0x0,
Standard = 0x1,
Boxed = 0x2,
Stadium = 0x100,
FlatCircle = 0x101,
AngleCircle = 0x102,
CircleFlat = 0x110,
Flats = 0x111,
AngleFlat = 0x112,
CircleAngle = 0x120,
FlatAngle = 0x121,
Angles = 0x122,
};
enum class Supports {
LineDrawsFinal = 0,
PixelDivisions = 1,
FractionalStrokeWidth = 2,
TranslucentStroke = 3,
PixelModification = 4,
ThreadSafeMeasureWidths = 5,
};
enum class LineCharacterIndexType {
None = 0,
Utf32 = 1,
Utf16 = 2,
};
enum class TypeProperty {
Boolean = 0,
Integer = 1,
String = 2,
};
enum class ModificationFlags {
None = 0x0,
InsertText = 0x1,
DeleteText = 0x2,
ChangeStyle = 0x4,
ChangeFold = 0x8,
User = 0x10,
Undo = 0x20,
Redo = 0x40,
MultiStepUndoRedo = 0x80,
LastStepInUndoRedo = 0x100,
ChangeMarker = 0x200,
BeforeInsert = 0x400,
BeforeDelete = 0x800,
MultilineUndoRedo = 0x1000,
StartAction = 0x2000,
ChangeIndicator = 0x4000,
ChangeLineState = 0x8000,
ChangeMargin = 0x10000,
ChangeAnnotation = 0x20000,
Container = 0x40000,
LexerState = 0x80000,
InsertCheck = 0x100000,
ChangeTabStops = 0x200000,
ChangeEOLAnnotation = 0x400000,
EventMaskAll = 0x7FFFFF,
};
enum class Update {
None = 0x0,
Content = 0x1,
Selection = 0x2,
VScroll = 0x4,
HScroll = 0x8,
};
enum class FocusChange {
Change = 768,
Setfocus = 512,
Killfocus = 256,
};
enum class Keys {
Down = 300,
Up = 301,
Left = 302,
Right = 303,
Home = 304,
End = 305,
Prior = 306,
Next = 307,
Delete = 308,
Insert = 309,
Escape = 7,
Back = 8,
Tab = 9,
Return = 13,
Add = 310,
Subtract = 311,
Divide = 312,
Win = 313,
RWin = 314,
Menu = 315,
};
enum class KeyMod {
Norm = 0,
Shift = 1,
Ctrl = 2,
Alt = 4,
Super = 8,
Meta = 16,
};
enum class CompletionMethods {
FillUp = 1,
DoubleClick = 2,
Tab = 3,
Newline = 4,
Command = 5,
SingleChoice = 6,
};
enum class CharacterSource {
DirectInput = 0,
TentativeInput = 1,
ImeResult = 2,
};
enum class Bidirectional {
Disabled = 0,
L2R = 1,
R2L = 2,
};
enum class Notification {
StyleNeeded = 2000,
CharAdded = 2001,
SavePointReached = 2002,
SavePointLeft = 2003,
ModifyAttemptRO = 2004,
Key = 2005,
DoubleClick = 2006,
UpdateUI = 2007,
Modified = 2008,
MacroRecord = 2009,
MarginClick = 2010,
NeedShown = 2011,
Painted = 2013,
UserListSelection = 2014,
URIDropped = 2015,
DwellStart = 2016,
DwellEnd = 2017,
Zoom = 2018,
HotSpotClick = 2019,
HotSpotDoubleClick = 2020,
CallTipClick = 2021,
AutoCSelection = 2022,
IndicatorClick = 2023,
IndicatorRelease = 2024,
AutoCCancelled = 2025,
AutoCCharDeleted = 2026,
HotSpotReleaseClick = 2027,
FocusIn = 2028,
FocusOut = 2029,
AutoCCompleted = 2030,
MarginRightClick = 2031,
AutoCSelectionChange = 2032,
};
//--Autogenerated -- end of section automatically generated from Scintilla.iface
using Position = intptr_t;
using Line = intptr_t;
using Colour = int;
using ColourAlpha = int;
using uptr_t = uintptr_t;
using sptr_t = intptr_t;
//++Autogenerated -- start of section automatically generated from Scintilla.iface
//**1 \(\*\n\)
constexpr Position InvalidPosition = -1;
constexpr int CpUtf8 = 65001;
constexpr int MarkerMax = 31;
constexpr int MaskFolders = 0xFE000000;
constexpr int MaxMargin = 4;
constexpr int FontSizeMultiplier = 100;
constexpr int TimeForever = 10000000;
constexpr int KeywordsetMax = 8;
//--Autogenerated -- end of section automatically generated from Scintilla.iface
constexpr int IndicatorMax = static_cast<int>(IndicatorNumbers::Max);
// Functions to manipulate fields from a MarkerOutline
inline int operator<<(int i, MarkerOutline marker) noexcept {
return i << static_cast<int>(marker);
}
// Functions to manipulate fields from a FindOption
constexpr FindOption operator|(FindOption a, FindOption b) noexcept {
return static_cast<FindOption>(static_cast<int>(a) | static_cast<int>(b));
}
inline FindOption &operator|=(FindOption &self, FindOption a) noexcept {
self = self | a;
return self;
}
// Functions to retrieve and manipulate fields from a FoldLevel
constexpr FoldLevel operator&(FoldLevel lhs, FoldLevel rhs) noexcept {
return static_cast<FoldLevel>(static_cast<int>(lhs) & static_cast<int>(rhs));
}
constexpr FoldLevel LevelNumberPart(FoldLevel level) noexcept {
return level & FoldLevel::NumberMask;
}
constexpr int LevelNumber(FoldLevel level) noexcept {
return static_cast<int>(LevelNumberPart(level));
}
constexpr bool LevelIsHeader(FoldLevel level) noexcept {
return (level & FoldLevel::HeaderFlag) == FoldLevel::HeaderFlag;
}
constexpr bool LevelIsWhitespace(FoldLevel level) noexcept {
return (level & FoldLevel::WhiteFlag) == FoldLevel::WhiteFlag;
}
// Functions to manipulate fields from a FoldFlag
constexpr FoldFlag operator|(FoldFlag a, FoldFlag b) noexcept {
return static_cast<FoldFlag>(static_cast<int>(a) | static_cast<int>(b));
}
// Functions to manipulate fields from a FontQuality
constexpr FontQuality operator&(FontQuality a, FontQuality b) noexcept {
return static_cast<FontQuality>(static_cast<int>(a) & static_cast<int>(b));
}
// Functions to manipulate fields from a DocumentOption
constexpr DocumentOption operator|(DocumentOption a, DocumentOption b) noexcept {
return static_cast<DocumentOption>(static_cast<int>(a) | static_cast<int>(b));
}
// Functions to manipulate fields from a CaretPolicy
constexpr CaretPolicy operator|(CaretPolicy a, CaretPolicy b) noexcept {
return static_cast<CaretPolicy>(static_cast<int>(a) | static_cast<int>(b));
}
// Functions to manipulate fields from a CaretStyle
constexpr CaretStyle operator|(CaretStyle a, CaretStyle b) noexcept {
return static_cast<CaretStyle>(static_cast<int>(a) | static_cast<int>(b));
}
constexpr CaretStyle operator&(CaretStyle a, CaretStyle b) noexcept {
return static_cast<CaretStyle>(static_cast<int>(a) & static_cast<int>(b));
}
// Functions to manipulate fields from a LineEndType
constexpr LineEndType operator&(LineEndType a, LineEndType b) noexcept {
return static_cast<LineEndType>(static_cast<int>(a) & static_cast<int>(b));
}
// Functions to manipulate fields from a RepresentationAppearance
constexpr RepresentationAppearance operator|(RepresentationAppearance a, RepresentationAppearance b) noexcept {
return static_cast<RepresentationAppearance>(static_cast<int>(a) | static_cast<int>(b));
}
// Functions to manipulate fields from a LineCharacterIndexType
constexpr LineCharacterIndexType operator|(LineCharacterIndexType a, LineCharacterIndexType b) noexcept {
return static_cast<LineCharacterIndexType>(static_cast<int>(a) | static_cast<int>(b));
}
// Functions to manipulate fields from a ModificationFlags
constexpr ModificationFlags operator|(ModificationFlags a, ModificationFlags b) noexcept {
return static_cast<ModificationFlags>(static_cast<int>(a) | static_cast<int>(b));
}
constexpr ModificationFlags operator&(ModificationFlags a, ModificationFlags b) noexcept {
return static_cast<ModificationFlags>(static_cast<int>(a) & static_cast<int>(b));
}
inline ModificationFlags &operator|=(ModificationFlags &self, ModificationFlags a) noexcept {
self = self | a;
return self;
}
// Functions to manipulate fields from a Update
constexpr Update operator|(Update a, Update b) noexcept {
return static_cast<Update>(static_cast<int>(a) | static_cast<int>(b));
}
// Functions to manipulate fields from a KeyMod
constexpr KeyMod operator|(KeyMod a, KeyMod b) noexcept {
return static_cast<KeyMod>(static_cast<int>(a) | static_cast<int>(b));
}
constexpr KeyMod operator&(KeyMod a, KeyMod b) noexcept {
return static_cast<KeyMod>(static_cast<int>(a) & static_cast<int>(b));
}
constexpr KeyMod ModifierFlags(bool shift, bool ctrl, bool alt, bool meta=false, bool super=false) noexcept {
return
(shift ? KeyMod::Shift : KeyMod::Norm) |
(ctrl ? KeyMod::Ctrl : KeyMod::Norm) |
(alt ? KeyMod::Alt : KeyMod::Norm) |
(meta ? KeyMod::Meta : KeyMod::Norm) |
(super ? KeyMod::Super : KeyMod::Norm);
}
// Test if an enum class value has some bit flag(s) of test set.
template <typename T>
constexpr bool FlagSet(T value, T test) {
return (static_cast<int>(value) & static_cast<int>(test)) != 0;
}
}
#endif

View File

@ -0,0 +1,72 @@
/* Scintilla source code edit control */
/* @file ScintillaWidget.h
* Definition of Scintilla widget for GTK+.
* Only needed by GTK+ code but is harmless on other platforms.
* This comment is not a doc-comment as that causes warnings from g-ir-scanner.
*/
/* Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
* The License.txt file describes the conditions under which this software may be distributed. */
#ifndef SCINTILLAWIDGET_H
#define SCINTILLAWIDGET_H
#if defined(GTK)
#ifdef __cplusplus
extern "C" {
#endif
#define SCINTILLA(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, scintilla_get_type (), ScintillaObject)
#define SCINTILLA_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, scintilla_get_type (), ScintillaClass)
#define IS_SCINTILLA(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, scintilla_get_type ())
#define SCINTILLA_TYPE_OBJECT (scintilla_object_get_type())
#define SCINTILLA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SCINTILLA_TYPE_OBJECT, ScintillaObject))
#define SCINTILLA_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SCINTILLA_TYPE_OBJECT))
#define SCINTILLA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SCINTILLA_TYPE_OBJECT, ScintillaObjectClass))
#define SCINTILLA_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SCINTILLA_TYPE_OBJECT))
#define SCINTILLA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), SCINTILLA_TYPE_OBJECT, ScintillaObjectClass))
typedef struct _ScintillaObject ScintillaObject;
typedef struct _ScintillaClass ScintillaObjectClass;
struct _ScintillaObject {
GtkContainer cont;
void *pscin;
};
struct _ScintillaClass {
GtkContainerClass parent_class;
void (* command) (ScintillaObject *sci, int cmd, GtkWidget *window);
void (* notify) (ScintillaObject *sci, int id, SCNotification *scn);
};
GType scintilla_object_get_type (void);
GtkWidget* scintilla_object_new (void);
gintptr scintilla_object_send_message (ScintillaObject *sci, unsigned int iMessage, guintptr wParam, gintptr lParam);
GType scnotification_get_type (void);
#define SCINTILLA_TYPE_NOTIFICATION (scnotification_get_type())
#ifndef G_IR_SCANNING
/* The legacy names confuse the g-ir-scanner program */
typedef struct _ScintillaClass ScintillaClass;
GType scintilla_get_type (void);
GtkWidget* scintilla_new (void);
void scintilla_set_id (ScintillaObject *sci, uptr_t id);
sptr_t scintilla_send_message (ScintillaObject *sci,unsigned int iMessage, uptr_t wParam, sptr_t lParam);
void scintilla_release_resources(void);
#endif
#define SCINTILLA_NOTIFY "sci-notify"
#ifdef __cplusplus
}
#endif
#endif
#endif