MCPcopy Create free account
hub / github.com/KLayout/klayout / do_mouse_move

Method do_mouse_move

src/laybasic/laybasic/layViewObject.cc:720–795  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

718}
719
720void
721ViewObjectUI::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

Callers

nothing calls this directly

Calls 11

absFunction · 0.85
begin_servicesFunction · 0.85
end_servicesFunction · 0.85
yMethod · 0.80
mouse_press_eventFunction · 0.70
mouse_move_eventFunction · 0.70
xMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
mouse_press_eventMethod · 0.45
mouse_move_eventMethod · 0.45

Tested by

no test coverage detected