Talk:NSView
Jump to navigation
Jump to search
Why not use something like
- (void) mouseDown: (NSEvent *) theEvent
{
BOOL isInside;
unsigned int mask = NSLeftMouseUpMask | NSLeftMouseDraggedMask;
if( nil == target ) return;
while( [theEvent type] != NSLeftMouseUp )
{
theEvent = [[self window] nextEventMatchingMask: mask];
isInside = [self mouse: [self convertPoint: [theEvent locationInWindow]
fromView: nil]
inRect: [self bounds]];
switch( [theEvent type] )
{
case NSLeftMouseDragged: // drag
//
// whatever needs to be done while dragging
//
break;
case NSLeftMouseUp: // drop
if( isInside )
{
//
// whatever needs to be done when button is released
//
}
break;
default:
break;
} /*switch */
} /* while */
} /* -mouseDown: */
Looks much cleaner and should be faster.