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: 5552dd57cf83644ce035de5e5d281e3c77a4333c $ 00013 // 00014 00015 #ifndef _HUtilityAntialiasing_H 00016 #define _HUtilityAntialiasing_H 00017 00018 #ifdef H_PACK_8 00019 #pragma pack(push) 00020 #pragma pack(8) 00021 #endif 00022 00023 00024 #include "HTools.h" 00025 #include "hic_types.h" 00026 00027 00028 class HBaseView; 00029 00031 00035 class MVO_API HUtilityAntialiasing 00036 { 00037 public: 00038 00040 HUtilityAntialiasing(HBaseView *view); 00041 ~HUtilityAntialiasing(); 00042 00043 00047 bool GetShowState(); 00048 00053 bool CreateImage(); 00054 00059 void Show(int factor = 4); 00060 00064 void Hide(); 00065 00071 static void RegisterCallbacks(); 00073 static void skip_segment_tree (HIC_Rendition *rendition, HIC_Segment_Info *seg); 00075 static void draw_thick_polylines (HIC_Rendition *rendition, int count, HIC_DC_Point * poi3); 00077 static void draw_thick_polyedges (HIC_Rendition *rendition, int count, HIC_DC_Point *points); 00078 00079 00080 00081 protected: 00082 00088 void GetWindowSize(int &xmax, int &ymax); 00089 00090 private: 00091 HBaseView *m_pHView; 00092 HPixelRGB *m_pAAImageData; 00093 HC_KEY m_AntialisedImageSegmentKey; 00094 int m_width; 00095 int m_height; 00096 bool m_bIsShown; 00097 int m_factor; 00098 00099 char m_drawsegmenttree_callback_name[MVO_BUFFER_SIZE]; 00100 char m_drawwindow_callback_name[MVO_BUFFER_SIZE]; 00101 bool m_bFirst; 00102 char largeImageSegment[MVO_BUFFER_SIZE]; 00103 char imagedriver[MVO_BUFFER_SIZE]; 00104 00105 bool m_bFirstFirst; 00106 HC_KEY image_key; 00107 00108 }; 00109 00110 00111 #ifdef H_PACK_8 00112 #pragma pack(pop) 00113 #endif 00114 00115 #endif 00116 00117 00118 00119 00120