Platforms to show: All Mac Windows Linux Cross-Platform

ScintillaControlMBS constants

Constants

Constant Value Description
kAlphaOpaque 255 One of the alpha channel constants. Opaque color.
kAlphaTransparent 0 One of the alpha channel constants. Full transparency.
kInvalidPosition -1 Invalid position constant.
kMaskFolders &hFE000000 The mask for folder flags.
kTimeForever 10000000 The constant for MouseDwellTime to mean forever in duration.

Accessibility Status

Constant Value Description
kAccessibilityDisabled 0 Accessibility is disabled.
kAccessibilityEnabled 1 Accessibility is enabled.

Alpha

Constant Value Description
kAlphaNoAlpha 256 Special value to indicate no alpha.

Annotation Visibility

Constant Value Description
kAnnotationVisibleBoxed 2 Annotations are indented to match the text and are surrounded by a box.
kAnnotationVisibleHidden 0 Annotations are not displayed.
kAnnotationVisibleIndented 3 Annotations are indented to match the text.
kAnnotationVisibleStandard 1 Annotations are drawn left justified with no adornment.

Auto Completion Flags

Constant Value Description
kAutoCompleteOptionFixedSize 1 On Win32 only, use a fixed size list instead of one that can be resized by the user. This also avoids a header rectangle above the list.
kAutoCompleteOptionNormal 0 Display autocompletion using default settings.

Automatic Folding

Constant Value Description
kAutomaticFoldChange &h0004 Show lines as needed when fold structure is changed.
The Modified notification is still sent unless it is disabled by the container.
kAutomaticFoldClick &h0002 Handle clicks in fold margin automatically.
This avoids sending the MarginClick event for folding margins.
kAutomaticFoldNone &h0000 Value with no automatic behaviour.
kAutomaticFoldShow &h0001 Automatically show lines as needed. This avoids sending the NeedsShown notification.

Bidirectional Modes

Constant Value Description
kBidirectionalDisabled 0 Disabled
kBidirectionalL2R 1 Left to Right
kBidirectionalR2L 2 Right to Left

Caret Policy

Constant Value Description
kCaretPolicyEven &h08 If not set, instead of having symmetrical UZs, the left and bottom UZs are extended up to right and top UZs respectively. This way, we favour the displaying of useful information: the beginning of lines, where most code reside, and the lines after the caret, for example, the body of a function.
kCaretPolicyJumps &h10 If set, the display is moved more energetically so the caret can move in the same direction longer before the policy is applied again. '3UZ' notation is used to indicate three time the size of the UZ as a distance to the margin.
kCaretPolicySlop &h01 If set, we can define a slop value: caretSlop. This value defines an unwanted zone (UZ) where the caret is... unwanted. This zone is defined as a number of pixels near the vertical margins, and as a number of lines near the horizontal margins. By keeping the caret away from the edges, it is seen within its context. This makes it likely that the identifier that the caret is on can be completely seen, and that the current line is seen with some of the lines following it, which are often dependent on that line.
kCaretPolicyStrict &h04 If set, the policy set by kCaretPolicySlop is enforced... strictly. The caret is centred on the display if caretSlop is not set, and cannot go in the UZ if caretSlop is set.

Caret Sticky

Constant Value Description
kCaretStickyOff 0 When set to kCaretStickyOff (0), the sticky flag is off; all text changes (and all caret position changes) will remember the caret's new horizontal position when moving to different lines. This is the default.
kCaretStickyOn 1 When set to kCaretStickyOn (1), the sticky flag is on, and the only thing which will cause the editor to remember the horizontal caret position is moving the caret with mouse or keyboard (left/right arrow keys, home/end keys, etc).
kCaretStickyWhiteSpace 2 When set to kCaretStickyWhiteSpace (2), the caret acts like mode 0 (sticky off) except under one special case; when space or tab characters are inserted. (Including pasting only space/tabs -- undo, redo, etc. do not exhibit this behaviour..).

Caret Styles

Constant Value Description
kCaretStyleBlock 2 Draws insertion carets as blocks.
kCaretStyleBlockAfter &h100 When the caret end of a range is at the end and a block caret style is chosen, draws the block outside the selection instead of inside. This can be ored with kCaretStyleBlock or kCaretStyleBlockCurses.
kCaretStyleInsMask &hF The mask to only get the bits for insert mode.
kCaretStyleInvisible 0 Carets are not drawn at all.
kCaretStyleLine 1 Draws insertion carets as lines. This is the default.
kCaretStyleOverstrikeBar 0 Draws an overstrike caret as a bar. This is the default.
kCaretStyleOverstrikeBlock &h10 Draws an overstrike caret as a block. This should be ored with one of the first three styles.

Case Insenstive Behavior Flags

Constant Value Description
kCaseInsensitiveBehaviourIgnoreCase 1 Ignore Case
kCaseInsensitiveBehaviourRespectCase 0 Respect Case

Character Sets

Constant Value Description
kCharacterSetAnsi 0 ANSI
kCharacterSetArabic 178 Arabic
kCharacterSetBaltic 186 Baltic
kCharacterSetChineseBig5 136 Chinese Big 5
kCharacterSetCyrillic 1251 Cyrillic
kCharacterSetDefault 1 Default one
kCharacterSetEastEurope 238 East Europe
kCharacterSetGB2312 134 GB 2312
kCharacterSetGreek 161 Greek
kCharacterSetHangul 129 Hangul
kCharacterSetHebrew 177 Hebrew
kCharacterSetIso8859_15 1000 ISO 8859-15
kCharacterSetJohab 130 Johab
kCharacterSetMac 77 Mac
kCharacterSetOem 255 OEM
kCharacterSetOem866 866 OEM 866
kCharacterSetRussian 204 Russian
kCharacterSetShiftJis 128 ShiftJis
kCharacterSetSymbol 2 Symbol
kCharacterSetThai 222 Thai
kCharacterSetTurkish 162 Turkish
kCharacterSetVietnamese 163 Vietnamese

Character Sources

Constant Value Description
kCharacterSourceDirectInput 0 Direct input characters, including characters generated by calling keyboard commands like NewLine method.
kCharacterSourceImeResult 2 IME (either inline or windowed mode) full composited string. Modern IME is able to composite English word or sentence, when this value is set, current character may not a Chinese, Japanese or Korean character. Currently, this is only set on Windows.
kCharacterSourceTentativeInput 1 Tentative input characters. They are used by IME (inline mode, see IMEInteraction) to composite final string, normally different from final composited string (which is the string that has been truly added into current document), and may be withdrawn when the user cancels typing (e.g. by pressing Esc key). Some system (at least Cocoa) also use tentative input for non-IME features like using dead key to composite diacritical marks (grave accent, etc.). These characters are not added to macro recording. Most applications can simply ignore the notification when this value is set.

Completion Methods

Constant Value Description
kCompletionMethodsCommand 5 The AutoCSelect method triggered the completion. Character is 0.
kCompletionMethodsDoubleClick 2 A double-click triggered the completion. Character is 0.
kCompletionMethodsFillUp 1 A fillup character triggered the completion. The character used is in Character.
kCompletionMethodsNewline 4 A new line or Newline method triggered the completion. Character is 0.
kCompletionMethodsTab 3 The tab key or Tab method triggered the completion. Character is 0.

Cursor Shapes

Constant Value Description
kCursorShapeArrow 2 Normal arrow.
kCursorShapeNormal -1 The normal cursor is displayed.
kCursorShapeReverseArrow 7 Reverse arrow.
kCursorShapeWait 4 The wait cursor is displayed when the mouse is over or owned by the Scintilla window.

Document Option

Constant Value Description
kDocumentOptionDefault 0 Standard options.
kDocumentOptionStylesNone &h1 Stops allocation of memory to style characters which saves significant memory, often 40% with the whole document treated as being style 0.
kDocumentOptionTextLarge &h100 Accommodates documents larger than 2 GigaBytes in 64-bit executables.

Long line display modes

Constant Value Description
kEdgeVisualStyleBackground 2 The background colour of characters after the column limit is changed to the colour set by EdgeColor property. This is recommended for proportional fonts.
kEdgeVisualStyleLine 1 A vertical line is drawn at the column number set by EdgeColumn(). This works well for monospaced fonts. The line is drawn at a position based on the width of a space character in kStylesCommonDefault, so it may not work very well if your styles use proportional fonts or if your style have varied font sizes or you use a mixture of bold, italic and normal text.
kEdgeVisualStyleMultiLine 3 This is similar to kEdgeVisualStyleLine but in contrary to showing only one single line a configurable set of vertical lines can be shown simultaneously. This edgeMode uses a completely independent dataset that can only be configured by using the MultiEdge* methods.
kEdgeVisualStyleNone 0 Long lines are not marked. This is the default state.

Elements

Constant Value Description
kElementCaret 40 Colour of caret for main selection
kElementCaretAdditional 41 Colour of caret for additional selections
kElementCaretLineBack 50 Colour of caret line background
kElementFoldLine 80 Colour of fold lines
kElementHiddenLine 81 Colour of line drawn to show there are lines hidden at that point
kElementHotSpotActive 70 Text colour of active hot spot
kElementHotSpotActiveBack 71 Background colour of active hot spot
kElementList 0 Text colour in autocompletion lists
kElementListBack 1 Background colour of autocompletion lists
kElementListSelected 2 Text colour of selected item in autocompletion lists
kElementListSelectedBack 3 Background colour of selected item in autocompletion lists
kElementSelectionAdditionalBack 13 Background colour of additional selections
kElementSelectionAdditionalText 12 Text colour of additional selections
kElementSelectionBack 11 Background colour of main selection
kElementSelectionInactiveBack 17 Background colour of selections when another window has focus
kElementSelectionInactiveText 16 Text colour of selections when another window has focus
kElementSelectionSecondaryBack 15 Background colour of selections when another window contains the primary selection
kElementSelectionSecondaryText 14 Text colour of selections when another window contains the primary selection
kElementSelectionText 10 Text colour of main selection
kElementWhiteSpace 60 Colour of visible white space
kElementWhiteSpaceBack 61 Colour of visible white space background

End Of Line

Constant Value Description
kEndOfLineCR 1 CR, the old Mac line ending.
kEndOfLineCRLF 0 CRLF, the Windows line ending.
kEndOfLineLF 2 LF, the unix line ending.

End of Line Annotation

Constant Value Description
kEOLAnnotationVisibleAngleCircle &h102 Surround with a ◄shape◗ with angled left end and curved right end.
kEOLAnnotationVisibleAngleFlat &h112 Surround with a ◄shape| with angled left end and flat right end.
kEOLAnnotationVisibleAngles &h122 Surround with a ◄shape▶ with angles on each end.
kEOLAnnotationVisibleBoxed &h2 End of Line Annotations are indented to match the text and are surrounded by a box.
kEOLAnnotationVisibleCircleAngle &h120 Surround with a ◖shape▶ with curved left end and angled right end.
kEOLAnnotationVisibleCircleFlat &h110 Surround with a ◖shape| with curved left end and flat right end.
kEOLAnnotationVisibleFlatAngle &h121 Surround with a |shape▶ with flat left end and angled right end.
kEOLAnnotationVisibleFlatCircle &h101 Surround with a |shape◗ with flat left end and curved right end.
kEOLAnnotationVisibleFlats &h111 Surround with a |shape| with flat ends.
kEOLAnnotationVisibleHidden &h0 End of Line Annotations are not displayed.
kEOLAnnotationVisibleStadium &h100 Surround with a ◖stadium◗ - a rectangle with rounded ends.
kEOLAnnotationVisibleStandard &h1 End of Line Annotations are drawn left justified with no adornment.

Search Flags

Constant Value Description
kFindOptionCxx11RegEx &h00800000 This flag may be set to use C++11 <regex> instead of Scintilla's basic regular expressions. If the regular expression is invalid then -1 is returned and status is set to SC_STATUS_WARN_REGEX. The ECMAScript flag is set on the regex object and UTF-8 documents will exhibit Unicode-compliant behaviour. For MSVC, where wchar_t is 16-bits, the regular expression ".." will match a single astral-plane character. There may be other differences between compilers. Must also have kFindOptionRegExP set.
kFindOptionMatchCase &h4 A match only occurs with text that matches the case of the search string.
kFindOptionNone &h0 Default setting is case-insensitive literal match.
kFindOptionPosix &h00400000 Treat regular expression in a more POSIX compatible manner by interpreting bare ( and ) for tagged sections rather than \( and \). Has no effect when kFindOptionCxx11RegEx is set.
kFindOptionRegExp &h00200000 The search string should be interpreted as a regular expression.
Uses Scintilla's base implementation unless combined with kFindOptionCxx11RegEx.
kFindOptionWholeWord &h2 A match only occurs if the characters before and after are not word characters as defined by WordChars property.
kFindOptionWordStart &h00100000 A match only occurs if the character before is not a word character as defined by WordChars.

Folder Actions

Constant Value Description
kFoldActionContract 0 Contract.
kFoldActionExpand 1 Expand.
kFoldActionToggle 2 Toggle between contracted and expanded.

Folder Display Text Style

Constant Value Description
kFoldDisplayTextStyleBoxed 2 Display the text tags with a box drawn around them.
kFoldDisplayTextStyleHidden 0 Do not display the text tags. This is the default.
kFoldDisplayTextStyleStandard 1 Display the text tags.

Folder Flags

Constant Value Description
kFoldFlagLevelNumbers &h0040 Display hexadecimal fold levels in line margin to aid debugging of folding. The appearance of this feature may change in the future.
kFoldFlagLineAfterContracted &h0010 Draw below if not expanded
kFoldFlagLineAfterExpanded &h0008 Draw below if expanded
kFoldFlagLineBeforeContracted &h0004 Draw above if not expanded
kFoldFlagLineBeforeExpanded &h0002 Draw above if expanded
kFoldFlagLineState &h0080 Display hexadecimal line state in line margin to aid debugging of lexing and folding. May not be used at the same time as kFoldFlagLevelNumbers.
kFoldFlagNone &h0000 Default value.

Folder Levels

Constant Value Description
kFoldLevelBase &h400 The initial fold level.
kFoldLevelHeaderFlag &h2000 Indicates that the line is a header (fold point).
kFoldLevelNone &h0 Default level that may occur before folding.
kFoldLevelNumberMask &h0FFF The mask for numbers.
kFoldLevelWhiteFlag &h1000 Indicates that the line is blank and allows it to be treated slightly different then its level may indicate.

Font Quality with Antialiasing

Constant Value Description
kFontQualityQualityAntialiased 2 Antialiased
kFontQualityQualityDefault 0 Default.
kFontQualityQualityLcdOptimized 3 LCD Optimized
kFontQualityQualityMask &hF In case it is necessary to squeeze more options into this property, only a limited number of bits defined by kFontQualityQualityMask will be used for quality.
kFontQualityQualityNonAntialiased 1 Non Antialiased

Idle Styling

Constant Value Description
kIdleStylingAfterVisible 2 Text after the currently visible portion may be styled in the background.
kIdleStylingAll 3 Style both before and after the visible text.
kIdleStylingNone 0 Syntax styling is performed for all the currently visible text before displaying it.
kIdleStylingToVisible 1 A small amount of styling is performed before display and then further styling is performed incrementally in the background as an idle-time task.

IME Interaction Mode

Constant Value Description
kIMEInteractionInline 1 Show inline.
kIMEInteractionWindowed 0 Show on window.

Indentation Guides

Constant Value Description
kIndentViewLookBoth 3 Indentation guides are shown beyond the actual indentation up to the level of the next non-empty line or previous non-empty line whichever is the greater. This setting is good for most languages.
kIndentViewLookForward 2 Indentation guides are shown beyond the actual indentation up to the level of the next non-empty line. If the previous non-empty line was a fold header then indentation guides are shown for one more level of indent than that line. This setting is good for Python.
kIndentViewNone 0 No indentation guides are shown.
kIndentViewReal 1 Indentation guides are shown inside real indentation white space.

Modifier Keys

Constant Value Description
kKeyModAlt 4 Alt key. (named Option on MacOS usually)
kKeyModCtrl 2 Control key (the Command key on Mac, the Ctrl key on other platforms).
kKeyModMeta 16 Meta key (the Ctrl key on Mac, the Windows key on other platforms).
kKeyModNorm 0 No modifier key.
kKeyModShift 1 Shift Key
kKeyModSuper 8 This is the same as kKeyModMeta on all platforms.

Keys

Constant Value Description
kKeysAdd 310
kKeysBack 8
kKeysDelete 308
kKeysDivide 312
kKeysDown 300
kKeysEnd 305
kKeysEscape 7
kKeysHome 304
kKeysInsert 309
kKeysLeft 302
kKeysMenu 315
kKeysNext 307
kKeysPrior 306
kKeysReturn 13
kKeysRight 303
kKeysRWin 314
kKeysSubtract 311
kKeysTab 9
kKeysUp 301
kKeysWin 313

Layers

Constant Value Description
kLayerBase 0 Draw the selection background opaquely on the base layer
kLayerOverText 2 Draw the selection background translucently over the text.
kLayerUnderText 1 Draw the selection background translucently under the text.
This will not work in single phase drawing mode as there is no under-text phase.

Layout line cache modes

Constant Value Description
kLineCacheCaret 1 One line is cached. This is the default.
kLineCacheDocument 3 All lines in the document.
kLineCacheNone 0 No lines are cached.
kLineCachePage 2 Visible lines plus the line containing the caret.

Line Character Index Types

Constant Value Description
kLineCharacterIndexTypeNone 0 Bytewise.
kLineCharacterIndexTypeUtf16 2 UTF-16 code units are indexed.
kLineCharacterIndexTypeUtf32 1 Whole characters are indexed.

Line End Types

Constant Value Description
kLineEndTypeDefault 0
kLineEndTypeUnicode 1

Margin Options

Constant Value Description
kMarginOptionNone 0 Whole wrapped line is selected.
kMarginOptionSubLineSelect 1 Only sub line of wrapped line is selected.

Modification Flags

Constant Value Description
kModificationFlagsBeforeDelete &h800 Text is about to be deleted from the document.
kModificationFlagsBeforeInsert &h400 Text is about to be inserted into the document.
kModificationFlagsChangeAnnotation &h20000 An annotation has changed.
kModificationFlagsChangeEOLAnnotation &h400000 An annotation has changed.
kModificationFlagsChangeFold &h8 A folding change has occurred.
kModificationFlagsChangeIndicator &h4000 An indicator has been added or removed from a range of text.
kModificationFlagsChangeLineState &h8000 A line state has changed because SCI_SETLINESTATE was called.
kModificationFlagsChangeMargin &h10000 A text margin has changed.
kModificationFlagsChangeMarker &h200 One or more markers has changed in a line.
kModificationFlagsChangeStyle &h4 A style change has occurred.
kModificationFlagsChangeTabStops &h200000 The explicit tab stops on a line have changed because ClearTabStops or AddTabStop was called.
kModificationFlagsContainer &h40000 This is set on for actions that the container stored into the undo stack with AddUndoAction.
kModificationFlagsDeleteText &h2 Text has been removed from the document.
kModificationFlagsEventMaskAll &h7FFFFF This is a mask for all valid flags. This is the default mask state set by ModEventMask.
kModificationFlagsInsertCheck &h100000 Text is about to be inserted. The handler may change the text being inserted by calling ChangeInsertion method. No other modifications may be made in this handler.
kModificationFlagsInsertText &h1 Text has been inserted into the document.
kModificationFlagsLastStepInUndoRedo &h100 This is the final step in an Undo or Redo transaction.
kModificationFlagsLexerState &h80000 The internal state of a lexer has changed over a range.
kModificationFlagsMultilineUndoRedo &h1000 This is part of an Undo or Redo with multi-line changes.
kModificationFlagsMultiStepUndoRedo &h80 This is part of a multi-step Undo or Redo transaction.
kModificationFlagsNone &h0
Base value with no fields valid. Will not occur but is useful in tests.
kModificationFlagsRedo &h40 Information: this was the result of a Redo.
kModificationFlagsStartAction &h2000 This is set on a kModificationFlagsUser action when it is the first or only step in an undo transaction. This can be used to integrate the Scintilla undo stack with an undo stack in the container application by adding a Scintilla action to the container's stack for the currently opened container transaction or to open a new container transaction if there is no open container transaction.
kModificationFlagsUndo &h20 Information: this was the result of an Undo.
kModificationFlagsUser &h10 Information: the operation was done by the user.

Auto Completion for Multiple Selections

Constant Value Description
kMultiAutoCompleteEach 1 Each selection.
kMultiAutoCompleteOnce 0 Only first selection.

Multi Paste Options

Constant Value Description
kMultiPasteEach 1 The paste text can go into each selection.
kMultiPasteOnce 0 The pasted text can go into just the main selection.

Ordering Options

Constant Value Description
kOrderingCustom 2 Custom sorting.
kOrderingPerformSort 1 The control will sort for you.
kOrderingPreSorted 0 You pass list pre-sorted.

Popup Modi

Constant Value Description
kPopUpAll 1 Show default editing menu if clicking on scintilla.
kPopUpNever 0 Never show default editing menu.
kPopUpText 2 Show default editing menu only if clicking on text area.

Print Options

Constant Value Description
kPrintOptionBlackOnWhite 2 Print all text as black on a white background.
kPrintOptionColourOnWhite 3 Everything prints in its own colour on a white background.
kPrintOptionColourOnWhiteDefaultBG 4 Everything prints in its own foreground colour but all styles up to and including kStylesCommonLineNumber will print on a white background.
kPrintOptionInvertLight 1 If you use a dark screen background this saves ink by inverting the light value of all colours and printing on a white background.
kPrintOptionNormal 0 Print using the current screen colours with the exception of line number margins which print on a white background. This is the default.
kPrintOptionScreenColours 5 Print using the current screen colours for both foreground and background. This is the only mode that does not set the background colour of the line number margin to white.

Representation Appearance

Constant Value Description
kRepresentationAppearanceBlob 1 Draw the representation text inverted in a rounded rectangle. This is the default appearance.
kRepresentationAppearanceColour &h10 Draw the representation in the colour set with RepresentationColour() instead of in the colour of the style of the text being represented.
kRepresentationAppearancePlain 0 Draw the representation text with no decorations.

Selection Mode

Constant Value Description
kSelectionModeLines 2 Line selection.
kSelectionModeRectangle 1 Rectangular
kSelectionModeStream 0 Stream
kSelectionModeThin 3 Thin rectangular selection

Status Codes

Constant Value Description
kStatusBadAlloc 2 Memory is exhausted.
kStatusFailure 1 Generic failure.
kStatusOk 0 No failures.
kStatusRegEx 1001 Regular expression is invalid.
kStatusWarnStart 1000 Warnings start with this value.

Support

Constant Value Description
kSupportsFractionalStrokeWidth 2 Can lines be drawn with fractional widths like 1.5 or 0.5 pixels?
kSupportsLineDrawsFinal 0 Whether drawing a line draws its final position. Only false on Win32 GDI.
kSupportsPixelDivisions 1 Are logical pixels larger than physical pixels? more
kSupportsPixelModification 4 Can individual pixels be modified? This is false for character cell platforms like curses.
kSupportsTranslucentStroke 3 Can translucent lines, polygons, ellipses, and text be drawn?

Tab Draw Modes

Constant Value Description
kTabDrawModeLongArrow 0
kTabDrawModeStrikeOut 1

Drawing Technology

Constant Value Description
kTechnologyDefault 0 Default
kTechnologyDirectWrite 1 Use DirectWrite API.
kTechnologyDirectWriteDC 3 DirectWrite to draw into a GDI DC.
kTechnologyDirectWriteRetain 2 Use DirectWrite API with retaining frame.

Property Types

Constant Value Description
kTypePropertyBoolean 0 Property is a boolean.
kTypePropertyInteger 1 Property is an integer.
kTypePropertyString 2 Property is a string.

Undo Flags

Constant Value Description
kUndoFlagsMayCoalesce 1 If the container action may be coalesced along with any insertion and deletion actions into a single compound action.
kUndoFlagsNone 0 Coalescing treats coalescible container actions as transparent so will still only group together insertions that look like typing or deletions that look like multiple uses of the Backspace or Delete keys.

Update Flags

Constant Value Description
kUpdateContent &h1 Contents, styling or markers may have been changed.
kUpdateHScroll &h8 May have scrolled horizontally.
kUpdateNone &h0 Value without any changes.
kUpdateSelection &h2 Selection may have been changed.
kUpdateVScroll &h4 May have scrolled vertically.

Virtual Space Flags

Constant Value Description
kVirtualSpaceNone 0 Disables all use of virtual space.
kVirtualSpaceNoWrapLineStart 4 Prevents left arrow movement and selection from wrapping to the previous line. This is most commonly desired in conjunction with virtual space but is an independent setting so works without virtual space.
kVirtualSpaceRectangularSelection 1 Rectangular selection.
kVirtualSpaceUserAccessible 2 User accessible.

Visibility Policy

Constant Value Description
kVisiblePolicySlop &h01 If set, we can define a slop value: caretSlop. This value defines an unwanted zone (UZ) where the caret is... unwanted. This zone is defined as a number of pixels near the vertical margins, and as a number of lines near the horizontal margins. By keeping the caret away from the edges, it is seen within its context. This makes it likely that the identifier that the caret is on can be completely seen, and that the current line is seen with some of the lines following it, which are often dependent on that line.
kVisiblePolicyStrict &h04 If set, the policy set by slop is kVisiblePolicySlop... strictly. The caret is centred on the display if caretSlop is not set, and cannot go in the UZ if caretSlop is set.

White Space Visibility

Constant Value Description
kWhiteSpaceInvisible 0 The normal display mode with white space displayed as an empty background colour.
kWhiteSpaceVisibleAfterIndent 2 White space used for indentation is displayed normally but after the first visible character, it is shown as dots and arrows.
Example
kWhiteSpaceVisibleAlways 1 White space characters are drawn as dots and arrows,
Example
kWhiteSpaceVisibleOnlyInIndent 3 White space used for indentation is displayed as dots and arrows.
Example

Wrap Modes

Constant Value Description
kWrapChar 2 Enable wrapping between any characters.
kWrapNone 0 Disable line wrapping.
kWrapWhiteSpace 3 Enable wrapping on whitespace.
kWrapWord 1 Enable wrapping on word or style boundaries.

Wrap Indent Mode

Constant Value Description
kWrapIndentModeDeepIndent 3 Wrapped sublines are aligned to first subline indent plus two more levels of indentation
kWrapIndentModeFixed 0 Wrapped sublines aligned to left of window plus amount set by WrapStartIndent.
kWrapIndentModeIndent 2 Wrapped sublines are aligned to first subline indent plus one more level of indentation
kWrapIndentModeSame 1 Wrapped sublines are aligned to first subline indent

Wrap Visual Flags

Constant Value Description
kWrapVisualFlagEnd &h0001 Visual flag at end of subline of a wrapped line.
kWrapVisualFlagMargin &h0004 Visual flag in line number margin.
kWrapVisualFlagNone &h0000 No visual flags
kWrapVisualFlagStart &h0002 Visual flag at begin of subline of a wrapped line. Subline is indented by at least 1 to make room for the flag.

Wrap Visual Location

Constant Value Description
kWrapVisualLocationDefault &h0000 Visual flags drawn near border
kWrapVisualLocationEndByText &h0001 Visual flag at end of subline drawn near text
kWrapVisualLocationStartByText &h0002 Visual flag at beginning of subline drawn near text

The biggest plugin in space...