Witam, dlaczego ta funkcja zwraca poprawny wynik oprócz przypadku gdy mysz jest zbyt po lewej stronie lub zbyt wysoko (wtedy zwraca maximum)?
unsigned Slider::countProgress(sf::Vector2f mousePosition)
{
unsigned newProgress;
double delta;
switch(orientation)
{
case VERTICAL:
delta = (mousePosition.y - 8 - rect.getPosition().y) / (length-16) * maximum;
break;
case HORIZONTAL:
delta = (mousePosition.x - 8 - rect.getPosition().x) / (length-16) * maximum;
break;
}
if(delta < 0)
newProgress = 0;
else if(delta > maximum)
newProgress = maximum;
else
newProgress = delta;
//return newProgress;
}