// $Revision: 1.11 $ // Copyright (C) 1994 Taligent, Inc. All rights reserved. #ifndef Taligent_CANVASGRAPHICSELECTION #define Taligent_CANVASGRAPHICSELECTION #ifndef Taligent_CANVASINTERACTION #include #endif #ifndef Taligent_PRIMITIVECLASSES #include #endif #ifndef Taligent_CANVASCOMMANDS #include #endif //================================================================================ // class TCanvasSelectionInteractor // // description // //================================================================================ class TCanvasSelectionInteractor : public TCanvasRectDragInteractor { public: TCanvasSelectionInteractor (MCanvasSelection* adoptInitialSelection, MToolHandler*, TCanvasView*); virtual ~TCanvasSelectionInteractor (); //======================================== // Metadata //======================================== VersionDeclarationsMacro (TCanvasSelectionInteractor); //======================================== // TCanvasInteractor Overrides //======================================== virtual void StartInteraction (); virtual void ContinueInteraction (); virtual void EndInteraction (); virtual bool MouseMoved (TMouseMovedEvent&); #ifndef NO_Internal private: //======================================== // Default constructor for MCollectible //======================================== TCanvasSelectionInteractor (); void* fExtension; bool fRectSelecting; bool fTranslatingGraphic; MCanvasSelection* fSelection; TCanvasView* fCanvasView; TDeleterFor fBinding; TTranslateCanvasGraphicCmd* fCommand; #endif }; // ******************************************************************************** // class TCanvasRectSelectionFunnel // // description // // ******************************************************************************** class TCanvasRectSelectionFunnel : public TCanvasGraphicFunnel { public: TCanvasRectSelectionFunnel (const TGRect&, MCanvasSelection&, bool shiftedSelection); virtual ~TCanvasRectSelectionFunnel (); // ======================================== // Enumeration // ======================================== virtual bool ProcessGraphic (const MCanvasGraphic&); #ifndef NO_Internal private: MCanvasSelection& fSelection; TGRect fRect; bool fShifted; #endif }; #endif // Taligent_CANVASGRAPHICSELECTION