On Nov 15, 2012, at 17:55 , Kyle Sluder <k...@ksluder.com> wrote: > In particular, I'm concerned about -updateTrackingAreas. This message is > sent to the view, not the tracking area's owner, but the view itself > doesn't know about the tracking area. If the owner doesn't happen to be > a view in the same hierarchy, it's not guaranteed to have > -updateTrackingAreas called.
A comment squirreled away in the Event Handling guide: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/TrackingAreaObjects/TrackingAreaObjects.html might be relevant to your question. It says: > "Note that the Application Kit sends updateTrackingAreas to every view > whether it has a tracking area or not." If that's so, there'd only be a difficulty if the owner isn't a view. > Additionally, if the owner is a view, it doesn't receive any information > via -mouse{Entered,Exited,Moved}: or -cursorUpdate: to differentiate its > own mouse actions from those of the tracking area. (Yes, there's the > userInfo property of NSTrackingArea that gets attached to the NSEvent > argument passed to the tracking area owner—*unless* it's a mouse-moved > event in which case it doesn't!). If the view to which the tracking area is attached is a subview of the owner, then I'd guess this isn't much of a problem**. In more complicated cases, the owner is likely keeping track of the inside/outside state anyway, which means it can tell the mouse-moved events apart if it needs to (and it can also distinguish them with a straightforward "point in rect" test, can't it?**). ** Assuming the code is careful to convert to the right coordinate system. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com