#ifndef WellXYDCEXT_H #define WellXYDCEXT_H #pragma once #include "NGraphExtend.h" extern AFX_EXT_API COLORREF HexToColorRefExt(CString strHex); extern AFX_EXT_API void DrawFrameLineExt(CXyDC* pDC, CPoint2D pt1, CPoint2D pt2, const GDFLOGPEN& logPen); extern AFX_EXT_API void DrawFrameRectExt(CXyDC* pDC, CRect8 rect, const GDFLOGPEN& logPen); extern AFX_EXT_API void DrawFillPolygonExt(CXyDC* pDC, CCurveEx& curve, GDFLOGBRUSH & brush); extern AFX_EXT_API void DrawPolyLineExt(CXyDC* pDC, CCurveEx& curve, const GDFLOGPENEXT& logPen); extern AFX_EXT_API void DrawPolyLineExt(CXyDC *pDC,CPoint2D* pPoint, int iCount, const GDFLOGPENEXT& logPen); extern AFX_EXT_API void DrawFillRectExt(CXyDC *pDC,CRect8 &rect, GDFLOGBRUSH &brush); extern AFX_EXT_API void DrawLineExt(CXyDC* pDC, CPoint2D pt1, CPoint2D pt2, const GDFLOGPENEXT& logPen); extern AFX_EXT_API void SetClipPtsForPrint(CXyDC* pDC, int n, LPPOINT& pts); //曲线充填符号 #define PLINE_SOLID_BEZIER PLINE_BEZIER //B样条平滑充填 #define PLINE_SOLID_BCLOSE PLINE_BC //B样条闭合平滑充填 #define PLINE_SOLID_SPLINE PLINE_SPLINE //S样条平滑充填 #define PLINE_SOLID_SCLOSE PLINE_SPLINEC //S样条平滑充填闭合 #define PLINE_SOLID_CENTER 0x00001000 //居中充填 #define PLINE_SOLID_SINGLE 0x00002000 //单行充填 class AFX_EXT_CLASS CCurveFillSymbol : public CCurveView { public: CCurveFillSymbol(); virtual ~CCurveFillSymbol(); protected: virtual void DoFillContent(CXyDC& dc, CRect8 range); public: //初始化属性列表 //virtual void InitPropertiesList(); //在调用Set函数设置数值后自动调用,为了根据符号名称设置符号指针 //virtual void AfterSetPropertyValue(LPCTSTR proName); public: virtual void Serialize(CArchive& ar, const short &ver); virtual int Read(CFile &fr, const short &ver); virtual void Write(CFile &fw, const short &ver, double cc); virtual void Draw(CXyDC &dc, CCurveEx *curve); virtual void ScaleProperty(double sx, double sy); virtual void WriteDML(CFile &fw, const short &ver, double cc, int nBaseTabNum); virtual int ReadDML(CFile &fr, const short &ver, void* pXmlParse); virtual void WritePCG(CFile &fw, const short &ver, double cc, int nBaseTabNum); virtual int ReadPCG(CFile &fr, const short &ver, void* pXmlParse); void operator=(CCurveFillSymbol& cr); //int PositionNew(int bReplace); void EnableFillCenter(BOOL bEnable); BOOL IsFillCenter(); void EnableFillSingle(BOOL bEnable); BOOL IsFillSingle(); CString MarkName; //符号名称 CSize8 m_space; //符号间的空白间隔 CSize8 m_size; //符号大小 CSize8 m_scale; //符号尺寸绽放比例 void* pDraw; //符号指针 BOOL m_bBitmap; //使用位图填充 }; #endif