// $Revision: 1.4 $ //------------------------------------------------------------------------------ // // Copyright (C) 1994, 1995 Taligent, Inc. All rights reserved. // // Project: TaligentSelectionTool // File: SelectionToolTarget.h // Build/Version: 1.0.0 // // Description: Define base functionality for selection tool targets and provide // shared feedback implementation. // //------------------------------------------------------------------------------ #ifndef TaligentSamples_SELECTIONTOOLTARGET #define TaligentSamples_SELECTIONTOOLTARGET class TSelectionToolTarget; #ifndef Taligent_CURSORTOOLS #include #endif #ifndef Taligent_TRANSFORMS #include #endif #ifndef Taligent_VIEWHANDLE #include #endif #ifndef Taligent_AREAGEOMETRY #include #endif class TModelSelection; //from class MFeedbacker; //from Feedbacker.h class MSelectionMapping; //from SelectionMapping.h //................................................................................ class TSelectionToolTarget : public MToolTarget { public: TaligentTypeExtensionDeclarationsMacro_Abstract(TSelectionToolTarget) public: TSelectionToolTarget(MFeedbacker* feedbacker, MSelectionMapping* mapping); virtual ~TSelectionToolTarget(); virtual TModelSelection* GetSelection() const = 0; TGArea GetSelectionDisplayArea() const; void AdoptFeedback(MGraphic* graphic); MGraphic* OrphanFeedback(); MGraphic* ReplaceFeedback(MGraphic* newFeedback); TViewHandle GetCoordinateView() const; protected: MFeedbacker* GetFeedbacker() const; MSelectionMapping* GetMapping() const; const TGrafMatrix* GetCoordMapping() const; private: MFeedbacker* fFeedbacker; MSelectionMapping* fMapping; MGraphic* fFeedback; TGrafMatrix fCoordMapping; }; #endif