#pragma once
#ifndef MXCADHANDLE
	#define MXCADHANDLE void*
#endif
class McDbDatabase;
class  MXDRAWDLL MxDrawApp {
public:
	static void DrawVectorCircle(McGePoint3d pt, double dR, MxColor iColor, bool isReserve =  false, MXCADHANDLE hOcx = 0);

	static void ClearVectorLine(MXCADHANDLE hOcx = 0);

	static void DrawVectorLine( McGePoint3d pt1, McGePoint3d pt2, MxColor color, bool isReserve = false, MXCADHANDLE hOcx =0);

	static void UpdateDisplay(MXCADHANDLE hOcx = 0);

	static bool UpdateLayerDisplayStatus(MXCADHANDLE hOcx = 0);

	

	static double ViewLongToDoc(double dLong, MXCADHANDLE hOcx = 0);

	static void StopAllCommand();


	static int KeyCallback(int key, int action, MXCADHANDLE hOcx = 0);

	static  bool ZoomW(double dLbx, double dLby, double dRtx, double dRty, MXCADHANDLE hOcx = 0);

	static bool ZoomE(MXCADHANDLE hOcx = 0);

	static bool ZoomScale(double dScale, MXCADHANDLE hOcx = 0);

	static bool ZoomCenter(double dCenterX, double dCenterY, MXCADHANDLE hOcx);

	static MXCADHANDLE GetCurOcxHandle();

	static McDbDatabase* GetDatabase(MXCADHANDLE hOcx = 0);

	static std::string getWorkDir();

	static MxString SplitFileName(const MxString& sFilePath, bool isRetExtName = true);

	static long getStringHash(const MxString& str);

	// 用MrxDbgUtils::GetAllLayoutName函数，得到所有布局名。
	static bool SetCurrentLayout(const char* pLayoutName, MXCADHANDLE hOcx = 0);
};