aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2019-06-22 10:51:29 +1000
committerNeil <nyamatongwe@gmail.com>2019-06-22 10:51:29 +1000
commit4c8a1f741c73911eff813a78c08fa88427eec38b (patch)
treea5b276ee266c723adc22e1afe8fa47f7cb0bb80c /src
parent8b8e1f383f0dbabc5e2f4666f4c5aa8860a91848 (diff)
downloadscintilla-mirror-4c8a1f741c73911eff813a78c08fa88427eec38b.tar.gz
Backport: Bug [#1924]. Option to allow block carets to trail selection ranges.
Bit flag value is CARETSTYLE_BLOCK_AFTER=256. Backport of changeset 7609:340a0f51fb3c.
Diffstat (limited to 'src')
-rw-r--r--src/Editor.cxx2
-rw-r--r--src/ViewStyle.cxx5
2 files changed, 5 insertions, 2 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index fd89d1e5e..e963ba339 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -7310,7 +7310,7 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
return vs.caretcolour.AsInteger();
case SCI_SETCARETSTYLE:
- if (wParam <= (CARETSTYLE_BLOCK | CARETSTYLE_OVERSTRIKE_BLOCK))
+ if (wParam <= (CARETSTYLE_BLOCK | CARETSTYLE_OVERSTRIKE_BLOCK | CARETSTYLE_BLOCK_AFTER))
vs.caretStyle = static_cast<int>(wParam);
else
/* Default to the line caret */
diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx
index c867c2f76..ec6d8e52c 100644
--- a/src/ViewStyle.cxx
+++ b/src/ViewStyle.cxx
@@ -545,10 +545,13 @@ bool ViewStyle::SetWrapIndentMode(int wrapIndentMode_) noexcept {
}
bool ViewStyle::IsBlockCaretStyle() const noexcept {
- return (caretStyle == CARETSTYLE_BLOCK) || (caretStyle & CARETSTYLE_OVERSTRIKE_BLOCK) != 0;
+ return ((caretStyle & CARETSTYLE_INS_MASK) == CARETSTYLE_BLOCK) ||
+ (caretStyle & CARETSTYLE_OVERSTRIKE_BLOCK) != 0;
}
bool ViewStyle::DrawCaretInsideSelection(bool inOverstrike, bool imeCaretBlockOverride) const noexcept {
+ if (caretStyle & CARETSTYLE_BLOCK_AFTER)
+ return false;
return ((caretStyle & CARETSTYLE_INS_MASK) == CARETSTYLE_BLOCK) ||
(inOverstrike && (caretStyle & CARETSTYLE_OVERSTRIKE_BLOCK) != 0) ||
imeCaretBlockOverride;