wxWidgets/include/wx/cocoa/trackingrectmanager.h
David Elliott 8ea3a63ea9 Use one run-loop observer for all synthesis of mouse moved events instead of a separate observer for each view.
Actually check the last mouse position and don't send synthesized events if the mouse hasn't moved.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-16 17:44:11 +00:00

40 lines
1.2 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/cocoa/trackingrectmanager.h
// Purpose: wxCocoaTrackingRectManager
// Notes: Source in window.mm
// Author: David Elliott <dfe@cox.net>
// Modified by:
// Created: 2007/05/02
// RCS-ID: $Id$
// Copyright: (c) 2007 Software 2000 Ltd.
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __WX_COCOA_TRACKINGRECTMANAGER_H__
#define __WX_COCOA_TRACKINGRECTMANAGER_H__
#include <CoreFoundation/CFRunLoop.h>
#define wxTRACE_COCOA_TrackingRect wxT("COCOA_TrackingRect")
class wxCocoaTrackingRectManager
{
DECLARE_NO_COPY_CLASS(wxCocoaTrackingRectManager)
public:
wxCocoaTrackingRectManager(wxWindow *window);
void ClearTrackingRect();
void BuildTrackingRect();
void RebuildTrackingRect();
bool IsOwnerOfEvent(NSEvent *anEvent);
~wxCocoaTrackingRectManager();
void BeginSynthesizingEvents();
void StopSynthesizingEvents();
protected:
wxWindow *m_window;
bool m_isTrackingRectActive;
int m_trackingRectTag;
private:
wxCocoaTrackingRectManager();
};
#endif // ndef __WX_COCOA_TRACKINGRECTMANAGER_H__