Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpObjectAnnotate.h
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