X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/61478ea03f87607cc9060e67a8f2656b83448636..11e3c6ef36393fb5863ea2f9601d8facd73acb12:/include/wx/msw/evtloop.h diff --git a/include/wx/msw/evtloop.h b/include/wx/msw/evtloop.h index fd548b87f2..e7afd91bab 100644 --- a/include/wx/msw/evtloop.h +++ b/include/wx/msw/evtloop.h @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // Name: wx/msw/evtloop.h -// Purpose: wxEventLoop class for MSW +// Purpose: wxEventLoop class for wxMSW port // Author: Vadim Zeitlin // Modified by: // Created: 2004-07-31 @@ -12,29 +12,16 @@ #ifndef _WX_MSW_EVTLOOP_H_ #define _WX_MSW_EVTLOOP_H_ -#if wxUSE_GUI +#include "wx/dynarray.h" +#include "wx/msw/wrapwin.h" #include "wx/window.h" -#endif +#include "wx/msw/evtloopconsole.h" // for wxMSWEventLoopBase // ---------------------------------------------------------------------------- // wxEventLoop // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_BASE wxMSWEventLoopBase : public wxEventLoopManual -{ -public: - wxMSWEventLoopBase(); - - // implement base class pure virtuals - virtual bool Pending() const; - -protected: - // get the next message from queue and return true or return false if we - // got WM_QUIT or an error occurred - bool GetNextMessage(WXMSG *msg); -}; - -#if wxUSE_GUI +WX_DECLARE_EXPORTED_OBJARRAY(MSG, wxMSGArray); class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxMSWEventLoopBase { @@ -66,7 +53,9 @@ public: // override/implement base class virtuals virtual bool Dispatch(); + virtual int DispatchTimeout(unsigned long timeout); virtual void WakeUp(); + virtual bool YieldFor(long eventsToProcess); protected: virtual void OnNextIteration(); @@ -76,30 +65,11 @@ private: // non NULL) static bool IsChildOfCriticalWindow(wxWindowMSW *win); + // array of messages used for temporary storage by YieldFor() + wxMSGArray m_arrMSG; // critical window or NULL static wxWindowMSW *ms_winCritical; }; -#else // !wxUSE_GUI - -#if wxUSE_CONSOLE_EVENTLOOP - -class WXDLLIMPEXP_BASE wxConsoleEventLoop : public wxMSWEventLoopBase -{ -public: - wxConsoleEventLoop() { } - - // override/implement base class virtuals - virtual bool Dispatch(); - virtual void WakeUp(); - -protected: - virtual void OnNextIteration(); -}; - -#endif // wxUSE_CONSOLE_EVENTLOOP - -#endif // wxUSE_GUI/!wxUSE_GUI - #endif // _WX_MSW_EVTLOOP_H_