diff options
author | nyamatongwe <unknown> | 2009-08-13 03:41:07 +0000 |
---|---|---|
committer | nyamatongwe <unknown> | 2009-08-13 03:41:07 +0000 |
commit | f7736b95cb8c764d5031b92308a87d502f7f0ae6 (patch) | |
tree | 0172292c1911050112eb8fdb097a4b39a45fcc3f /src | |
parent | 54207ab86e3a942038b7c78dca48233fdb1a5043 (diff) | |
download | scintilla-mirror-f7736b95cb8c764d5031b92308a87d502f7f0ae6.tar.gz |
Made SCI_[GS]ETCURRENTPOS and SCI_[GS]ETANCHOR work in rectangular mode
more like 1.x.
Diffstat (limited to 'src')
-rw-r--r-- | src/Editor.cxx | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 41f274529..3f7c9db0f 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -6743,18 +6743,30 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) { return pdoc->CharAt(wParam); case SCI_SETCURRENTPOS: - SetSelection(wParam, sel.MainAnchor()); + if (sel.IsRectangular()) { + sel.Rectangular().caret.SetPosition(wParam); + SetRectangularRange(); + Redraw(); + } else { + SetSelection(wParam, sel.MainAnchor()); + } break; case SCI_GETCURRENTPOS: - return sel.MainCaret(); + return sel.IsRectangular() ? sel.Rectangular().caret.Position() : sel.MainCaret(); case SCI_SETANCHOR: - SetSelection(sel.MainCaret(), wParam); + if (sel.IsRectangular()) { + sel.Rectangular().anchor.SetPosition(wParam); + SetRectangularRange(); + Redraw(); + } else { + SetSelection(sel.MainCaret(), wParam); + } break; case SCI_GETANCHOR: - return sel.MainAnchor(); + return sel.IsRectangular() ? sel.Rectangular().anchor.Position() : sel.MainAnchor(); case SCI_SETSELECTIONSTART: SetSelection(Platform::Maximum(sel.MainCaret(), wParam), wParam); |