Implement mouse entered, exited, and synthesize move events while the mouse is inside.
[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 class wxCocoaTrackingRectManager
18 {
19 DECLARE_NO_COPY_CLASS(wxCocoaTrackingRectManager)
20 public:
21 wxCocoaTrackingRectManager(wxWindow *window);
22 void ClearTrackingRect();
23 void BuildTrackingRect();
24 void RebuildTrackingRect();
25 bool IsOwnerOfEvent(NSEvent *anEvent);
26 ~wxCocoaTrackingRectManager();
27 void BeginSynthesizingEvents();
28 void StopSynthesizingEvents();
29 protected:
30 wxWindow *m_window;
31 bool m_isTrackingRectActive;
32 int m_trackingRectTag;
33 CFRunLoopObserverRef m_runLoopObserver;
34 private:
35 wxCocoaTrackingRectManager();
36 };
37
38 #endif // ndef __WX_COCOA_TRACKINGRECTMANAGER_H__