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 #ifndef _HUTILITY_TEXT_LIST_H 00011 #define _HUTILITY_TEXT_LIST_H 00012 00013 #ifdef H_PACK_8 00014 #pragma pack(push) 00015 #pragma pack(8) 00016 #endif 00017 00018 #include "HTools.h" 00019 #include "hic_types.h" 00020 00035 class MVO_API HImHideOverlappedText 00036 { 00037 00038 public: 00039 00041 static void FilterOn(); 00042 00044 static void FilterOff(); 00045 00047 static bool IsFilterOn(); 00048 00050 static void RegisterCallbacks(); 00051 00052 private: 00053 /* private members are also doxygenated, as this class is also meant to serve as an example of IM usage. */ 00054 00061 static void defer_text(HIC_Rendition const *nr, HIC_Text_Info const *text_info); 00062 00069 static void update(HIC_Rendition const *nr, HIC_Segment_Info const *seg ); 00070 00071 static struct vlist_s * text_list; 00072 static struct vlist_s * annotation_list; 00073 static bool m_bFilterOn; 00074 00084 static void draw_text(HIC_Rendition const *nr ); 00085 00088 static void defer_annotation(HIC_Rendition const *nr, HIC_Segment_Info const * si); 00089 00090 }; 00091 00092 00093 #ifdef H_PACK_8 00094 #pragma pack(pop) 00095 #endif 00096 00097 #endif 00098 00099 00100 00101 00102 00103