メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

WXError.h

00001 #ifndef Spr_DDRAW_CCKDXERROR_H
00002 #define Spr_DDRAW_CCKDXERROR_H
00003 #include "WxComBase.h"
00004 #include <string>
00005 
00006 #define WXERRMSG(n, msg) \
00007     Singleton<WXDXError>().Message(n, (msg), __FILE__, __LINE__)
00008 #define WXCHECK(err)    \
00009     Singleton<WXDXError>().Check((err), "", __FILE__, __LINE__)
00010 #define WXCHECKMSG(err, msg)    \
00011     Singleton<WXDXError>().Check((err), (msg), __FILE__, __LINE__)
00012 
00013 #ifndef TRACE
00014 #define TRACE WXDXError::DebugPrintF
00015 #endif
00016 
00017 namespace Spr {;
00018 
00019 /// DirectX の 返り値をチェックし、エラーがあればエラーメッセージを表示する。
00020 class SPR_DLL WXDXError{
00021 protected:
00022     DWORD num;
00023     char* err;
00024     char* desc;
00025     std::string msg;
00026     std::string fname;
00027     int line;
00028 public:
00029     WXDXError();
00030     DWORD Num(){return num;}
00031     const char* Err(){return err;}
00032     const char* Desc(){return desc;}
00033     bool Check(DWORD n, const char* msg, const char* fn=NULL, int ln=0){
00034         if (!n) return true;
00035         return CheckImp(n, msg, fn, ln);
00036     }
00037     bool CheckImp(DWORD n, const char* msg, const char* fn=NULL, int ln=0);
00038     void Message(DWORD n, const char* msg, const char* fn=NULL, int ln=0);
00039     static void __cdecl DebugPrintF(const char* f,...);
00040     static bool DDErrorToString(char*& err, char*& desc, HRESULT error);
00041     static bool D3DErrorToString(char*& err, char*& desc, HRESULT error);
00042 };
00043 
00044 }   //  namespace Spr
00045 
00046 #endif

Springheadに対してSun Apr 16 01:57:59 2006に生成されました。  doxygen 1.4.1