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

1 month ago
#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);
//<2F><><EFBFBD>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PLINE_SOLID_BEZIER PLINE_BEZIER //B<><42><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PLINE_SOLID_BCLOSE PLINE_BC //B<><42><EFBFBD><EFBFBD><EFBFBD>պ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PLINE_SOLID_SPLINE PLINE_SPLINE //S<><53><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PLINE_SOLID_SCLOSE PLINE_SPLINEC //S<><53><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>պ<EFBFBD>
#define PLINE_SOLID_CENTER 0x00001000 //<2F><><EFBFBD>г<EFBFBD><D0B3><EFBFBD>
#define PLINE_SOLID_SINGLE 0x00002000 //<2F><><EFBFBD>г<EFBFBD><D0B3><EFBFBD>
class AFX_EXT_CLASS CCurveFillSymbol : public CCurveView
{
public:
CCurveFillSymbol();
virtual ~CCurveFillSymbol();
protected:
virtual void DoFillContent(CXyDC& dc, CRect8 range);
public:
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
//virtual void InitPropertiesList();
//<2F>ڵ<EFBFBD><DAB5><EFBFBD>Set<65><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ã<EFBFBD>Ϊ<EFBFBD>˸<EFBFBD><CBB8>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>ָ<EFBFBD><D6B8>
//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; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CSize8 m_space; //<2F><><EFBFBD>ż<EFBFBD><C5BC>Ŀհ׼<D5B0><D7BC><EFBFBD>
CSize8 m_size; //<2F><><EFBFBD>Ŵ<EFBFBD>С
CSize8 m_scale; //<2F><><EFBFBD>ųߴ<C5B3><DFB4><EFBFBD><EFBFBD>ű<EFBFBD><C5B1><EFBFBD>
void* pDraw; //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
BOOL m_bBitmap; //ʹ<><CAB9>λͼ<CEBB><CDBC><EFBFBD><EFBFBD>
};
#endif