// // 便利かも知れないマクロたち // #ifndef __MACRO_INCLUDED__ #define __MACRO_INCLUDED__ // 多重呼び出し対応マクロちゃん #define DELETEPTR(x) if(x) { delete x; x = NULL; } #define DELETEARR(x) if(x) { delete[] x; x = NULL; } #define RELEASE(x) if(x) { x->Release(); x=NULL; } #define FREE(x) if(x) { free(x); x=NULL; } #define FCLOSE(x) if(x) { fclose(x); x=NULL; } #define GDIDELETE(x) if(x) { ::DeleteObject(x); x=NULL; } #define CLOSEHANDLE(x) if(x) { ::CloseHandle(x); x = NULL; } // その他 #define ZEROMEMORY(p,s) ::memset( (p), 0, (s) ) // RECT構造体用 #define RCWIDTH(rc) ((rc).right-(rc).left) #define RCHEIGHT(rc) ((rc).bottom-(rc).top) #endif // !__MACRO_INCLUDED__