void UIManager::updatePressedWidget(const UIWidgetPtr& newPressedWidget, const Point& clickedPos, bool fireClicks) { UIWidgetPtr oldPressedWidget = m_pressedWidget; m_pressedWidget = newPressedWidget; // when releasing mouse inside pressed widget area send onClick event if(fireClicks && oldPressedWidget && oldPressedWidget->isEnabled() && oldPressedWidget->containsPoint(clickedPos)) oldPressedWidget->onClick(clickedPos); if(newPressedWidget) newPressedWidget->updateState(Fw::PressedState); if(oldPressedWidget) oldPressedWidget->updateState(Fw::PressedState); }