// $Revision: 1.4 $ //------------------------------------------------------------------------------ // // Copyright (C) 1994, 1995 Taligent, Inc. All rights reserved. // // Project: TaligentSelectionTool // File: RangeSelector.h // Build/Version: 1.0.0 // // Description: Perform "rubber-band" selection. // //------------------------------------------------------------------------------ #ifndef TaligentSamples_RANGESELECTOR #define TaligentSamples_RANGESELECTOR class TRangeSelector; #ifndef Taligent_MOUSEINPUT #include #endif #ifndef Taligent_AREAGEOMETRY #include #endif class MToolHandler; //from class TSelectionTarget; //from SelectionTarget.h //................................................................................ class TRangeSelector : public TInteractor, public MMouseEventHandler { public: TaligentTypeExtensionDeclarationsMacro_Abstract(TRangeSelector) public: TRangeSelector(MToolHandler* handler); virtual ~TRangeSelector(); virtual bool MouseDown(TMouseDownEvent& mouseDown); virtual bool MouseMoved(TMouseMovedEvent& mouseMoved); virtual bool MouseUp(TMouseUpEvent& mouseUp); protected: virtual void SyncSelections(const TGPoint& where); virtual void SyncFeedback(const TGPoint& where); private: TRangeSelector& operator=(const TRangeSelector& source); MToolHandler* fHandler; TGPoint fAnchorPoint; TGArea fInitialSelection; TDeleterFor fBandSelection; TDeleterFor fNewSelection; }; #endif