X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/564c7fc4127c39472b32f80b32733eb6e3ade59c..9c34a216817028bc533e07873d047208a96b05a2:/include/wx/gtk/evtloop.h diff --git a/include/wx/gtk/evtloop.h b/include/wx/gtk/evtloop.h index b47e187487..9fb55aa226 100644 --- a/include/wx/gtk/evtloop.h +++ b/include/wx/gtk/evtloop.h @@ -15,23 +15,34 @@ // wxGUIEventLoop for wxGTK // ---------------------------------------------------------------------------- +typedef union _GdkEvent GdkEvent; + class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase { public: wxGUIEventLoop(); - virtual int Run(); - virtual void Exit(int rc = 0); + virtual void ScheduleExit(int rc = 0); virtual bool Pending() const; virtual bool Dispatch(); virtual int DispatchTimeout(unsigned long timeout); virtual void WakeUp(); + virtual bool YieldFor(long eventsToProcess); + + void StoreGdkEventForLaterProcessing(GdkEvent* ev) + { m_arrGdkEvents.Add(ev); } protected: + virtual int DoRun(); + +private: // the exit code of this event loop int m_exitcode; - DECLARE_NO_COPY_CLASS(wxGUIEventLoop) + // used to temporarily store events in DoYield() + wxArrayPtrVoid m_arrGdkEvents; + + wxDECLARE_NO_COPY_CLASS(wxGUIEventLoop); }; #endif // _WX_GTK_EVTLOOP_H_