diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ILoader.h | 4 | ||||
-rw-r--r-- | include/Scintilla.iface | 6 | ||||
-rw-r--r-- | include/ScintillaMessages.h | 778 | ||||
-rw-r--r-- | include/ScintillaStructures.h | 103 | ||||
-rw-r--r-- | include/ScintillaTypes.h | 786 |
5 files changed, 1677 insertions, 0 deletions
diff --git a/include/ILoader.h b/include/ILoader.h index e989de873..2fa69f527 100644 --- a/include/ILoader.h +++ b/include/ILoader.h @@ -10,6 +10,8 @@ #include "Sci_Position.h" +namespace Scintilla { + class ILoader { public: virtual int SCI_METHOD Release() = 0; @@ -18,4 +20,6 @@ public: virtual void * SCI_METHOD ConvertToDocument() = 0; }; +} + #endif diff --git a/include/Scintilla.iface b/include/Scintilla.iface index 7304cad56..7ec3e9e7b 100644 --- a/include/Scintilla.iface +++ b/include/Scintilla.iface @@ -885,6 +885,7 @@ val SC_INDICVALUEBIT=0x1000000 val SC_INDICVALUEMASK=0xFFFFFF enu IndicFlag=SC_INDICFLAG_ +val SC_INDICFLAG_NONE=0 val SC_INDICFLAG_VALUEFORE=1 ali SC_INDICFLAG_VALUEFORE=VALUE_FORE @@ -1416,6 +1417,7 @@ fun line DocLineFromVisible=2221(line displayLine,) fun line WrapCount=2235(line docLine,) enu FoldLevel=SC_FOLDLEVEL +val SC_FOLDLEVELNONE=0x0 val SC_FOLDLEVELBASE=0x400 val SC_FOLDLEVELWHITEFLAG=0x1000 val SC_FOLDLEVELHEADERFLAG=0x2000 @@ -1501,6 +1503,7 @@ fun void FoldAll=2662(FoldAction action,) fun void EnsureVisible=2232(line line,) enu AutomaticFold=SC_AUTOMATICFOLD_ +val SC_AUTOMATICFOLD_NONE=0x0000 val SC_AUTOMATICFOLD_SHOW=0x0001 val SC_AUTOMATICFOLD_CLICK=0x0002 val SC_AUTOMATICFOLD_CHANGE=0x0004 @@ -1512,6 +1515,7 @@ set void SetAutomaticFold=2663(AutomaticFold automaticFold,) get AutomaticFold GetAutomaticFold=2664(,) enu FoldFlag=SC_FOLDFLAG_ +val SC_FOLDFLAG_NONE=0x0000 val SC_FOLDFLAG_LINEBEFORE_EXPANDED=0x0002 val SC_FOLDFLAG_LINEBEFORE_CONTRACTED=0x0004 val SC_FOLDFLAG_LINEAFTER_EXPANDED=0x0008 @@ -3169,6 +3173,7 @@ ali SC_MOD_CHANGEEOLANNOTATION=CHANGE_E_O_L_ANNOTATION ali SC_MODEVENTMASKALL=EVENT_MASK_ALL enu Update=SC_UPDATE_ +val SC_UPDATE_NONE=0x0 val SC_UPDATE_CONTENT=0x1 val SC_UPDATE_SELECTION=0x2 val SC_UPDATE_V_SCROLL=0x4 @@ -3178,6 +3183,7 @@ val SC_UPDATE_H_SCROLL=0x8 # and should have had exactly the same values as the EN_* constants. # Unfortunately the SETFOCUS and KILLFOCUS are flipped over from EN_* # As clients depend on these constants, this will not be changed. +enu FocusChange=SCEN_ val SCEN_CHANGE=768 val SCEN_SETFOCUS=512 val SCEN_KILLFOCUS=256 diff --git a/include/ScintillaMessages.h b/include/ScintillaMessages.h new file mode 100644 index 000000000..ba2a3f2cd --- /dev/null +++ b/include/ScintillaMessages.h @@ -0,0 +1,778 @@ +// 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, + Redo = 2011, + SetUndoCollection = 2012, + SelectAll = 2013, + SetSavePoint = 2014, + GetStyledText = 2015, + 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, + 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, + 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, + 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, + 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, + FormatRange = 2151, + GetFirstVisibleLine = 2152, + GetLine = 2153, + GetLineCount = 2154, + SetMarginLeft = 2155, + GetMarginLeft = 2156, + SetMarginRight = 2157, + GetMarginRight = 2158, + GetModify = 2159, + SetSel = 2160, + GetSelText = 2161, + GetTextRange = 2162, + HideSelection = 2163, + 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, + 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, + 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, + GetSelectionMode = 2423, + 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, + 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, + 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, + 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, + 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 diff --git a/include/ScintillaStructures.h b/include/ScintillaStructures.h new file mode 100644 index 000000000..6bd16e8c1 --- /dev/null +++ b/include/ScintillaStructures.h @@ -0,0 +1,103 @@ +// 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 TextRange { + CharacterRange chrg; + char *lpstrText; +}; + +struct TextToFind { + CharacterRange chrg; + const char *lpstrText; + CharacterRange 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 NotifyHeader { + /* Compatible with Windows NMHDR. + * hwndFrom is really an environment specific window handle or pointer + * but most clients of Scintilla.h do not have this type visible. */ + void *hwndFrom; + uptr_t idFrom; + Notification code; +}; + +struct NotificationData { + NotifyHeader nmhdr; + Position position; + /* SCN_STYLENEEDED, SCN_DOUBLECLICK, SCN_MODIFIED, SCN_MARGINCLICK, */ + /* SCN_NEEDSHOWN, SCN_DWELLSTART, SCN_DWELLEND, SCN_CALLTIPCLICK, */ + /* SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, SCN_HOTSPOTRELEASECLICK, */ + /* SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ + /* SCN_USERLISTSELECTION, SCN_AUTOCSELECTION */ + + int ch; + /* SCN_CHARADDED, SCN_KEY, SCN_AUTOCCOMPLETED, SCN_AUTOCSELECTION, */ + /* SCN_USERLISTSELECTION */ + KeyMod modifiers; + /* SCN_KEY, SCN_DOUBLECLICK, SCN_HOTSPOTCLICK, SCN_HOTSPOTDOUBLECLICK, */ + /* SCN_HOTSPOTRELEASECLICK, SCN_INDICATORCLICK, SCN_INDICATORRELEASE, */ + + ModificationFlags modificationType; /* SCN_MODIFIED */ + const char *text; + /* SCN_MODIFIED, SCN_USERLISTSELECTION, SCN_AUTOCSELECTION, SCN_URIDROPPED */ + + Position length; /* SCN_MODIFIED */ + Position linesAdded; /* SCN_MODIFIED */ + Message message; /* SCN_MACRORECORD */ + uptr_t wParam; /* SCN_MACRORECORD */ + sptr_t lParam; /* SCN_MACRORECORD */ + Position line; /* SCN_MODIFIED */ + FoldLevel foldLevelNow; /* SCN_MODIFIED */ + FoldLevel foldLevelPrev; /* SCN_MODIFIED */ + int margin; /* SCN_MARGINCLICK */ + int listType; /* SCN_USERLISTSELECTION */ + int x; /* SCN_DWELLSTART, SCN_DWELLEND */ + int y; /* SCN_DWELLSTART, SCN_DWELLEND */ + int token; /* SCN_MODIFIED with SC_MOD_CONTAINER */ + Position annotationLinesAdded; /* SCN_MODIFIED with SC_MOD_CHANGEANNOTATION */ + Update updated; /* SCN_UPDATEUI */ + CompletionMethods listCompletionMethod; + /* SCN_AUTOCSELECTION, SCN_AUTOCCOMPLETED, SCN_USERLISTSELECTION, */ + CharacterSource characterSource; /* SCN_CHARADDED */ +}; + +} + +#endif 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 |