Ejemplo n.º 1
0
int Main::StartLoop(HWND hwnd, IdleFunc idleFunc, PreTransMessageFunc preTransFunc, PUMPMSG_TYPE type)
{
    this->SetPumpMessageType(type);

    if (idleFunc == NULL)
        idleFunc = DefIdle;
    if (preTransFunc == NULL)
        preTransFunc = DefPreTransMessage;

    m_State = STATE_RUN;

    Timer timer;
    while (m_PumpMessageFunc(&m_ExitCode, hwnd, idleFunc, preTransFunc))
        this->Run(timer.ElapseSecondReset());

    return m_ExitCode;
}