On Jan 13, 2011, at 16:48, Markus Spoettl wrote:

> On Jan 13, 2011, at 7:37 PM, Corbin Dunn wrote:
>> - (void)draggedImage:(NSImage *)draggedImage movedTo:(NSPoint)screenPoint
>> 
>> Then do something like this (after converting the screen point to window 
>> coords):
>> 
>>    NSPoint windowPoint = [[view window] mouseLocationOutsideOfEventStream];
>>    NSPoint localPoint = [view convertPoint:windowPoint fromView:nil];
>>    if (![view mouse:localPoint inRect:[view visibleRect]]) {
>>        [[NSCursor disappearingItemCursor] set];
>>    }
> 
> Fantastic, thanks so much Corbin!

It may be problem fully solved in regard to your original question, but ...

1. In the past, in trying to debug why the cursor changes back to an arrow 
unexpectedly (in the sorts of scenario you described) I found that scroll views 
tend to change the cursor when the pointer passes over parts of the scroll view 
that aren't showing the document view itself -- scroll bars, borders, etc. That 
can be annoying when you're trying to manage the cursor very carefully yourself.

2. I don't know how big a problem it is, but there's a doubtful aspect of using 
'mouseLocationOutsideOfEventStream' like this. At the time such code is 
executed, the position of whatever is being dragged (the transparent image in 
this case) may well be synchronized with the event stream. It's possible for 
the unsynchronized position to be quite different, which means that the image 
position and the cursor shape would end up being puzzlingly mismatched.

Whether this would afflict the above code, I really don't know, but it's worth 
spending a bit of time testing (with fast pointer movements and busy 
processors, perhaps).


_______________________________________________

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 arch...@mail-archive.com

Reply via email to