00001 00002 #ifndef _MyPolygonMarkupOp_H 00003 #define _MyPolygonMarkupOp_H 00004 00005 #ifdef H_PACK_8 00006 #pragma pack(push) 00007 #pragma pack(8) 00008 #endif 00009 00010 #include "HTools.h" 00011 #include "HBaseOperator.h" 00012 00013 00014 class MVO_API MyPolygonMarkupOp : public HBaseOperator 00015 { 00016 public: 00017 MyPolygonMarkupOp(HBaseView* view, int DoRepeat=0, int DoCapture=1); 00018 00019 static void CreateMarkupPolygon(HBaseView *pView, const char *segment, unsigned int PolyLineLength, HPoint *pPolyline, bool emit_message); 00020 00021 HBaseOperator * Clone(); 00022 virtual const char * GetName(); 00023 00024 protected: 00025 00026 virtual int OnLButtonDownAndMove(HEventInfo &hevent); 00027 virtual int OnLButtonDown(HEventInfo &hevent); 00028 virtual int OnLButtonUp(HEventInfo &hevent); 00029 00030 virtual void MarkupSelection(HEventInfo &hevent); 00031 virtual void CompleteLastMarkup(); 00032 virtual void BeginNewMarkup(); 00033 00034 HC_KEY m_LastKey; 00035 char markup_seg[4096]; 00036 static long markup_incarnation; 00037 }; 00038 00039 00040 00041 #ifdef H_PACK_8 00042 #pragma pack(pop) 00043 #endif 00044 00045 #endif 00046 00047 00048