Beispiel #1
0
bool EventsManager::Update()
{
    static SDL_Event event;
    
    while (SDL_PollEvent(&event))
    {
        switch(event.type)
        {
            case SDL_FINGERDOWN:
            case SDL_FINGERUP:
            case SDL_FINGERMOTION:
                pEventQueue->Raise(CreateTouchEvent(event));
                return true;
                
            case SDL_KEYDOWN:
                pEventQueue->Raise(CreateKeyboardEvent(event));
                return true;
                
            case SDL_MOUSEBUTTONUP:
            case SDL_MOUSEBUTTONDOWN:
            case SDL_MOUSEMOTION:
                pEventQueue->Raise(CreateMouseEvent(event));
                return true;
                
            case SDL_QUIT:
                pEventQueue->Raise(std::static_pointer_cast<IEventData>(std::make_shared<AppQuit_Event>()));
                return false;
        }
    }
    
    return true;
}
Beispiel #2
0
void EventHandler::AddMouseEvent( const SDL_Event &event )
{
	events.push_back( CreateMouseEvent( event ) );
}