void WindowEventProducer::produceMouseReleased(const MouseEventDetails::MouseButton& Button, const Pnt2f& Location)
{
    //Check if Input is blocked
    if(_BlockInput) { return; }

	TimeStamp t(getSystemTime());
	validateClickCount(Button, t, Location);
    Pnt2f ViewportLocation;
    Real32 DriftAllowance(InputSettings::the()->getMultipleClickMouseDriftAllowance());
    if(Location.dist2(_ButtonClickMap[Button]) <= (DriftAllowance * DriftAllowance))
    {
        produceMouseClicked(Button, Location);
    }
    ViewportUnrecPtr ResultViewport;
    ResultViewport = windowToViewport(Location, ViewportLocation);
    if(ResultViewport != NULL)
    {
        MouseEventDetailsUnrecPtr Details = MouseEventDetails::create(this, t, Button, _ButtonClickCountMap[Button].size(), ViewportLocation, ResultViewport );

        WindowEventProducerBase::produceMouseReleased(Details);
    }
}
Esempio n. 2
0
void Component::mouseClicked(MouseEventDetails* const e)
{
    produceMouseClicked(e);
}