1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/evtloop.h
3 // Purpose: wxGTK event loop implementation
4 // Author: Vadim Zeitlin
7 // Copyright: (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_GTK_EVTLOOP_H_
12 #define _WX_GTK_EVTLOOP_H_
14 // ----------------------------------------------------------------------------
15 // wxGUIEventLoop for wxGTK
16 // ----------------------------------------------------------------------------
18 typedef union _GdkEvent GdkEvent
;
20 class WXDLLIMPEXP_CORE wxGUIEventLoop
: public wxEventLoopBase
26 virtual void Exit(int rc
= 0);
27 virtual bool Pending() const;
28 virtual bool Dispatch();
29 virtual int DispatchTimeout(unsigned long timeout
);
30 virtual void WakeUp();
31 virtual bool YieldFor(long eventsToProcess
);
33 #if wxUSE_EVENTLOOP_SOURCE
34 virtual wxEventLoopSource
*
35 AddSourceForFD(int fd
, wxEventLoopSourceHandler
*handler
, int flags
);
36 #endif // wxUSE_EVENTLOOP_SOURCE
38 void StoreGdkEventForLaterProcessing(GdkEvent
* ev
)
39 { m_arrGdkEvents
.Add(ev
); }
42 // the exit code of this event loop
45 // used to temporarily store events in DoYield()
46 wxArrayPtrVoid m_arrGdkEvents
;
48 wxDECLARE_NO_COPY_CLASS(wxGUIEventLoop
);
51 #endif // _WX_GTK_EVTLOOP_H_