X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3c861501a451503b31c075ccb59d16b0ae01e99..a01ada0599acdc11497850c4c8e846d3f237bf91:/include/wx/dfb/evtloop.h diff --git a/include/wx/dfb/evtloop.h b/include/wx/dfb/evtloop.h index 05a08f87ea..9b010a1034 100644 --- a/include/wx/dfb/evtloop.h +++ b/include/wx/dfb/evtloop.h @@ -11,41 +11,38 @@ #ifndef _WX_DFB_EVTLOOP_H_ #define _WX_DFB_EVTLOOP_H_ -#include "wx/dfb/ifacehelpers.h" +#include "wx/dfb/dfbptr.h" +#include "wx/unix/evtloop.h" wxDFB_DECLARE_INTERFACE(IDirectFBEventBuffer); -struct wxDFBEvent; // ---------------------------------------------------------------------------- // wxEventLoop // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxEventLoop : public wxEventLoopManual +class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxConsoleEventLoop { public: - wxEventLoop(); - - virtual bool Pending() const; - virtual bool Dispatch(); + wxGUIEventLoop(); // returns DirectFB event buffer used by wx - static IDirectFBEventBufferPtr GetDirectFBEventBuffer(); - -protected: - virtual void WakeUp(); - virtual void OnNextIteration(); - - virtual void HandleDFBEvent(const wxDFBEvent& event); + static wxIDirectFBEventBufferPtr GetDirectFBEventBuffer(); private: + // wxYield implementation: iterate the loop as long as there are any + // pending events + void Yield(); + static void InitBuffer(); + static void CleanUp(); -private: - static IDirectFBEventBufferPtr ms_buffer; + friend class wxApp; // calls CleanUp() - friend class wxApp; // calls WakeUp() +private: + static wxIDirectFBEventBufferPtr ms_buffer; + static int ms_bufferFd; - DECLARE_NO_COPY_CLASS(wxEventLoop) + DECLARE_NO_COPY_CLASS(wxGUIEventLoop) }; #endif // _WX_DFB_EVTLOOP_H_