Пример #1
0
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;
}
Пример #2
0
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;
}