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