#ifndef _TTEMPZOOM_H__ #define _TTEMPZOOM_H__ #if _MSC_VER > 1000 #pragma once #endif #ifdef _TCHPIPEBASE_ #define DLLIMPEXP __declspec(dllexport) #else #ifdef _TCHPIPEBASE_COM_ #define DLLIMPEXP #else #define DLLIMPEXP __declspec(dllimport) #endif #endif class DLLIMPEXP TTempZoom { public: TTempZoom(); //传入pt1,pt2 bPtIsUcs确定传入的点是ucs还是wcs TTempZoom(const ads_point pt1, const ads_point pt2,BOOL bPtIsUcs = TRUE); ~TTempZoom(); private: void SetPoint(ads_point pt, double x, double y, double z); void Mid(const ads_point p1, const ads_point p2, ads_point dest); int ScrCorner(ads_point lowerpt, ads_point upperpt); void Max(const ads_point pt1, const ads_point pt2,ads_point pt3); void Min(const ads_point pt1, const ads_point pt2,ads_point pt3); int ScrSize(ads_real *width, ads_real *height); void InitView(AcDbViewTableRecord& view); Acad::ErrorStatus arxPan(AcGeVector2d& vtPan); Acad::ErrorStatus arxZoomTo(const ads_point ptCen, double nWidth, double nHeight); Acad::ErrorStatus arxZoom(const ads_point ptLow, const ads_point ptUp); Acad::ErrorStatus AssureInCurrentView(const ads_point ptLow, const ads_point ptUp); BOOL PointInSide(const ads_point pt,const ads_point ptLow, const ads_point ptUp); private: BOOL m_bRestore; BOOL m_bAllInSide; ads_point m_pt1; ads_point m_pt2; int m_iCmdEcho; struct resbuf m_rbElevation; }; #endif //_TTEMPZOOM_H__