diff options
author | Juan Linietsky <reduzio@gmail.com> | 2016-07-18 19:29:24 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-18 19:29:24 -0300 |
commit | b49476a0119bd177341a2e974d62b591117efe3f (patch) | |
tree | 82e7dd01bf0000929e1372bdb97ccf8fcd51ce41 | |
parent | 3e3108abe2398fba80c54db153d0b375e437130f (diff) | |
parent | 71ee8eeb3fd34ca99d0ab85697a270c9d09c1ab6 (diff) |
Merge pull request #5731 from neikeq/pr-issue-5642
LineEdit: Fix rtl scrolling with mouse drag selection
-rw-r--r-- | scene/gui/line_edit.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index 6c47072b33..89c235e101 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -118,7 +118,7 @@ void LineEdit::_input_event(InputEvent p_event) { const InputEventMouseMotion& m=p_event.mouse_motion; - if (m.button_mask&1) { + if (m.button_mask&BUTTON_LEFT) { if (selection.creating) { set_cursor_at_pixel_pos(m.x); @@ -616,11 +616,11 @@ void LineEdit::_notification(int p_what) { } break; case ALIGN_CENTER: { - x_ofs=x_ofs=int(size.width-(cached_width))/2; + x_ofs=int(size.width-(cached_width))/2; } break; case ALIGN_RIGHT: { - x_ofs=x_ofs=int(size.width-style->get_offset().x-(cached_width)); + x_ofs=int(size.width-style->get_offset().x-(cached_width)); } break; } @@ -811,6 +811,9 @@ void LineEdit::set_cursor_at_pixel_pos(int p_x) { if ( (pixel_ofs-p_x) < (char_w >> 1 ) ) { ofs+=1; + } else if ( (pixel_ofs-p_x) > (char_w >> 1 ) ) { + + ofs-=1; } break; |