|
|
#pragma once
|
|
|
#include "IDcDraw.h"
|
|
|
#include "XyDC.h"
|
|
|
|
|
|
class CDcDrawPlus : public IDcDraw
|
|
|
{
|
|
|
public:
|
|
|
CDcDrawPlus();
|
|
|
CDcDrawPlus(CXyDC* pXyDC);
|
|
|
~CDcDrawPlus();
|
|
|
|
|
|
void Create(CXyDC* pXyDC);
|
|
|
|
|
|
void InitDC() { ; }
|
|
|
void ReleaseDC() { ; }
|
|
|
|
|
|
void Draw(C3DFaultageSurface& fs, COLORREF fillColor, void* HowToViewCurve) override;
|
|
|
void Draw(CArc& arc, COLORREF color) override;
|
|
|
void Draw(CArc& arc, void* HowToViewCurve) override;
|
|
|
void Draw(CCircle &circle, COLORREF Color) override;
|
|
|
void Draw(CColorRuler& ruler, CColorBase& color) override;
|
|
|
void Draw(CCurveEx &curve, double l1, double l2) override;
|
|
|
void Draw(CCurveEx& curve, COLORREF color, BOOL bSmoothHead = TRUE) override;
|
|
|
void Draw(CCurveEx& curve, void* HowToViewCurve) override;
|
|
|
void Draw(CCurveEx& m_curve) override;
|
|
|
void Draw(CCurveRect& curve, COLORREF color) override;
|
|
|
void Draw(CCurveRect& rt, void* HowToViewCurve) override;
|
|
|
void Draw(CCurveTV5& tv, void* HowToViewCurve) override;
|
|
|
void Draw(CEllipse &elp, COLORREF Color) override;
|
|
|
void Draw(CFrame& frame, COLORREF color) override;
|
|
|
void Draw(CGridding& grid, COLORREF colText, COLORREF colLine) override;
|
|
|
void Draw(CHorizontalWell &horizontalwell, void* HowToViewCurve) override;
|
|
|
void Draw(CImageInsert& image) override;
|
|
|
void Draw(CInsertDraw& m_insert) override;
|
|
|
void Draw(CInsertDrawRect& idr) override;
|
|
|
void Draw(CInsertOld& m_insert) override;
|
|
|
void Draw(CMText& mtext) override;
|
|
|
void Draw(CMesh &mesh) override;
|
|
|
void Draw(CMetaFile& mf) override;
|
|
|
void Draw(CMxn& mxn, COLORREF colFront, COLORREF colBack) override;
|
|
|
void Draw(CNet& net, COLORREF colText, COLORREF colLine) override;
|
|
|
void Draw(COleObject& ole) override;
|
|
|
void Draw(COtherDraw& od, COLORREF color) override;
|
|
|
void Draw(COtherDraw& od, void* HowToViewCurve) override;
|
|
|
void Draw(CPathFill& path, COLORREF fillColor, void* HowToViewCurve) override;
|
|
|
void Draw(CPointCrossName& point, void* HowToViewPoint) override;
|
|
|
void Draw(CPointNameEx& point, void* HowToViewPoint) override;
|
|
|
void Draw(CPointTwoName& point, void* HowToViewPoint) override;
|
|
|
void Draw(CProportion& proportion, COLORREF color) override;
|
|
|
void Draw(CRectLabel& rl, COLORREF color, void* HowToViewCurve) override;
|
|
|
void Draw(CScaleRuler& sr, COLORREF color) override;
|
|
|
void Draw(CSection& section, CRect8* rect = NULL) override;
|
|
|
void Draw(CStation& cs) override;
|
|
|
void Draw(CText& text, CCurveEx* pCurveRect = NULL) override;
|
|
|
void Draw(CText& text, COLORREF color) override;
|
|
|
void Draw(CTree& tree) override;
|
|
|
void Draw(CXyDC* pInsertXyDC, CInsertOld& m_insert) override;
|
|
|
void Draw(CXyDC* pNewXyDC, CInsertDraw& m_insert) override;
|
|
|
void DrawArray(CMxn& mxn, COLORREF colFront, COLORREF colBack) override;
|
|
|
void DrawGrid(CMxn& mxn) override;
|
|
|
|
|
|
void DrawPixel(double x, double y);
|
|
|
|
|
|
void PolyLine(CCurveEx& curve, bool bDirectOut = false);
|
|
|
void PolyLine(CPointList& dp);
|
|
|
|
|
|
void PaintRgn(LPPOINT sp, int count);
|
|
|
|
|
|
void Draw(CWellGroup & wellGroup);
|
|
|
|
|
|
private:
|
|
|
std::shared_ptr<Gdiplus::Graphics> GetGraphics();
|
|
|
std::shared_ptr<CXyDC> m_cacheXyDC;
|
|
|
std::shared_ptr<CXyDC> m_cacheOldXyDC; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD> Graphics<63><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ζ<EFBFBD><CEB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µģ<C2B5><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
std::map<HDC, std::shared_ptr<Gdiplus::Graphics>> m_graphicsMap;
|
|
|
};
|
|
|
|