diff options
author | Zufu Liu <unknown> | 2019-02-02 10:26:58 +1100 |
---|---|---|
committer | Zufu Liu <unknown> | 2019-02-02 10:26:58 +1100 |
commit | 9cc096e3f7deb6f10512e30da3e589eed927fdd5 (patch) | |
tree | 2430275cd7bece15c853a71af9fb64267d4476a0 /src/EditView.cxx | |
parent | 3b23e66a4f754a935f308a5c41a2f08f2968d5c3 (diff) | |
download | scintilla-mirror-9cc096e3f7deb6f10512e30da3e589eed927fdd5.tar.gz |
Backport: Feature [feature-requests:#1217]. Implement CARETSTYLE_BLOCK_ALWAYS.
Backport of changeset 7248:aba09a1c7c63.
Diffstat (limited to 'src/EditView.cxx')
-rw-r--r-- | src/EditView.cxx | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx index 3143134d2..8eaaee32c 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -1331,7 +1331,7 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt for (size_t r = 0; (r<model.sel.Count()) || drawDrag; r++) { const bool mainCaret = r == model.sel.Main(); SelectionPosition posCaret = (drawDrag ? model.posDrag : model.sel.Range(r).caret); - if (vsDraw.caretStyle == CARETSTYLE_BLOCK && !drawDrag && posCaret > model.sel.Range(r).anchor) { + if ((vsDraw.caretStyle == CARETSTYLE_BLOCK || vsDraw.caretStyle == CARETSTYLE_BLOCK_ALWAYS) && !drawDrag && posCaret > model.sel.Range(r).anchor) { if (posCaret.VirtualSpace() > 0) posCaret.SetVirtualSpace(posCaret.VirtualSpace() - 1); else @@ -1378,12 +1378,12 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt /* Dragging text, use a line caret */ rcCaret.left = round(xposCaret - caretWidthOffset); rcCaret.right = rcCaret.left + vsDraw.caretWidth; - } else if (model.inOverstrike && drawOverstrikeCaret) { + } else if ((model.inOverstrike && vsDraw.caretStyle != CARETSTYLE_BLOCK_ALWAYS) && drawOverstrikeCaret) { /* Overstrike (insert mode), use a modified bar caret */ rcCaret.top = rcCaret.bottom - 2; rcCaret.left = xposCaret + 1; rcCaret.right = rcCaret.left + widthOverstrikeCaret - 1; - } else if ((vsDraw.caretStyle == CARETSTYLE_BLOCK) || imeCaretBlockOverride) { + } else if ((vsDraw.caretStyle == CARETSTYLE_BLOCK || vsDraw.caretStyle == CARETSTYLE_BLOCK_ALWAYS) || imeCaretBlockOverride) { /* Block caret */ rcCaret.left = xposCaret; if (!caretAtEOL && !caretAtEOF && (ll->chars[offset] != '\t') && !(IsControlCharacter(ll->chars[offset]))) { |