bool Widget::TriggerMouseOut(const Point &pos, bool handled, Widget *stop) { // only send external events on state change if (m_mouseOver) { HandleMouseOut(); if (!handled) handled = onMouseOut.emit(); m_mouseOver = false; } if (stop == this) return handled; if (GetContainer()) handled = GetContainer()->TriggerMouseOut(pos+GetPosition(), handled, stop); return handled; }
bool Widget::TriggerMouseOut(const Point &pos, bool emit, Widget *stop) { // only send external events on state change if (m_mouseOver) { HandleMouseOut(); if (emit) emit = !onMouseOut.emit(); m_mouseOver = false; } if (stop == this) return !emit; if (GetContainer()) GetContainer()->TriggerMouseOut(pos+GetPosition(), emit, stop); return !emit; }