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.

59 lines
1.6 KiB
C++

//////////////////////////////////////////////////////////////////////////////
//文件 DxfDC.h
//主要功能:
//
//程序编写: 2005-12-07
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include "FormatDC.h"
namespace NFormatWriter
{
class CDxfDC :
public CFormatDC
{
public:
CDxfDC(void);
virtual ~CDxfDC(void);
virtual void Initial(void) {}
virtual int OutFront(void);
virtual int OutEnd(void);
virtual void SetPixel(double x, double y, COLORREF col);
virtual void Draw(CInsertOld& m_insert);
virtual void Draw(CInsertDraw& m_insert);
virtual void Draw(CText& text, CCurveEx& curve);
virtual void Draw(CSection& section,CRect8* rect=NULL);
virtual void Ellipse(double x1, double y1, double x2, double y2);
virtual void PaintRgn(CCurveEx& curve);
virtual void Draw(CMesh &mesh);
virtual void Draw(CImageInsert& image);
virtual void FillSolidRect(CRect8& rect, COLORREF color);
//virtual void LineTo(double x, double y);
virtual void PolyLine(CPointList& dp);
virtual void SelectClipRgn(CPointList* pPointList, int nMode=RGN_AND); //导出CGM或EPS等文件时,仅是为了填充符号时的边界剪辑问题
virtual void SetCurrentLayer(LPCTSTR strLayer);
virtual COLORREF GetCurrentColor(void);
//写数据
void DxfVertex(double x, double y, double z);
void WriteSection(int nGroupCode, LPCTSTR value);
void WriteSection(int nGroupCode, double value);
void WriteSection(int nGroupCode, int value);
void WriteSection16(int nGroupCode, int value);
void WriteSection(int nGroupCode, COLORREF value);
void CalibrateDxfName(CString& name); //校正为DXF文件中合法的字符串
long GetID(void);
protected:
long m_nIndex;
};
};