00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00010 // HOpConstructRectangle.h : interface of the HOpConstruction class 00011 // draws a 2D box in view port based on pointer first position and last position 00012 // Derived classes access the Points for the rectangle in HBaseOperator members 00013 // m_ptFirst and m_ptLast; Points are stored in window space. 00014 00015 00016 #ifndef _HOPCONSTRUCTRECTANGLE_H 00017 #define _HOPCONSTRUCTRECTANGLE_H 00018 00019 #ifdef H_PACK_8 00020 #pragma pack(push) 00021 #pragma pack(8) 00022 #endif 00023 00024 #include "HTools.h" 00025 #include "HBaseOperator.h" 00026 00028 00039 class MVO_API HOpConstructRectangle : public HBaseOperator 00040 { 00041 public: 00050 HOpConstructRectangle(HBaseView* view, int DoRepeat=0, int DoCapture=1, bool UseCenterMarker=true); 00051 virtual ~HOpConstructRectangle(); 00052 00053 00057 virtual const char * GetName(); 00058 00064 virtual HBaseOperator * Clone(); 00065 00066 00067 00073 virtual int OnLButtonDown(HEventInfo &hevent); 00074 00082 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00083 00089 virtual int OnLButtonUp(HEventInfo &hevent); 00095 virtual int OnRButtonUp(HEventInfo &hevent); 00096 00097 protected: 00098 00099 bool m_bRectangleExists; 00100 HPoint m_ptRectangle[2]; 00101 char m_pSavedVisibility[MVO_BUFFER_SIZE]; 00102 char m_pSavedColor[MVO_BUFFER_SIZE]; 00103 00104 private: 00105 bool m_bUseCenterMarker; 00106 }; 00107 00108 #ifdef H_PACK_8 00109 #pragma pack(pop) 00110 #endif 00111 00112 #endif 00113 00114 00115 00116