#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();
+ wxGUIEventLoop();
- virtual bool Pending() const;
- virtual bool Dispatch();
+ virtual bool YieldFor(long eventsToProcess);
// 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:
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)
+ wxDECLARE_NO_COPY_CLASS(wxGUIEventLoop);
};
#endif // _WX_DFB_EVTLOOP_H_