aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorZufu Liu <unknown>2020-03-19 08:54:52 +1100
committerZufu Liu <unknown>2020-03-19 08:54:52 +1100
commit2fe586ccb1828df480fbc398b6f34e0a352d202a (patch)
treedb71c48803f7b4eea70b56d54e47f8d044dde3d0
parent1b955a332fdea892683764467ca64f0704e98dab (diff)
downloadscintilla-mirror-2fe586ccb1828df480fbc398b6f34e0a352d202a.tar.gz
Feature [feature-requests:1302] Simplify DrawCarets.
-rw-r--r--src/EditView.cxx9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 9d8b6117b..023930c0a 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -1458,18 +1458,17 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt
const bool caretVisibleState = additionalCaretsVisible || mainCaret;
if ((xposCaret >= 0) && vsDraw.IsCaretVisible() &&
(drawDrag || (caretBlinkState && caretVisibleState))) {
- bool caretAtEOF = false;
- bool caretAtEOL = false;
+ bool canDrawBlockCaret = true;
bool drawBlockCaret = false;
XYPOSITION widthOverstrikeCaret;
XYPOSITION caretWidthOffset = 0;
PRectangle rcCaret = rcLine;
if (posCaret.Position() == model.pdoc->Length()) { // At end of document
- caretAtEOF = true;
+ canDrawBlockCaret = false;
widthOverstrikeCaret = vsDraw.aveCharWidth;
} else if ((posCaret.Position() - posLineStart) >= ll->numCharsInLine) { // At end of line
- caretAtEOL = true;
+ canDrawBlockCaret = false;
widthOverstrikeCaret = vsDraw.aveCharWidth;
} else {
const int widthChar = model.pdoc->LenChar(posCaret.Position());
@@ -1494,7 +1493,7 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt
} else if ((caretShape == ViewStyle::CaretShape::block) || imeCaretBlockOverride) {
/* Block caret */
rcCaret.left = xposCaret;
- if (!caretAtEOL && !caretAtEOF && (ll->chars[offset] != '\t') && !(IsControlCharacter(ll->chars[offset]))) {
+ if (canDrawBlockCaret && !(IsControlCharacter(ll->chars[offset]))) {
drawBlockCaret = true;
rcCaret.right = xposCaret + widthOverstrikeCaret;
} else {