Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpConstructRectangle.h
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: 779b9b8a124e33124487ac4b6842c2d480b9b05c $
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