bool GPC_MouseDevice::ConvertButtonEvent(TButtonId button, bool isDown)
{
	bool result = false;

	switch (button)
	{
	case buttonLeft:
		result = ConvertEvent(KX_LEFTMOUSE, isDown);
		break;
	case buttonMiddle:
		result = ConvertEvent(KX_MIDDLEMOUSE, isDown);
		break;
	case buttonRight:
		result = ConvertEvent(KX_RIGHTMOUSE, isDown);
		break;
	case buttonWheelUp:
		result = ConvertEvent(KX_WHEELUPMOUSE, isDown);
		break;
	case buttonWheelDown:
		result = ConvertEvent(KX_WHEELDOWNMOUSE, isDown);
		break;
	default:
		// Should not happen!
		break;
	}

	return result;
}
/**
 * Splits combined x,y move into separate Ketsji x and y move events.
 */
bool GPC_MouseDevice::ConvertMoveEvent(int x, int y)
{
	bool result;

	// Convert to local coordinates?
	result = ConvertEvent(KX_MOUSEX, x);
	if (result) {
		result = ConvertEvent(KX_MOUSEY, y);
	}

	return result;
}
Esempio n. 3
0
sfBool sfWindow_WaitEvent(sfWindow* window, sfEvent* event)
{
    CSFML_CHECK_RETURN(window, sfFalse);
    CSFML_CHECK_RETURN(event, sfFalse);

    // Get the event
    sf::Event SFMLEvent;
    sfBool ret = window->This.WaitEvent(SFMLEvent);

    // Error, return
    if (!ret)
        return sfFalse;

    // Convert the sf::Event event to a sfEvent
    ConvertEvent(SFMLEvent, event);

    return sfTrue;
}
Esempio n. 4
0
////////////////////////////////////////////////////////////
/// Get the event on top of events stack of a window, if any, and pop it
////////////////////////////////////////////////////////////
sfBool sfRenderWindow_GetEvent(sfRenderWindow* renderWindow, sfEvent* event)
{
    CSFML_CHECK_RETURN(renderWindow, sfFalse);
    CSFML_CHECK_RETURN(event,        sfFalse);

    // Get the event
    sf::Event SFMLEvent;
    sfBool ret = renderWindow->This.GetEvent(SFMLEvent);

    // No event, return
    if (!ret)
        return sfFalse;

    // Convert the sf::Event event to a sfEvent
    ConvertEvent(SFMLEvent, event);

    return sfTrue;
}