Пример #1
0
void JButton::OnMouse( JMouseEvent& m )
{
    //  check if button being pressed
    if ((m.Action() == aKeyDown || m.Action() == aDblClick) &&
        m.MouseKey() == mkLeft)
    {
        if (m_bTwoState)
        {
            if (m_bPressed)
            {
                Unpress();
            }
            else
            {
                Press();
            }
        }
        else
        {
            CaptureMouse( true );
            Press();
        }
        SetFocus();
        m.Consume();
    }

    //  check if being unpressed (for one-state buttons)
    if (m.Action() == aKeyUp &&
        m.MouseKey() == mkLeft && !m_bTwoState)
    {
        CaptureMouse( false );
        Unpress();
        m.Consume();
    }

    //  automatically unpress when leaving button area
    if (m.Action() == aMouseMove &&
        !GetExt().PtIn( m.MouseX(), m.MouseY() ) &&
        m_bPressed)
    {
        CaptureMouse( false );
        if (!m_bTwoState)
        {
            Unpress();
        }
    }

    if (IsConsumeEvents())
    {
        m.Consume();
    }
} // JButton::OnMouse
Пример #2
0
bool Switch::unpressDelayPassed() {
	if (unpressDelayCounter > unpressDelay){
		unpressDelayCounter = 0;
		Unpress();

		return true;
	}

	return false;
}