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.

114 lines
3.9 KiB
C++

#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;
};