コード例 #1
0
ファイル: FakeSDL-linux.cpp プロジェクト: feng1st/dfhack
DFhackCExport int SDL_PollEvent(SDL::Event* event)
{
    int orig_return = _SDL_PollEvent(event);
    // if the event is valid, intercept
    if( event != 0 )
    {
        DFHack::Core & c = DFHack::Core::getInstance();
        return c.SDL_Event(event, orig_return);
    }
    return orig_return;
}
コード例 #2
0
ファイル: Hooks-windows.cpp プロジェクト: xaldin/dfhack
DFhackCExport int SDL_PollEvent(SDL::Event * event)
{
    int orig_return = _SDL_PollEvent(event);
    // only send events to Core after we get first SDL_NumJoysticks call
    // DF event loop is possibly polling for SDL events before things get inited properly
    // SDL handles it. We don't, because we use some other parts of SDL too.
    if(event != 0)
    {
        DFHack::Core & c = DFHack::Core::getInstance();
        return c.SDL_Event(event, orig_return);
    }
    return orig_return;
}
コード例 #3
0
ファイル: Hooks-linux.cpp プロジェクト: M-funk/dfhack
DFhackCExport int SDL_PollEvent(SDL::Event* event)
{
    pollevent_again:
    // if SDL returns 0 here, it means there are no more events. return 0
    int orig_return = _SDL_PollEvent(event);
    if(!orig_return)
        return 0;
    // otherwise we have an event to filter
    else if( event != 0 )
    {
        DFHack::Core & c = DFHack::Core::getInstance();
        // if we consume the event, ask SDL for more.
        if(!c.SDL_Event(event))
            goto pollevent_again;
    }
    return orig_return;
}
コード例 #4
0
DFhackCExport int SDL_PollEvent(vPtr event)
{
    return _SDL_PollEvent(event);
}