--- Quincey Morris <[EMAIL PROTECTED]>
escribió:
> On Mar 12, 2008, at 13:13, Jens Alfke wrote:
> 
> > On 12 Mar '08, at 12:13 PM, Nathan Vander Wilt
> wrote:
> >
> >> I want to be able to convert a mouse
> >> coordinate into a point suitable for
> -hitTest:'ing on
> >> my root layer. I can convert from the mouse
> >> coordinates to the view's coordinates, but then I
> am
> >> not sure how to proceed.
> >
> > There doesn't seem to be any API for converting
> between the  
> > coordinates of a view and its root layer. You
> could probably do it  
> > by getting the root layer's transform property,
> and then running the  
> > point in view coordinates through that.
> 
> Is this what the new NSView convertPointTo/FromBase:
> are for?  

Aha! Yes, that does seem to be the solution. If I
change the hit testing in GeekGameBoard to:

    CGPoint where = NSPointToCGPoint([self
convertPointToBase:[self convertPoint:
locationInWindow fromView: nil]]);
    where = [_gameboard convertPoint: where fromLayer:
self.layer];
    CALayer *layer = [_gameboard hitTest: where];

It works a bit better (there's still some dragging
issues to be cleaned up elsewhere, but picking up
cards is fixed.)

I don't understand what this "base" coordinate system
is (not the window's, otherwise the conversions would
likely be offset by the view's position therein,
right?). But whatever it is, it seems to be shared by
the CALayer. I'd appreciate a greater understanding of
all this, but those functions seem to be necessary for
any coordinate work in the layers that needs to relate
to the NSView world.

thanks,
-natevw

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! 
Regístrate ya - http://correo.espanol.yahoo.com/ 
_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to