757b694ba8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
57 lines
1.5 KiB
C++
57 lines
1.5 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/dfb/evtloop.h
|
|
// Purpose: declares wxEventLoop class
|
|
// Author: Vaclav Slavik
|
|
// Created: 2006-08-16
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 2006 REA Elektronik GmbH
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_DFB_EVTLOOP_H_
|
|
#define _WX_DFB_EVTLOOP_H_
|
|
|
|
#include "wx/dfb/dfbptr.h"
|
|
|
|
wxDFB_DECLARE_INTERFACE(IDirectFBEventBuffer);
|
|
struct wxDFBEvent;
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxEventLoop
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxEventLoop : public wxEventLoopManual
|
|
{
|
|
public:
|
|
wxEventLoop();
|
|
|
|
virtual bool Pending() const;
|
|
virtual bool Dispatch();
|
|
|
|
// returns DirectFB event buffer used by wx
|
|
static wxIDirectFBEventBufferPtr GetDirectFBEventBuffer();
|
|
|
|
// wxYield implementation: iterate the loop as long as there are any
|
|
// pending events
|
|
void Yield();
|
|
|
|
protected:
|
|
virtual void WakeUp();
|
|
virtual void OnNextIteration();
|
|
|
|
virtual void HandleDFBEvent(const wxDFBEvent& event);
|
|
|
|
private:
|
|
static void InitBuffer();
|
|
static void CleanUp();
|
|
|
|
friend class wxApp; // calls CleanUp() and WakeUp()
|
|
|
|
private:
|
|
static wxIDirectFBEventBufferPtr ms_buffer;
|
|
|
|
DECLARE_NO_COPY_CLASS(wxEventLoop)
|
|
};
|
|
|
|
#endif // _WX_DFB_EVTLOOP_H_
|