diff options
author | nyamatongwe <devnull@localhost> | 2009-10-16 09:31:58 +0000 |
---|---|---|
committer | nyamatongwe <devnull@localhost> | 2009-10-16 09:31:58 +0000 |
commit | 25917b1b1b9c74931a0632269d567bc7499da2d6 (patch) | |
tree | 5c136b32253fb6cb03071af55b4e5d3405f90fe4 /src | |
parent | e9de1762eb2692cf9edcb12e52e01b217817839f (diff) | |
download | scintilla-mirror-25917b1b1b9c74931a0632269d567bc7499da2d6.tar.gz |
Setting to make additional carets invisible from Florian Balmer.
Diffstat (limited to 'src')
-rw-r--r-- | src/Editor.cxx | 13 | ||||
-rw-r--r-- | src/Editor.h | 1 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 8d48440e5..2825aeb5d 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -151,6 +151,7 @@ Editor::Editor() { multipleSelection = false; additionalSelectionTyping = false; additionalCaretsBlink = true; + additionalCaretsVisible = true; virtualSpaceOptions = SCVS_NONE; pixmapLine = Surface::Allocate(); @@ -3103,8 +3104,10 @@ void Editor::DrawCarets(Surface *surface, ViewStyle &vsDraw, int lineDoc, int xS if (lineStart != 0) // Wrapped xposCaret += ll->wrapIndent; } + bool caretBlinkState = (caret.active && caret.on) || (!additionalCaretsBlink && !mainCaret); + bool caretVisibleState = additionalCaretsVisible || mainCaret; if ((xposCaret >= 0) && (vsDraw.caretWidth > 0) && (vsDraw.caretStyle != CARETSTYLE_INVISIBLE) && - ((posDrag.IsValid()) || ((caret.active && caret.on) || (!additionalCaretsBlink && !mainCaret)))) { + ((posDrag.IsValid()) || (caretBlinkState && caretVisibleState))) { bool caretAtEOF = false; bool caretAtEOL = false; bool drawBlockCaret = false; @@ -8206,6 +8209,14 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { case SCI_GETADDITIONALCARETSBLINK: return additionalCaretsBlink; + case SCI_SETADDITIONALCARETSVISIBLE: + additionalCaretsVisible = wParam != 0; + InvalidateCaret(); + break; + + case SCI_GETADDITIONALCARETSVISIBLE: + return additionalCaretsVisible; + case SCI_GETSELECTIONS: return sel.Count(); diff --git a/src/Editor.h b/src/Editor.h index 8f1ca9b7c..fb29b3df7 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -143,6 +143,7 @@ protected: // ScintillaBase subclass needs access to much of Editor bool multipleSelection; bool additionalSelectionTyping; bool additionalCaretsBlink; + bool additionalCaretsVisible; int virtualSpaceOptions; |