1/////////////////////////////////////////////////////////////////////////////// 2// Name: wx/mac/carbon/evtloop.h 3// Purpose: declaration of wxEventLoop for wxMac 4// Author: Vadim Zeitlin 5// Modified by: 6// Created: 2006-01-12 7// RCS-ID: $Id: evtloop.h 36847 2006-01-12 23:06:26Z VZ $ 8// Copyright: (c) 2006 Vadim Zeitlin <vadim@wxwindows.org> 9// Licence: wxWindows licence 10/////////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_MAC_CARBON_EVTLOOP_H_ 13#define _WX_MAC_CARBON_EVTLOOP_H_ 14 15// set wxMAC_USE_RUN_APP_EVENT_LOOP to 1 if the standard 16// RunApplicationEventLoop function should be used, otherwise 17// the lower level CarbonEventLoop will be used 18// 19// in the long run we should make this 1 by default but we will have to clean 20// up event handling to make sure we don't miss handling of things like pending 21// events etc and perhaps we will also have to pipe events through an 22// ueber-event-handler to make sure we have one place to do all these 23// house-keeping functions 24#define wxMAC_USE_RUN_APP_EVENT_LOOP 0 25 26// ---------------------------------------------------------------------------- 27// wxEventLoop 28// ---------------------------------------------------------------------------- 29 30#if wxMAC_USE_RUN_APP_EVENT_LOOP 31 32class WXDLLEXPORT wxEventLoop : public wxEventLoopBase 33{ 34public: 35 wxEventLoop() { m_exitcode = 0; } 36 37 // implement base class pure virtuals 38 virtual int Run(); 39 virtual void Exit(int rc = 0); 40 virtual bool Pending() const; 41 virtual bool Dispatch(); 42 43private: 44 int m_exitcode; 45}; 46 47#else // manual event loop 48 49class WXDLLEXPORT wxEventLoop : public wxEventLoopManual 50{ 51public: 52 wxEventLoop() { } 53 54 virtual bool Pending() const; 55 virtual bool Dispatch(); 56 57protected: 58 // implement base class pure virtual 59 virtual void WakeUp(); 60}; 61 62#endif // auto/manual event loop 63 64#endif // _WX_MAC_CARBON_EVTLOOP_H_ 65 66