Example #1
0
	void XInputDevice::PollForUpdates()
	{
		m_lastState = m_state;

		SetIsConnected(XInputGetState(m_controllerId, &m_state) == ERROR_SUCCESS);

		m_leftState = float3(m_state.Gamepad.sThumbLX, m_state.Gamepad.sThumbLY, m_state.Gamepad.bLeftTrigger);
		m_rightState = float3(m_state.Gamepad.sThumbRX, m_state.Gamepad.sThumbRY, m_state.Gamepad.bRightTrigger);

		FilterAnalog(m_leftState.x, m_leftState.y, XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE, 32767);
		FilterAnalog(m_rightState.x, m_rightState.y, XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE, 32767);
		FilterAnalog(m_leftState.z, XINPUT_GAMEPAD_TRIGGER_THRESHOLD, 255);
		FilterAnalog(m_rightState.z, XINPUT_GAMEPAD_TRIGGER_THRESHOLD, 255);

		if (m_state.Gamepad.wButtons != m_lastState.Gamepad.wButtons)
		{
			for (auto& i : xinputToInputDeviceMap)
			{
				bool oldState = (m_lastState.Gamepad.wButtons & i.xinput) == i.xinput;
				bool newState = (m_state.Gamepad.wButtons & i.xinput) == i.xinput;
				
				if (oldState == newState)
					continue;

				if (oldState)
					OnReleased(i.button);
				else
					OnPressed(i.button);
			}
		}
	}
Example #2
0
void GUITexture::OnMouseRelease(Vector2f mousePos)
{
    if (IsButton && isBeingClicked)
    {
        isBeingClicked = false;
        if (OnReleased != 0)
        {
            OnReleased(this, mousePos, OnReleased_pData);
        }
    }
}
Example #3
0
bool MouseArea::OnMsg(uint32 msg_id, uint32 param1, uint32 param2)
{
	switch (msg_id)
	{
	case WM_LBUTTONDOWN:
		OnPressed(msg_id, param1, param2);
		break;
	case WM_LBUTTONUP:
		OnReleased(msg_id, param1, param2);
		break;
	default:
		break;
	}
	return true; 
}
Example #4
0
void SpecialMove::HandleSfxMessage( HOBJECT hSender, ILTMessage_Read *pMsg, uint8 nSfxId )
{
	switch( nSfxId )
	{
	case SPECIALMOVEFX_ACTIVATED:
		{
			OnActivated();
		}
		break;

	case SPECIALMOVEFX_RELEASED:
		{
			OnReleased();
		}
		break;

	case SPECIALMOVEFX_LOOKEDAT:
		{
			OnLookedAt();
		}
		break;
	}
}
Example #5
0
		void Button::OnMouseButtonReleased(const sf::Event::MouseButtonEvent &pEvent){
			mPressed = false;
			OnReleased();
		}
Example #6
0
void WinPortHandle::Dereference()
{
	if (WINPORT(InterlockedDecrement)(&_refcnt)==0)
		OnReleased();
}