X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9af42efda6c78093872a67180d43d5eeba261fee..e143fb636d50d5802dcc8c7c2e9e8e2944afa467:/include/wx/msw/evtloop.h diff --git a/include/wx/msw/evtloop.h b/include/wx/msw/evtloop.h index 88ab13492b..2c2c524b65 100644 --- a/include/wx/msw/evtloop.h +++ b/include/wx/msw/evtloop.h @@ -13,6 +13,8 @@ #define _WX_MSW_EVTLOOP_H_ #if wxUSE_GUI +#include "wx/dynarray.h" +#include "wx/msw/wrapwin.h" #include "wx/window.h" #endif @@ -40,6 +42,8 @@ protected: #if wxUSE_GUI +WX_DECLARE_OBJARRAY(MSG, wxMSGArray); + class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxMSWEventLoopBase { public: @@ -72,6 +76,7 @@ public: virtual bool Dispatch(); virtual int DispatchTimeout(unsigned long timeout); virtual void WakeUp(); + virtual bool YieldFor(long eventsToProcess); protected: virtual void OnNextIteration(); @@ -81,6 +86,8 @@ 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; @@ -99,12 +106,10 @@ public: virtual bool Dispatch(); virtual int DispatchTimeout(unsigned long timeout); virtual void WakeUp(); + virtual bool YieldFor(long WXUNUSED(eventsToProcess)) { return true; } // MSW-specific function to process a single message virtual void ProcessMessage(WXMSG *msg); - -protected: - virtual void OnNextIteration(); }; #endif // wxUSE_CONSOLE_EVENTLOOP