#pragma once #include "dfPluginBase.h" namespace NPluginFormat { class AFX_EXT_CLASS CPluginFormat { public: CPluginFormat(void* pxy); virtual ~CPluginFormat(void); static void* m_pXY; static void* GetXY(); static void SetXY(void* pxy); static dfPluginFormatReader pluginReader; //为插件提供的接口函数 static bool dfSaveFile( const char* strFileName, int nSaveType); //将内容保存为指定扩展名的文件,nSaveType:1=dfd、2=dfb、3=dml static bool dfClearAll( void ); //清除所有内容,包括层位、元素等所有信息 static bool SetCurrentLayer( const char* strLayer ); //设置当前层 static bool SetProjection( const char* strProjection ); //设置投影,格式为双狐DFD格式 static bool dfElePline( const dfPluginPline* pPline); //插入曲线 static bool dfEleRect( const dfPluginPlineRect* pRect); //插入曲线矩形,可以使用曲线修饰 static bool dfEleText( const dfPluginText* pText); //插入文本 static bool dfElePoint( dfPluginPoint dp, const char* strName, double angle ); //插入点类文字,如井位等,在双狐中可使用修饰控制 static bool dfEleEllipse( const dfPluginEllipse* pEllipse); //插入圆或椭圆 static bool dfEleArc( const dfPluginArc* pArc); //插入弧 static bool dfEleImage( const dfPluginImage* pImage); //插入图像 static bool dfEleImageBuffer(const dfPluginImageBuffer* pImageBuffer ); //插入图像,图像类型可以为“BMP、JPG、GIF、TIF、WMF、EMF、PNG”等三个字节缩写的类型,文件指针中包含了文件所有的内容 static bool dfEleImageFile( const char* strFileName, dfPluginRect rect);//插入图像 static bool dfEleSurface( const dfPluginSurface* pSurface); //插入曲面 static bool dfEleXyz( double x, double y, double z ); //插入XYZ散点 static bool dfEleMergeDFFile( const char* strFileNameOrData, BOOL bMemeryData );//合并双狐图件(如符号库等),bMemeryData为TRUE表示strFileNameOrData中直接为DFD格式的串 static bool dfEleGriding( const dfPluginGriding* pGriding); //插入网格框 static bool dfEleFrame( const dfPluginFrame* pFrame); //插入外边框 static bool dfEleMark( const dfPluginMark* pMark ); //插入符号 static POSITION AddElement(void* pElement, int type); static void SetElementColor(POSITION pos, COLORREF color); static int GetCurveType(enumPlineType pt); static CRect8 GetRect(dfPluginRect rect); //在开始生成一个符号后,后期所有的元素将增加到该符号中,直到结束该符号生成 //符号可以嵌套使用,必须成对出现 static bool dfEleBeginCreateMark(const char* strMarkName); //开始符号生成 static bool dfEleEndCreateMark(void); //结束符号生成 protected: static CPtrList m_markCreaterList; //符号生成列表,临时保存当前符号内容,调用dfEleEndCreateMark后清空 }; }; using namespace NPluginFormat;