Use one run-loop observer for all synthesis of mouse moved events instead of a separa...
[wxWidgets.git] / include / wx / cocoa / trackingrectmanager.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/cocoa/trackingrectmanager.h
3 // Purpose: wxCocoaTrackingRectManager
4 // Notes: Source in window.mm
5 // Author: David Elliott <dfe@cox.net>
6 // Modified by:
7 // Created: 2007/05/02
8 // RCS-ID: $Id$
9 // Copyright: (c) 2007 Software 2000 Ltd.
10 // Licence: wxWindows licence
11 /////////////////////////////////////////////////////////////////////////////
12 #ifndef __WX_COCOA_TRACKINGRECTMANAGER_H__
13 #define __WX_COCOA_TRACKINGRECTMANAGER_H__
14
15 #include <CoreFoundation/CFRunLoop.h>
16
17 #define wxTRACE_COCOA_TrackingRect wxT("COCOA_TrackingRect")
18
19 class wxCocoaTrackingRectManager
20 {
21 DECLARE_NO_COPY_CLASS(wxCocoaTrackingRectManager)
22 public:
23 wxCocoaTrackingRectManager(wxWindow *window);
24 void ClearTrackingRect();
25 void BuildTrackingRect();
26 void RebuildTrackingRect();
27 bool IsOwnerOfEvent(NSEvent *anEvent);
28 ~wxCocoaTrackingRectManager();
29 void BeginSynthesizingEvents();
30 void StopSynthesizingEvents();
31 protected:
32 wxWindow *m_window;
33 bool m_isTrackingRectActive;
34 int m_trackingRectTag;
35 private:
36 wxCocoaTrackingRectManager();
37 };
38
39 #endif // ndef __WX_COCOA_TRACKINGRECTMANAGER_H__