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$ 00013 // 00014 00015 // HOpObjectAnnotate.h : interface of the HOpObjectAnnotate class 00016 // 00017 // Draws a polyline in the view plane based on pointer input 00018 // Polyline points are stored in protected member variables and ready after 00019 // OnLButtonDblClk method has been called. 00020 // Derived Classes should call this::OnLButtonDblClk in their overloaded implementation. 00021 // Polyline points are in window space. 00022 00023 00024 #ifndef _HOPOBJECTANNOTATE_H 00025 #define _HOPOBJECTANNOTATE_H 00026 00027 #ifdef H_PACK_8 00028 #pragma pack(push) 00029 #pragma pack(8) 00030 #endif 00031 00032 #include "HTools.h" 00033 #include "HBaseOperator.h" 00034 00036 00049 class MVO_API HOpObjectAnnotate : public HBaseOperator 00050 { 00051 public: 00058 HOpObjectAnnotate(HBaseView* view, int DoRepeat=0, int DoCapture=1); 00059 virtual ~HOpObjectAnnotate(); 00060 00064 virtual const char * GetName(); 00065 00066 00072 virtual HBaseOperator * Clone(); 00073 00083 static void AnnotateObject(HBaseView *pView,const char *segment, char *AnnotationText, HPoint lineStart, 00084 HPoint lineEnd, bool emit_message); 00091 static void AnnotateObjectFromMessage(HBaseView *pView, const char *in_data, unsigned int data_length); 00092 00100 virtual int OnLButtonDown(HEventInfo &hevent); 00101 00107 virtual int OnNoButtonDownAndMove(HEventInfo &hevent); 00108 00109 00116 virtual int OnKeyDown(HEventInfo &hevent); 00117 00118 protected: 00119 00121 void finalize_text(); 00122 00123 private: 00124 char *m_pString; 00125 HPoint m_ptLast; 00126 char m_sSegment[MVO_BUFFER_SIZE]; 00127 bool m_bObject; 00128 static int m_iPathKeysCount; 00129 static HC_KEY *m_pSelectionPath; 00130 }; 00131 00132 #ifdef H_PACK_8 00133 #pragma pack(pop) 00134 #endif 00135 00136 #endif 00137 00138 00139 00140 00141 00142 00143 00144 00145