#pragma once #include "afxcoll.h" #include "rect8ex.h" #include "insertdraw.h" #include "text.h" #include "curveex.h" #include "circle.h" #include "frame.h" #include "imageinsert.h" #include "mxn.h" #include "mesh.h" #include "colorruler.h" #include "proportion.h" #include "insertdrawrect.h" #include "arc.h" #include "net.h" #include "grid.h" #include "WellGroup.h" //#include "memdc.h" #include "section.h" #include "hyperlinkmulti.h" #include "..\SectionLib\OtherDraw.h" // Added by ClassView #include "oleobject.h" #include ".\tree.h" #include ".\metafile.h" #include ".\publicfunction.h" #include ".\station.h" #include ".\curvetv5.h" #include ".\mtextparse.h" #include ".\scaleruler.h" #include ".\curverect.h" #include ".\pointcrossname.h" #include ".\pathxy.h" #include "RectLabel.h" #include "HorizontalWell.h" #include "GDFLOGBRUSH.h" #include "GDFLOGPEN.h" #include "GDFLOGFONT.h" #include "GDFLOGPOINT.h" #include "XyDCBase.h" #include ".\3DFaultageSurface.h" class IDcDraw { public: virtual ~IDcDraw() {} //virtual void Create(CXyDC* pXyDC) = 0; virtual void InitDC() = 0; virtual void ReleaseDC() = 0; virtual void Draw(CText& text, CCurveEx* pCurveRect = NULL)=0; //当pCurveRect不为空时表示仅是为了获得显示范围 virtual void Draw(CText& text, COLORREF color)=0; virtual void Draw(CMText& mtext) = 0; virtual void Draw(CEllipse &elp, COLORREF Color) = 0; virtual void Draw(CCircle &circle, COLORREF Color) = 0; virtual void Draw(CInsertDraw& m_insert) = 0; virtual void Draw(CXyDC* pNewXyDC, CInsertDraw& m_insert) = 0; virtual void Draw(CInsertOld& m_insert) = 0; virtual void Draw(CXyDC* pInsertXyDC, CInsertOld& m_insert) = 0; virtual void Draw(CSection& section, CRect8* rect = NULL) = 0; virtual void Draw(CImageInsert& image) = 0; virtual void Draw(CMesh &mesh) = 0; virtual void Draw(CMetaFile& mf) = 0; virtual void Draw(CColorRuler& ruler, CColorBase& color) = 0; virtual void Draw(CPathFill& path, COLORREF fillColor, void* HowToViewCurve) = 0; virtual void Draw(C3DFaultageSurface& fs, COLORREF fillColor, void* HowToViewCurve) = 0; virtual void Draw(CProportion& proportion, COLORREF color) = 0; virtual void Draw(CCurveEx &curve, double l1, double l2) = 0; virtual void Draw(CCurveEx& m_curve) = 0; virtual void Draw(CCurveEx& curve, void* HowToViewCurve) = 0; virtual void Draw(CCurveEx& curve, COLORREF color, BOOL bSmoothHead = TRUE) = 0; virtual void Draw(CCurveRect& rt, void* HowToViewCurve) = 0; virtual void Draw(CCurveRect& curve, COLORREF color) = 0; virtual void Draw(CPointNameEx& point, void* HowToViewPoint) = 0; virtual void Draw(CPointCrossName& point, void* HowToViewPoint) = 0; virtual void Draw(CPointTwoName& point, void* HowToViewPoint) = 0; virtual void Draw(CInsertDrawRect& idr) = 0; virtual void Draw(CArc& arc, void* HowToViewCurve) = 0; virtual void Draw(CArc& arc, COLORREF color) = 0; virtual void Draw(CFrame& frame, COLORREF color) = 0; virtual void Draw(CNet& net, COLORREF colText, COLORREF colLine) = 0; virtual void Draw(CGridding& grid, COLORREF colText, COLORREF colLine) = 0; virtual void Draw(COtherDraw& od, void* HowToViewCurve) = 0; virtual void Draw(COtherDraw& od, COLORREF color) = 0; virtual void Draw(COleObject& ole) = 0; virtual void Draw(CTree& tree) = 0; virtual void Draw(CStation& cs) = 0; virtual void Draw(CCurveTV5& tv, void* HowToViewCurve) = 0; virtual void Draw(CScaleRuler& sr, COLORREF color) = 0; virtual void Draw(CRectLabel& rl, COLORREF color, void* HowToViewCurve) = 0; virtual void DrawArray(CMxn& mxn, COLORREF colFront, COLORREF colBack) = 0; //前景色与背景色 virtual void Draw(CMxn& mxn, COLORREF colFront, COLORREF colBack) = 0; virtual void DrawGrid(CMxn& mxn) = 0; virtual void Draw(CHorizontalWell &horizontalwell, void* HowToViewCurve) = 0; virtual void Draw(CWellGroup &wellGroup) = 0; virtual void PolyLine(CPointList& dp) = 0; virtual void PaintRgn(LPPOINT sp, int count) = 0; protected: CXyDC* m_pXyDc; CDC *pDC; };