You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
2.6 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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