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: trackingrectmanager.h 51595 2008-02-08 09:12:04Z DE $
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
19class wxCocoaTrackingRectManager
20{
21    DECLARE_NO_COPY_CLASS(wxCocoaTrackingRectManager)
22public:
23    wxCocoaTrackingRectManager(wxWindow *window);
24    void ClearTrackingRect();
25    void BuildTrackingRect();
26    void RebuildTrackingRectIfNeeded();
27    void RebuildTrackingRect();
28    bool IsOwnerOfEvent(NSEvent *anEvent);
29    ~wxCocoaTrackingRectManager();
30    void BeginSynthesizingEvents();
31    void StopSynthesizingEvents();
32protected:
33    wxWindow *m_window;
34    bool m_isTrackingRectActive;
35    NSInteger m_trackingRectTag;
36    NSRect m_trackingRectInWindowCoordinates;
37private:
38    wxCocoaTrackingRectManager();
39};
40
41#endif // ndef __WX_COCOA_TRACKINGRECTMANAGER_H__
42