diff options
| author | McLoo <unknown> | 2020-02-21 02:15:24 +0100 |
|---|---|---|
| committer | McLoo <unknown> | 2020-02-21 02:15:24 +0100 |
| commit | a6cef65c0713b7bb55315a0d4f1cfd83f90bf3c1 (patch) | |
| tree | 69e5ebea596c553c6be9c2764445f55da568d683 /src | |
| parent | 59cf5d189985e5e751d0bcac34003ee1c8d6a138 (diff) | |
| download | scintilla-mirror-a6cef65c0713b7bb55315a0d4f1cfd83f90bf3c1.tar.gz | |
Backport: Feature [feature-requests:497] Automatically scroll while dragging text.
Added automatic scrolling when text dragged near edge of window.
Backport of changeset 7989:e98f6731bd39.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Editor.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 5da9f2b75..1256082ed 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -4257,6 +4257,20 @@ void Editor::SetDragPosition(SelectionPosition newPos) { posDrop = newPos; } if (!(posDrag == newPos)) { + const int oldCaretYPolicy = caretYPolicy; + const int oldCaretYSlop = caretYSlop; + const int oldCaretXPolicy = caretXPolicy; + const int oldCaretXSlop = caretXSlop; + caretYPolicy = CARET_SLOP | CARET_STRICT | CARET_EVEN; + caretYSlop = 2; + caretXPolicy = CARET_SLOP | CARET_STRICT | CARET_EVEN; + caretXSlop = 50; + MovedCaret(newPos, posDrag, true); + caretYPolicy = oldCaretYPolicy; + caretYSlop = oldCaretYSlop; + caretXPolicy = oldCaretXPolicy; + caretXSlop = oldCaretXSlop; + caret.on = true; FineTickerCancel(tickCaret); if ((caret.active) && (caret.period > 0) && (newPos.Position() < 0)) |
