]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/dfb/evtloop.h
New eventb based Drag interface for wxDataViewCtrl
[wxWidgets.git] / include / wx / dfb / evtloop.h
... / ...
CommitLineData
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
16wxDFB_DECLARE_INTERFACE(IDirectFBEventBuffer);
17struct wxDFBEvent;
18
19// ----------------------------------------------------------------------------
20// wxEventLoop
21// ----------------------------------------------------------------------------
22
23class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxEventLoopManual
24{
25public:
26 wxGUIEventLoop();
27
28 virtual bool Pending() const;
29 virtual bool Dispatch();
30 virtual int DispatchTimeout(unsigned long timeout);
31
32 // returns DirectFB event buffer used by wx
33 static wxIDirectFBEventBufferPtr GetDirectFBEventBuffer();
34
35 // wxYield implementation: iterate the loop as long as there are any
36 // pending events
37 void Yield();
38
39protected:
40 virtual void WakeUp();
41 virtual void OnNextIteration();
42
43 virtual void HandleDFBEvent(const wxDFBEvent& event);
44
45private:
46 static void InitBuffer();
47 static void CleanUp();
48
49 friend class wxApp; // calls CleanUp() and WakeUp()
50
51private:
52 static wxIDirectFBEventBufferPtr ms_buffer;
53
54 DECLARE_NO_COPY_CLASS(wxGUIEventLoop)
55};
56
57#endif // _WX_DFB_EVTLOOP_H_