diff options
Diffstat (limited to 'include/ScintillaTypes.h')
-rw-r--r-- | include/ScintillaTypes.h | 786 |
1 files changed, 786 insertions, 0 deletions
diff --git a/include/ScintillaTypes.h b/include/ScintillaTypes.h new file mode 100644 index 000000000..6b5714b69 --- /dev/null +++ b/include/ScintillaTypes.h @@ -0,0 +1,786 @@ +// 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, + Character = 10000, +}; + +enum class MarkerOutline { + 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, + SelectionNoFocusText = 16, + SelectionNoFocusBack = 17, + Caret = 40, + CaretAdditional = 41, + CaretLineBack = 50, + WhiteSpace = 60, + WhiteSpaceBack = 61, + HotSpotActive = 70, + HotSpotActiveBack = 71, +}; + +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, +}; + +enum class IndicatorNumbers { + Container = 8, + Ime = 32, + ImeMax = 35, + Max = 35, +}; + +enum class IndicValue { + Bit = 0x1000000, + Mask = 0xFFFFFF, +}; + +enum class IndicFlag { + None = 0, + ValueFore = 1, +}; + +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 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, +}; + +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, + 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 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, +}; + +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, +}; + +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 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)); +} + +// Test if an enum class value has the 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)) == static_cast<int>(test); +} + +} + +#endif |