#include "DLLMain.h" #include #include #include #include "D9DW_Text.h" bool D9DW_Text::bInit = false; ID3DXFont* D9DW_Text::m_pFont = NULL; void D9DW_Text::Create(IDirect3DDevice9* pDev) { if (!bInit) { D3DXCreateFont(pDev, 15, 0, FW_BOLD, 0, FALSE, DEFAULT_CHARSET, OUT_TT_ONLY_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial", &m_pFont); bInit = true; } } void D9DW_Text::Release(void) { if (bInit) { bInit = false; m_pFont->Release(); m_pFont = NULL; } } void D9DW_Text::DrawText(int x, int y, UINT32 rgb_alpha, const char *s_text, va_list p_va) { if (!bInit) return; RECT rct; rct.left=x; rct.top=y; rct.right=rct.left+350; rct.bottom=rct.top+350; char logbuf[100] = {0}; memset(&logbuf[0], '\0', 100); _vsnprintf(logbuf, sizeof(logbuf), s_text, p_va); m_pFont->DrawTextA(NULL, logbuf, sizeof(logbuf), &rct, 0, rgb_alpha); }