]> git.saurik.com Git - wxWidgets.git/blob - include/wx/dfb/evtloop.h
Added wxVariantData::Clone and wxVariant::Unshare
[wxWidgets.git] / include / wx / dfb / evtloop.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/dfb/evtloop.h
3 // Purpose: declares wxEventLoop class
4 // Author: Vaclav Slavik
5 // Created: 2006-08-16
6 // RCS-ID: $Id$
7 // Copyright: (c) 2006 REA Elektronik GmbH
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_DFB_EVTLOOP_H_
12 #define _WX_DFB_EVTLOOP_H_
13
14 #include "wx/dfb/dfbptr.h"
15
16 wxDFB_DECLARE_INTERFACE(IDirectFBEventBuffer);
17 struct wxDFBEvent;
18
19 // ----------------------------------------------------------------------------
20 // wxEventLoop
21 // ----------------------------------------------------------------------------
22
23 class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual
24 {
25 public:
26 wxGUIEventLoop();
27
28 virtual bool Pending() const;
29 virtual bool Dispatch();
30
31 // returns DirectFB event buffer used by wx
32 static wxIDirectFBEventBufferPtr GetDirectFBEventBuffer();
33
34 // wxYield implementation: iterate the loop as long as there are any
35 // pending events
36 void Yield();
37
38 protected:
39 virtual void WakeUp();
40 virtual void OnNextIteration();
41
42 virtual void HandleDFBEvent(const wxDFBEvent& event);
43
44 private:
45 static void InitBuffer();
46 static void CleanUp();
47
48 friend class wxApp; // calls CleanUp() and WakeUp()
49
50 private:
51 static wxIDirectFBEventBufferPtr ms_buffer;
52
53 DECLARE_NO_COPY_CLASS(wxGUIEventLoop)
54 };
55
56 #endif // _WX_DFB_EVTLOOP_H_