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 // HOpObjectAnnotate.h : interface of the HOpObjectAnnotate class 00011 // 00012 // Draws a polyline in the view plane based on pointer input 00013 // Polyline points are stored in protected member variables and ready after 00014 // OnLButtonDblClk method has been called. 00015 // Derived Classes should call this::OnLButtonDblClk in their overloaded implementation. 00016 // Polyline points are in window space. 00017 00018 00019 #ifndef _HOPOBJECTANNOTATE_H 00020 #define _HOPOBJECTANNOTATE_H 00021 00022 #ifdef H_PACK_8 00023 #pragma pack(push) 00024 #pragma pack(8) 00025 #endif 00026 00027 #include "HTools.h" 00028 #include "HBaseOperator.h" 00029 00031 00044 class MVO_API HOpObjectAnnotate : public HBaseOperator 00045 { 00046 public: 00053 HOpObjectAnnotate(HBaseView* view, int DoRepeat=0, int DoCapture=1); 00054 virtual ~HOpObjectAnnotate(); 00055 00059 virtual const char * GetName(); 00060 00061 00067 virtual HBaseOperator * Clone(); 00068 00078 static void AnnotateObject(HBaseView *pView,const char *segment, char *AnnotationText, HPoint lineStart, 00079 HPoint lineEnd, bool emit_message); 00086 static void AnnotateObjectFromMessage(HBaseView *pView, const char *in_data, unsigned int data_length); 00087 00095 virtual int OnLButtonDown(HEventInfo &hevent); 00096 00102 virtual int OnNoButtonDownAndMove(HEventInfo &hevent); 00103 00104 00111 virtual int OnKeyDown(HEventInfo &hevent); 00112 00113 protected: 00114 00116 void finalize_text(); 00117 00118 private: 00119 char *m_pString; 00120 HPoint m_ptLast; 00121 char m_sSegment[MVO_BUFFER_SIZE]; 00122 bool m_bObject; 00123 static int m_iPathKeysCount; 00124 static HC_KEY *m_pSelectionPath; 00125 }; 00126 00127 #ifdef H_PACK_8 00128 #pragma pack(pop) 00129 #endif 00130 00131 #endif 00132 00133 00134 00135 00136 00137 00138 00139 00140