From 36820c22929f4fb11892c4fbd52f321cc63a55ad Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 7 Oct 2018 00:49:38 +0800 Subject: Add shift selection, and fix the bug that caret is at wrong position when move with selection. --- src/ui/controls/text_control.cpp | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'src/ui/controls/text_control.cpp') diff --git a/src/ui/controls/text_control.cpp b/src/ui/controls/text_control.cpp index ee5b253d..3c5d7c33 100644 --- a/src/ui/controls/text_control.cpp +++ b/src/ui/controls/text_control.cpp @@ -162,18 +162,7 @@ namespace cru::ui::controls { const auto hit_test_result = TextLayoutHitTest(text_layout_.Get(), args.GetPoint(this), false).value(); RequestChangeCaretPosition(hit_test_result); - if (hit_test_result > mouse_down_position_) - { - selected_range_ = TextRange(mouse_down_position_, hit_test_result - mouse_down_position_); - } - else if (hit_test_result < mouse_down_position_) - { - selected_range_ = TextRange(hit_test_result, mouse_down_position_ - hit_test_result); - } - else - { - selected_range_ = std::nullopt; - } + selected_range_ = TextRange::FromTwoSides(hit_test_result, mouse_down_position_); Repaint(); } } -- cgit v1.2.3