| 718 | } |
| 719 | |
| 720 | void |
| 721 | ViewObjectUI::do_mouse_move () |
| 722 | { |
| 723 | m_in_mouse_move = true; |
| 724 | |
| 725 | if (m_mouse_pressed_state && |
| 726 | (abs (m_mouse_pos.x () - m_mouse_pressed.x ()) > click_tolerance || abs (m_mouse_pos.y () - m_mouse_pressed.y ()) > click_tolerance)) { |
| 727 | |
| 728 | begin_mouse_event (lay::Cursor::none); |
| 729 | |
| 730 | m_mouse_pressed_state = false; |
| 731 | |
| 732 | bool done = false; |
| 733 | |
| 734 | db::DPoint p = pixel_to_um (m_mouse_pressed); |
| 735 | |
| 736 | auto grabbed = m_grabbed; |
| 737 | for (auto g = grabbed.begin (); !done && g != grabbed.end (); ++g) { |
| 738 | done = ((*g)->enabled () && (*g)->mouse_press_event (p, m_mouse_buttons, true)); |
| 739 | } |
| 740 | |
| 741 | if (! done && mp_active_service) { |
| 742 | done = (mp_active_service->enabled () && mp_active_service->mouse_press_event (p, m_mouse_buttons, true)); |
| 743 | } |
| 744 | |
| 745 | service_iterator svc = begin_services (); |
| 746 | while (svc != end_services () && !done) { |
| 747 | service_iterator next = svc; |
| 748 | ++next; |
| 749 | done = ((*svc)->enabled () && (*svc)->mouse_press_event (p, m_mouse_buttons, false)); |
| 750 | svc = next; |
| 751 | } |
| 752 | |
| 753 | if (! done) { |
| 754 | mouse_press_event (p, m_mouse_buttons); |
| 755 | } |
| 756 | |
| 757 | end_mouse_event (); |
| 758 | |
| 759 | } |
| 760 | |
| 761 | if (! m_mouse_pressed_state) { |
| 762 | |
| 763 | begin_mouse_event (lay::Cursor::none); |
| 764 | |
| 765 | bool done = false; |
| 766 | |
| 767 | db::DPoint p = pixel_to_um (m_mouse_pos); |
| 768 | |
| 769 | auto grabbed = m_grabbed; |
| 770 | for (auto g = grabbed.begin (); !done && g != grabbed.end (); ++g) { |
| 771 | done = ((*g)->enabled () && (*g)->mouse_move_event (p, m_mouse_buttons, true)); |
| 772 | } |
| 773 | |
| 774 | if (! done && mp_active_service) { |
| 775 | done = (mp_active_service->enabled () && mp_active_service->mouse_move_event (p, m_mouse_buttons, true)); |
| 776 | } |
| 777 |
nothing calls this directly
no test coverage detected