// $Revision: 1.4 $ //------------------------------------------------------------------------------ // // Copyright (C) 1994, 1995 Taligent, Inc. All rights reserved. // // Project: TaligentSelectionTool // File: Feedbacker.h // Build/Version: 1.0.0 // // Description: MFeedbacker class defines a protocol and provides an // implementation for feedback management. // //------------------------------------------------------------------------------ #ifndef TaligentSamples_FEEDBACKER #define TaligentSamples_FEEDBACKER class MFeedbacker; #ifndef Taligent_DEQUEOF #include #endif #ifndef Taligent_VIEWHANDLE #include #endif #ifndef Taligent_SYNCHRONIZATION #include #endif class MGraphic; //from class TGrafPort; //from class TGArea; //from //................................................................................ class MFeedbacker { public: MFeedbacker(const TViewHandle& view); virtual ~MFeedbacker(); void AdoptFeedback(MGraphic* graphic); MGraphic* OrphanFeedback(const MGraphic& graphic); MGraphic* ReplaceFeedback(const MGraphic& oldFeedback, MGraphic* newFeedbackToAdopt); bool DrawFeedback(TGrafPort& port) const; TViewHandle GetFeedbackView() const; protected: virtual void HandleHideCurrentSelectionFeedback(); virtual void HandleShowCurrentSelectionFeedback(); virtual void HandleFeedbackChanged(const TGArea& area); private: TDequeOf fFeedback; TMonitorLock fFeedbackLock; TViewHandle fView; }; #endif