Re: Mouse tracking in CALayer
Re: Mouse tracking in CALayer
- Subject: Re: Mouse tracking in CALayer
- From: David Duncan <email@hidden>
- Date: Mon, 7 Jan 2008 13:55:06 -0800
On Jan 4, 2008, at 1:51 PM, Tom Pusateri wrote:
I have a single NSView in which I've created many CATextLayers to form
a menu that can slide over. I would like to expand a menu item if you
hover the mouse on the right edge of the CATextLayer. NSTrackingArea
seems to be a good fit except that it is view centric and not layer
centric. I thought about creating an NSTrackingArea for each layer
once the layers are positioned but after adding the constraints, I
don't know how to determine the layers position. There isn't a
delegate method or anyway to know when the layer position has been
calculated so I know where to create the NSTrackingArea. Of course,
then I have to deal with moving the tracking areas each time the layer
moves. Should I just used mouseMoved even though its less efficient?
Then how do I know which layer the mouse position is over?
I would create a tracking area for the entire NSView, and whenever you
notified of a mouse move, the use CALayer's -hitTest method to
determine which layer is under the mouse. If you create a layer
specifically for your "expand" area then you can easily track it
seperately (just set the name property on that layer!)
--
David Duncan
Apple DTS Animation and Printing
email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden