From 8aa1cae911d5323f2e435c37ef5132c90f16ed55 Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 21 Jun 2019 07:16:45 +1000 Subject: Bug [#2106]. Place line caret in correct location for line caret with block OVR. That is for CARETSTYLE_LINE | CARETSTYLE_BLOCK mode. --- src/ViewStyle.cxx | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/ViewStyle.cxx') diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx index 6b24e15fb..65c4f2f8e 100644 --- a/src/ViewStyle.cxx +++ b/src/ViewStyle.cxx @@ -549,6 +549,12 @@ bool ViewStyle::IsBlockCaretStyle() const noexcept { return (caretStyle == CARETSTYLE_BLOCK) || (caretStyle & CARETSTYLE_OVERSTRIKE_BLOCK) != 0; } +bool ViewStyle::DrawCaretInsideSelection(bool inOverstrike, bool imeCaretBlockOverride) const noexcept { + return ((caretStyle & CARETSTYLE_INS_MASK) == CARETSTYLE_BLOCK) || + (inOverstrike && (caretStyle & CARETSTYLE_OVERSTRIKE_BLOCK) != 0) || + imeCaretBlockOverride; +} + ViewStyle::CaretShape ViewStyle::CaretShapeForMode(bool inOverstrike) const noexcept { if (inOverstrike) { return (caretStyle & CARETSTYLE_OVERSTRIKE_BLOCK) ? CaretShape::block : CaretShape::bar; -- cgit v1.2.3