00001 // 00002 // Copyright (c) 2000 by Tech Soft 3D, LLC. 00003 // The information contained herein is confidential and proprietary to 00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 // civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 // and criminal remedies in the event of unauthorized use or misappropriation 00007 // of its trade secrets. Use of this information by anyone other than 00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 // written non-disclosure agreement, expressly prescribing the scope and 00010 // manner of such use. 00011 // 00012 // $Id: 12f69554b77d10077637d9c48cb3e2e533a4acc6 $ 00013 // 00014 00015 // HOpConstructRectangle.h : interface of the HOpConstruction class 00016 // draws a 2D box in view port based on pointer first position and last position 00017 // Derived classes access the Points for the rectangle in HBaseOperator members 00018 // m_ptFirst and m_ptLast; Points are stored in window space. 00019 00020 00021 #ifndef _HOPCONSTRUCTRECTANGLE_H 00022 #define _HOPCONSTRUCTRECTANGLE_H 00023 00024 #ifdef H_PACK_8 00025 #pragma pack(push) 00026 #pragma pack(8) 00027 #endif 00028 00029 #include "HTools.h" 00030 #include "HBaseOperator.h" 00031 00033 00044 class MVO_API HOpConstructRectangle : public HBaseOperator 00045 { 00046 public: 00055 HOpConstructRectangle(HBaseView* view, int DoRepeat=0, int DoCapture=1, bool UseCenterMarker=true); 00056 virtual ~HOpConstructRectangle(); 00057 00058 00062 virtual const char * GetName(); 00063 00069 virtual HBaseOperator * Clone(); 00070 00071 00072 00078 virtual int OnLButtonDown(HEventInfo &hevent); 00079 00087 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00088 00094 virtual int OnLButtonUp(HEventInfo &hevent); 00100 virtual int OnRButtonUp(HEventInfo &hevent); 00101 00102 protected: 00103 00104 bool m_bRectangleExists; 00105 HPoint m_ptRectangle[2]; 00106 char m_pSavedVisibility[MVO_BUFFER_SIZE]; 00107 char m_pSavedColor[MVO_BUFFER_SIZE]; 00108 00109 private: 00110 bool m_bUseCenterMarker; 00111 }; 00112 00113 #ifdef H_PACK_8 00114 #pragma pack(pop) 00115 #endif 00116 00117 #endif 00118 00119 00120 00121