Esempio n. 1
0
bool Clickable::updateAndGetClicked(sf::Vector2f mousePosition, bool isLeftDown)
{
	if(rect.contains(mousePosition.x, mousePosition.y))	// Mouse is over the clicking area
	{
		if(wasClicked)
		{
			if(!isLeftDown)	// Clicked and released inside the clicking area
			{
				wasHovered = true;
				wasClicked = false;
				hovered();

				return true;
			}
		}
		else
		{
			if(isLeftDown)	// Clicked in the clicking area
			{
				wasClicked = true;
				clicked();
			}
			else if(!wasHovered)
			{
				wasHovered = true;
				hovered();
			}
		}
	}
	else	// Mouse is not over the clicking area
	{
		if(wasHovered || wasClicked)
		{
			wasClicked = false;
			wasHovered = false;
			unhovered();
		}

		if(isLeftDown)
		{
			clickedOutside();
		}
	}

	return false;
}
void FinanceButton::focusOutEvent(QFocusEvent *event)
{
    this->QPushButton::focusOutEvent(event);
    emit unhovered();
}
void FinanceButton::leaveEvent(QEvent *event)
{
    this->QPushButton::leaveEvent(event);
    emit unhovered();
}
Esempio n. 4
0
void Clickable::resetStates()
{
	wasClicked = false;
	wasHovered = false;
	unhovered();
}