Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HOpObjectAnnotate.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: d86910a082928717d628387a3a43d4071ccada50 $
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