X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/564c7fc4127c39472b32f80b32733eb6e3ade59c..4f7222ca3632e40ad8f77947dba6bced63733655:/include/wx/gtk/evtloop.h diff --git a/include/wx/gtk/evtloop.h b/include/wx/gtk/evtloop.h index b47e187487..d083567862 100644 --- a/include/wx/gtk/evtloop.h +++ b/include/wx/gtk/evtloop.h @@ -15,6 +15,8 @@ // wxGUIEventLoop for wxGTK // ---------------------------------------------------------------------------- +typedef union _GdkEvent GdkEvent; + class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopBase { public: @@ -26,12 +28,24 @@ public: virtual bool Dispatch(); virtual int DispatchTimeout(unsigned long timeout); virtual void WakeUp(); + virtual bool YieldFor(long eventsToProcess); + +#if wxUSE_EVENTLOOP_SOURCE + virtual wxEventLoopSource * + AddSourceForFD(int fd, wxEventLoopSourceHandler *handler, int flags); +#endif // wxUSE_EVENTLOOP_SOURCE -protected: + void StoreGdkEventForLaterProcessing(GdkEvent* ev) + { m_arrGdkEvents.Add(ev); } + +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_