//=============================================================================
//
//		Copyright (C) 1995, 1996 by Paul S. McCarthy and Eric Sunshine.
//				Written by Paul S. McCarthy and Eric Sunshine.
//							All Rights Reserved.
//
//		This notice may not be removed from this source code.
//
//		This object is included in the MiscKit by permission from the authors
//		and its use is governed by the MiscKit license, found in the file
//		"License.rtf" in the MiscKit distribution.	Please refer to that file
//		for a list of all applicable permissions and restrictions.
//		
//=============================================================================
//-----------------------------------------------------------------------------
// MiscMouseTracker.M
//
//		Abstract class defining selection behavior based upon mouse tracking.
//
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// $Id: MiscMouseTracker.M,v 1.3 96/09/20 10:34:15 zarnuk Exp $
// $Log:		MiscMouseTracker.M,v $
//	Revision 1.3  96/09/20	10:34:15  zarnuk
//	All access to the selection now goes through MiscTableBorder.
//	
//	Revision 1.2  96/05/05	11:06:08  sunshine
//	For OpenStep conformance, keyboard events are now treated the same as
//	mouse events (i.e. one must use the same modifiers with keyboard events
//	as one does with mouse events rather than the behavior being different
//	for keyboard events).  Ditched -keyDown:atPos: method.
//	
//	Revision 1.1  95/09/27	12:21:21  zarnuk
//	Initial revision
//-----------------------------------------------------------------------------
#import "MiscMouseTracker.h"
#import "MiscSparseSet.h"
#import "MiscTableBorder.h"


@implementation MiscMouseTracker

//-----------------------------------------------------------------------------
// initBorder:
//-----------------------------------------------------------------------------
- initBorder: (MiscTableBorder*) b
	{
	[super init];
	border = b;
	border->selectNone();
	return self;
	}


//-----------------------------------------------------------------------------
// mouseDown:atPos:
//-----------------------------------------------------------------------------
- (void) mouseDown: (NXEvent const*) event atPos: (MiscCoord_V) pos
	{
	[self subclassResponsibility: _cmd];
	}


//-----------------------------------------------------------------------------
// mouseDragged:atPos:
//-----------------------------------------------------------------------------
- (void) mouseDragged: (NXEvent const*) event atPos: (MiscCoord_V) pos
	{
	[self subclassResponsibility: _cmd];
	}


//-----------------------------------------------------------------------------
// mouseUp:atPos:
//-----------------------------------------------------------------------------
- (void) mouseUp: (NXEvent const*) event atPos: (MiscCoord_V) pos
	{
	[self subclassResponsibility: _cmd];
	}

@end
